javaWeb-Servlet 一时失言乱红尘 2024-03-24 15:03 84阅读 0赞 ## 一.什么是Servelt ## #### **A.定义**:**Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。** #### #### B.作用: #### **b1.Servlet就是一个接口, 定义了Java类被浏览器访问到(tomcat识别)的规则。** **b2.将来我们自定义一个类,实现Servlet接口,复写方法即可完成接收用户的请求,处理用户的请求,响应信息给客户端。** #### **C.实际上** #### **c1.在服务器端运行的Java程序,可以接收客户端的请求并做出响应** **Servlet可以动态生成HTML内容对客户端进行响应** #### D.**Servlet与JSP的关系** #### * **JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。** * **JSP更擅长表现于页面显示,servlet更擅长于逻辑控制。** ## 二.实现servlet的方式 ## **a.方式** **实现javax.servlet.Servlet接口;** **继承javax.servlet.GenericServlet类;** **继承javax.servlet.http.HttpServlet类;(重点)** ## 三.ervlet使用详解 ## public class HelloServlet implements Servlet { public LoginServlet1() {创建} public void destroy() {销毁} public ServletConfig getServletConfig() { return null; } public String getServletInfo() { return null; } public void init(ServletConfig arg0) {初始化} public void service(ServletRequest arg0, ServletResponse arg1) {处理请求} } * #### **给servlet配置servlet路径,需要在web.xml中对servlet进行配置。** #### <!-- 配置servlet(HelloServlet) --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.zking.HelloServlet</servlet-class> </servlet> <!-- 映射servlet(HelloServlet) --> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/请求路径</url-pattern> </servlet-mapping> **注意:但凡是改了web.xml文件的内容 务必记得重启服务器再运行!!!** ## **四.**Servlet3.0特性 ## **注解的方式进行配置Servlet,不用在web.xml中再进行配置。** * **好处:** * **支持注解配此。可以不要web. xml了。** * **步骤:** * **创建JavaEE项目, 选择Servlet的版本3.0以上,可以不创建web . xml** * **定义一个类,实现Servlet接口** * **复写方法** * **在类上使用@WebServlet注解,进行配说** * **@webServlet("资源路径")|** ## 五.Servlet的执行过程 ## **当使用url进行对Tomcat请求时,访问流程如下所示** 1. **先找到Tomcat** 2. **根据url中的名称找到具体的项目** 3. **找到项目下的web.xml,然后寻找url-pattern,看有没有哪个pattern对应url中的值** 4. **找到servlet-mapping中的servlet-name** 5. **找到前面注册的servlet-name** 6. **根据servlet-class中的值找到对应的Servlet类并创建实例** 7. **执行Servlet中的方法** ## 六.Servlet的生命周期 ## ### servlet由我们编写,但对象由服务器来创建,并且由服务器来调用相应的方法。 ### <!-- 向Tomcat注册Servlet servlet-name:Servlet的名称, servlet-class:具体的路径 --> <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>cn.liuwei.servlet.TestServlet</servlet-class> <!-- 设置Servlet的init方法提前执行 --> <load-on-startup>2</load-on-startup> </servlet> **注意:load-on-startup的值越小,提前执行的优先级越高。并且一般不设置为1,因为1是Tomcat的的Servlet的优先级** ## 七.继承javax.servlet.http.HttpServlet类 ## **HttpServlet是Servlet接口的一个实现类,并且它是一个抽象类,servlet.http包中定义了采用HTTP通信协议(一个无状态协议)的HttpServlet类。** **创建HttpServlet步骤** * **继承HttpServlet抽象类** * **重写HttpServlet的部分方法,如doGet()或doPost()方法** * **获取HTTP请求信息。通过HttpServletRequest对象来检索HTML表单所提交的数据或URL上的查询字符串** * **生成HTTP响应结果。通过HttpServletResponse对象生成响应结果** ## ##
还没有评论,来说两句吧...