标签:元素 封装 action 表示 conf 应该 实例化 方式 response
Servlet简介
Servlet是servlet为服务器端java代码,用来处理用户请求和响应
Servlet=Server+Applet,是一种服务器端的Java应用程序,只有当一个服务器端的程序使用了Servlet API的时候,这个服务端的程序才能称之为Servlet。
配置Servlet
方式一 修改web.xml(部署描述文件)
配置<servlet>元素
<servlet>
<servlet-name>myServlet3</servlet-name>
<servlet-class>demo.web.servlet.MyServlet3</servlet-class>
</servlet>
<servlet-name>:Servlet名称唯一
<servlet-class>:Servlet类所在路径
配置<servlet-mapping>元素
<servlet-mapping>
<servlet-name>myServlet3</servlet-name>
<url-pattern>/myServlet3</url-pattern>
</servlet-mapping>
<servlet-name>:与<servlet>的<servlet-name>设置相同
<url-pattern>:访问Servlet的URL
方式二 注解
在Servlet类上方添加 @WebServlet(name = "", urlPatterns = "") name名字随便取 url-pattern与jsp页面 form表单action值保持一致。
Servlet API
javax.servlet.Servlet接口 所有Java Servlet的基础接口类,规定了必须由Servlet具体类实现的方法集
javax.servlet.GenericServlet类 Servlet的通用版本,是一种与协议无关的Servlet
javax.servlet.http.HttpServlet类 在GenericServlet基础上扩展的基于Http协议的Servlet 常用
JSP与Servlet的关系
Servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容。
JSP本质上是Servlet的一种简易形式, JSP会被服务器处理成一个类似于Servlet的Java程序,可以简化页面内容的生成。
Servlet和JSP最主要的不同点在于,Servlet 的应用逻辑是在Java 文件中,并且完全从表示层中的HTML分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp 的文件(有人说,Servlet就是在Java中写HTML,而JSP就是在HTML中写Java代码,当然,这个说法还是很片面的)。
JSP侧重于视图,Servlet更侧重于控制逻辑,在MVC架构模式中,JSP适合充当视图(view)而Servlet适合充当控制器(controller)。
创建Servlet的三种方式
1.实现Servlet接口
2.继承GenericServlet类
3.继承HttpServlet类
Servlet中的主要方法
init():Servlet的初始化方法,仅仅会执行一次
service():处理请求和生成响应
destroy():在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次
ServletRequest
封装客户的请求信息
作用相当于JSP内置对象request
request.setAttribute("info",info);在请求中保存名称为info的属性,后面是值
request.getParameter("er");获取表单请求中传递的参数 (重定向,带?号)
request.getAttribute("info"); 获取名称为info的属性值。(转发)
request.removeAttribute("info");清除请求名称为info的属性
ServletResponse
创建响应信息,将处理结果返回给客户端
作用相当于JSP内置对象response
response.sendRedirect("/login.jsp?er="+info);
ServletConfig
包含了Servlet的初始化参数信息
servlet的生命周期
Servlet的生命周期包含了下面4个阶段:
1.加载和实例化
Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。
2.初始化
在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象。初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,
如建立数据库的连接,获取配置信息等。
3.请求处理
Servlet容器调用Servlet的service()方法对请求进行处理。要注意的是,在service()方法调用之前,init()方法必须成功执行。
4.服务终止
当容器检测到一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存
储设备中。
总结:
Servlet的作用
负责接收请求,调用相应Service方法,决定如何响应,本身不做业务逻辑
创建和部署Servlet(重点)
创建:继承自HttpServlet
部署:修改web.xml添加<servlet>、<servlet-mapping>
Servlet的好处
专人专职:JSP负责显示,Servlet负责控制
标签:元素 封装 action 表示 conf 应该 实例化 方式 response
原文地址:https://www.cnblogs.com/jiayiblog/p/10987612.html