当前位置: 首页 > news >正文

整站seo哪家服务好网站开发大体流程图

整站seo哪家服务好,网站开发大体流程图,江苏河海建设有限公司官方网站,天津建设网工程信息网创建项目 新建项目 Java Enterprise JDK1.8 Web Application Tomcat JAVA 默认 过程需要联网 Maven的配置 IDEA内置Maven 修改本地仓库位置#xff0c;因为以后会越来越大 替换配置文件#xff1a; 阿里云镜像下载 Servlet基础 1.动态Web资源开发 2.Servlet是使用J…创建项目 新建项目 Java Enterprise JDK1.8 Web Application Tomcat JAVA 默认 过程需要联网 Maven的配置 IDEA内置Maven 修改本地仓库位置因为以后会越来越大 替换配置文件 阿里云镜像下载 Servlet基础 1.动态Web资源开发 2.Servlet是使用Java语言编写的运行在服务器端的程序Servlet由Servlet容器提供所谓的Servlet容器是指提供了Servlet 功能的服务器本书中指TomcatServlet容器将Servlet动态的加载到服务器上。 3.Servlet是指任何实现了这个Servlet接口的类Servlet主要用于处理客户端传来的HTTP请求并返回一个响应它能够处理的请求有doGet()和doPost()等方法。 请求静态资源图片文档等读出来后直接返回响应 请求Servlet Servlet的请求首先会被HTTP服务器接收HTTP服务器只负责静态HTML页面的解析对于Servlet的请求转交给Servlet容器Servlet容器会根据web.xml文件中的映射关系调用相应的ServletServlet将处理的结果返回给Servlet容器并通过HTTP服务器将响应传输给客户端。 Servlet容器:一段内存空间 Servlet技术特点 Servlet技术具有如下特点 1.方便Servlet提供了大量的实用工具例程如处理很难完成的HTML表单数据、读取和设置HTTP头以及处理Cookie和跟踪会话等。 2.跨平台Servlet用Java类编写可以在不同操作系统平台和不同应用服务器平台下运行。 3.灵活性和可扩展性采用Servlet开发的Web应用程序由于Java类的继承性及构造函数等特点使得应用灵活可随意扩展。 4.除了上述几点外Servlet还具有功能强大、能够在各个程序之间共享数据、安全性强等特点。 抽象类与接口 抽象类与接口抽象类只能单继承接口可以多继承。 相同点 1都不能被实例化 2接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能实例化。 不同点 1接口只有定义不能有方法的实现java 1.8中可以定义default方法体而抽象类可以有定义与实现方法可在抽象类中实现。 2实现接口的关键字为implements继承抽象类的关键字为extends。一个类可以实现多个接口但一个类只能继承一个抽象类。所以使用接口可以间接地实现多重继承。 3接口强调特定功能的实现而抽象类强调所属关系。 4接口成员变量默认为public static final必须赋初值不能被修改其所有的成员方法都是public、abstract的。抽象类中成员变量默认default可在子类中被重新定义也可被重新赋值抽象方法被abstract修饰不能被private、static、synchronized和native等修饰必须以分号结尾不带花括号。 Servlet抽象方法 SUN公司提供了一系列接口和类其中最重要的接口是javax.servlet.Servlet。在Servlet接口中定义了5个抽象方法 1.servlet生命周期由servlet容器自动调用所以返回值为void init(),service(),destory() 2.servletCofig():一个servlet类对应一个servlet实例有一个servletCofig(),所以每个servletCofig()都不同 3.void service():servletRequest请求对象serveltResponse()请求响应 其中init()、service()和destroy()这三个方法可以表现Servlet的生命周期它们会在某个特定的时刻被调用。另外getServletInfo()方法用于返回Servlet的相关信息。getServletConfig()方法用于返回ServletConfig对象该对象包含Servlet的初始化信息。需要注意的是表中提及的Servlet容器指的是Web服务器。 service被具体化为其他不同需要的调用方法如GenericServletHttpServlet servlet接口实现类 针对Servlet的接口SUN公司提供了两个默认的接口实现类GenericServlet和HttpServlet。 GenericServlet是一个抽象类该类为Servlet接口提供了部分实现它并没有实现HTTP请求处理。 HttpServlet是GenericServlet的子类它继承了GenericServlet的所有方法并且为HTTP请求中的POST、GET等类型【总共8种常用两种】提供了具体的操作方法。【编程直接使用! !】 HttpServlet的常用方法及其说明如下表所示 HttpServlet示例 IDEA中创建Servlet 1.新建servlet: new-servlet 2. 虚拟地址映射java servlet–》URL 1)基于注解的方式 2)使用webapp-WEB-INF-web.xml中配置,[xml文件方式] 注意使用新建servlet的方式会在web.xml中创建servlet 3.写好之后启动Tomcat http://localhost:端口号/当前工程根路径/ http://localhost:8082/WebServletProject_war_exploded/ 要访问的具体servlet http://localhost:8082/WebServletProject_war_exploded/servlet_1 http://localhost:端口号/当前工程根路径/value的值 修改样式后要重启Tomcat 报错servlet不能映射为一个url模式 Caused by: java.lang.IllegalArgumentException: 名为 [servlet_2]和 [Servlet_1] 的servlet不能映射为一个url模式(url-pattern) [/servle] 注意注解配置的value和web.xml中的配置 启动程序时自动加载Servlet程序 适用于数据库servlet加载 web.xml代码 servlet请求的分发处理-get()和post() get_post.html: !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body !--get方法-- form actionhttp://localhost:8082/WebServletProject_war_exploded/servlet_2 methodgetinput typesubmit /form !--post方法-- form actionhttp://localhost:8082/WebServletProject_war_exploded/servlet_2 methodpostinput typesubmit /form /body /htmlServlet_2.java: Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(3.访问);//类型转换使用ServletRequest 子类 HttpServletRequest的getMethod()方法HttpServletRequest httpServletRequest (HttpServletRequest) servletRequest;//获取请求的方式GET POSTString method httpServletRequest.getMethod();//打印System.out.println(method);if (method.equals(GET)) {System.out.println(get方式);} else if (method.equals(POST)) {System.out.println(post方式);}} 使用 通过继承HttpServlet实现Servlet程序 案例 package nsu.edu.cn.WebServletProject;import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException;// value /servlet_1[类名首字母小写]--URL路径 // name不重要,可以省略value【默认】如WebServlet(/servlet_1) WebServlet(name Servlet_1, value /servlet_1) //响应实体内容-展示在客户端所有的响应使用HttpServletResponse response //获取用户请求--HttpServletRequest request public class Servlet_1 extends HttpServlet {//用户敲回车--是get方式Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//输出一个字符串//response.getWriter().write(hello world!);// html5标签response.getWriter().write(h2hello world!!!!!!!/h2);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//调用dogGet,在post时也输出字符串doGet(request, response);} } //虚拟地址映射java servlet--》URL //1.基于注解的方式 //2.使用webapp-WEB-INF-web.xml中配置 Servlet常见错误 Servlet-url定位servlet程序访问 servlet生命周期 将Servlet的生命周期分为三个阶段分别是初始化阶段、运行阶段和销毁阶段。 第一次访问才会创建实例和初始化【34】 如果不是第一次访问则没有34步骤 ServletConfig使用1 public class Servlet_2 implements Servlet {public Servlet_2() {System.out.println(1.构造器);}Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println(2.初始化);}Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(3.访问);}Overridepublic void destroy() {System.out.println(4.销毁);} 在Tomcat运行时可以把工程移除但服务器没关闭工程一直在容器中 1.初始化阶段 当客户端向Servlet容器发出HTTP请求要求访问Servlet时Servlet容器首先会解析请求检查内存中是否已经有了该Servlet对象如果有直接使用该Servlet对象如果没有就创建Servlet实例对象然后通过调用init()方法实现Servlet的初始化工作。需要注意的是在Servlet的整个生命周期内它的init()方法只被调用一次。 2.运行阶段 这是Servlet生命周期中最重要的阶段在这个阶段Servlet容器会为这个请求创建代表HTTP请求的ServletRequest对象和代表HTTP响应的ServletResponse对象然后将它们作为参数传递给Servlet的service()方法。service()方法从ServletRequest对象中获得客户请求信息并处理该请求通过ServletResponse对象生成响应结果。在Servlet的整个生命周期内对于Servlet的每一次访问请求Servlet容器都会调用一次Servlet的service()方法并且创建新的ServletRequest和ServletResponse对象也就是说service()方法在Servlet的整个生命周期中会被调用多次。 3.销毁阶段 当服务器关闭或web应用被移除出容器时Servlet随着web应用的销毁而销毁。在销毁Servlet之前Servlet容器会调用Servlet的destroy()方法以便让Servlet对象释放它所占用的资源。在Servlet的整个生命周期中destroy()方法也只被调用一次。需要注意的是Servlet对象一旦创建就会驻留在内存中等待客户端的访问直到服务器关闭或web应用被移除出容器时Servlet对象才会销毁。 Servlet类的继承体系 ServletConfig类的使用 在Servlet运行期间经常需要一些辅助信息例如文件使用的编码、使用Servlet程序的共享等这些信息可以在web.xml文件中使用一个或多个init-param元素进行配置。 当Tomcat初始化一个Servlet时会将该Servlet的配置信息封装到一个ServletConfig对象中通过调用init(ServletConfig config)方法将ServletConfig对象传递给Servlet。 ServletConfig类的方法 web.xml代码 java代码 Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println(2.初始化);//1.获取servlet程序的别名servlet-name的值: servlet-nameservlet_1/servlet-nameSystem.out.println(别名servletConfig.getServletName()); //2.获取初始化参数init-param init-param中的参数名和参数值System.out.println(参数servletConfig.getInitParameter(username));System.out.println(参数servletConfig.getInitParameter(userport));System.out.println(参数servletConfig.getInitParameterNames());//3.获取servletContext对象System.out.println(对象servletConfig.getServletContext());}ServletConfig使用2 重写了init()方法一定要调用super.init(config),调用父类的init()方法 ServletContext类的使用 介绍 当Servlet容器启动时会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用该对象不仅封装了当前Web应用的所有信息而且实现了多个Servlet之间数据的共享。 操作范围整个web工程 作用 存取数据先存入否则为null; 1.获取Web应用程序的初始化参数 在web.xml文件中不仅可以配置Servlet的初始化信息还可以配置整个Web应用的初始化信息。 context-param元素位于根元素中它的子元素param-name和param-value分别用来指定参数的名字和参数值。 要想获取这些参数信息可以使用ServletContext接口该接口中定义的getInitParameterNames()getInitParameter(String name)方法分别用来获取参数名和参数值。 2.实现多个Servlet对象共享数据 由于一个Web应用中的所有Servlet共享同一个ServletContext对象因此ServletContext对象的域属性可以被该Web应用中的所有Servlet访问。 在ServletContext接口中定义了分别用于增加、删除、设置ServletContext域属性的四个方法 3.读取Web应用下的资源文件 在实际开发中有时候可能会需要读取Web应用中的一些资源文件比如配置文件图片等。 为此在ServletContext接口中定义了一些读取Web资源的方法这些方法是依靠Servlet容器来实现的。 Servlet容器根据资源文件相对于Web应用的路径返回关联资源文件的IO流、资源文件在文件系统的绝对路径等。 示例 web.xml !--SerletContext的上下文参数属于整个工程,可以配置多组--context-paramparam-namename/param-nameparam-valuedq/param-value/context-paramcontext-paramparam-nameage/param-nameparam-value20/param-value/context-param!--不同的url映射在同一个xml上--Servlet_3.java public class Servlet_3 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.获取web.xml中配置的上下文参数//获取上下文对象//写法2 getServletConfig().getServletContext();ServletContext servletContext getServletContext();//获取上下文参数String name servletContext.getInitParameter(name);String age servletContext.getInitParameter(age);System.out.println(context:name name age age);//2.获取当前的工程名路径/工程路径System.out.println(当前工程路径servletContext.getContextPath());//3.获取工程部署后在服务器硬盘上的绝对路径/*/被服务器解析地址为http://ip:port/工程名/映射到IDEA代码的web目录* */System.out.println(工程部署的路径:servletContext.getRealPath(/));System.out.println(工程下css目录的绝对路径servletContext.getRealPath(/css));System.out.println(工程下jsp1目录的绝对路径servletContext.getRealPath(/jsp/jsp1.js));// context:namedq age20 // 当前工程路径/WebServletProject_war_exploded // 工程部署的路径:D:\CodeProject\JavaWeb_DQ\WebServletProject\target\WebServletProject-1.0-SNAPSHOT\ // 工程下css目录的绝对路径D:\CodeProject\JavaWeb_DQ\WebServletProject\target\WebServletProject-1.0-SNAPSHOT\css // 工程下jsp1目录的绝对路径D:\CodeProject\JavaWeb_DQ\WebServletProject\target\WebServletProject-1.0-SNAPSHOT\jsp\jsp1.js//4.像Map一样存取数据servletContext.setAttribute(key1,v1);servletContext.setAttribute(key2,u);//唯一的上下文对象System.out.println(servletContext);System.out.println(v1servletContext.getAttribute(key1));System.out.println(v2servletContext.getAttribute(key2));}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} } Servlet_4.java public class Servlet_4 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//所有工程类都可以获取Context的存取数据ServletContext contextgetServletContext();//唯一的上下文对象System.out.println(context);System.out.println(v1context.getAttribute(key1));System.out.println(v2context.getAttribute(key2));}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} }ServletContext读取配置文件类中信息properties 新建my.properties 写入内容 ReadProperties .java代码 public class ReadProperties extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置服务器与客户端的字符集为UTF-8response.setContentType(text/html; charsetUTF-8);ServletContext context getServletContext();//获取my.properties资源的真实路径//HTTP状态 500 - 内部服务器错误:路径/my.propertiesString RealPath context.getRealPath(/WEB-INF/classes/my.properties);//字符输入流,读取my.properties资源FileReader fileReader new FileReader(RealPath);//初始化配置文件类Properties properties new Properties();//加载my.properties文件properties.load(fileReader);//properties.getProperty(name)获取my.properties资源中的信息通过键值对方式String print name properties.getProperty(name) address properties.getProperty(address) age properties.getProperty(age);response.getWriter().write(print);}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} } 使用的地址 String RealPath context.getRealPath(/WEB-INF/classes/my.properties);浏览器中 HTTP协议 介绍 请求的HTTP协议格式 1GET请求 【】表示可选 GET请求的HTTP协议内容 2POST请求 POST请求的HTTP协议内容 HTTP常用请求头说明 HTTP的GET与POST请求 响应的HTTP协议格式 常见的响应码 MIME类型说明 RTF文本 浏览器中查看HTTP协议 谷歌 检查-网络-Headers MricoSoft Edge浏览器 检查-网络-全部-标头 IE浏览器 在IE浏览器-查看源-网络
http://www.sadfv.cn/news/242146/

相关文章:

  • 教育培训手机网站模板下载义乌产品设计公司
  • 阜阳市住房和城乡建设部网站怎么做谷歌seo
  • wordpress手机ui东莞seo网站推广建设
  • 什么网站做调查能赚钱吗学校教育网站模板
  • 怎么建设网站怎么样如何做网站内部优化
  • 上海创意型网站建设网站建设制作 南京公司
  • 做网站 徐州wordpress 合法评论
  • 使用php做的学校网站退役厅门户网站建设中标公告
  • 做网站开发要安装哪些软件网站 建设 步骤是
  • 管理网站 开发html企业网站模板免费下载
  • 网站建设公司一般几个人杭州网站建设价格
  • 怎么建立一个网站广告h5海报是怎么做出来的
  • 关于设计网站西安做网站公司必达
  • 用百度地图 做gis网站广告设计与制作培训机构
  • 哈尔滨服务好的建站方案昆明短视频制作公司
  • 宿州网站建设多少钱12380举报网站建设经验
  • 怎样设立网站顶呱呱做网站
  • 微网站建设制作设计兴化网站网站建设
  • 沈阳大型网站建设上海微网站制作建设
  • 上海十大it外包公司搜索引擎优化哪些方面
  • 做国外网站调查挣取零花钱怎么做网站内部搜索功能
  • 惠州 网站建设杭州网站制作工作室
  • 精品课程网站建设 碧辉腾乐wordpress主题插件免费下载
  • 网站开发项目提成制作ppt的步骤
  • 拨号地址怎么做网站wordpress缓存怎么清理
  • 用jsp源码做网站上海网站制作方法
  • 住房城乡建设局网站首页点点网 wordpress
  • 网站有标题网站怎么做友情连接
  • 做网站的边框wordpress 404模板
  • 学网站开发网页制作安装百度到桌面