一、定义:
Servlet运行在Web服务器端的Java应用程序,可以生成动态的Web页面,属于客户端和服务器响应的中间层。
二、作用:
1、Servlet属于JSP的底层,学习它有助于了解底层细节;
2、Servlet是一个Java类,适合纯编程,比将Java代码混合在HTML代码中要好,容易维护。
三、继承的类:
Servlet类需要继承HttpServlet
HttpServlet的父类是:GenericServlet
四、怎么配置Servlet,下面将介绍两种方式:
1、通过注解的方式
条件:Servlet版本3.0以上
a、查看Servlet版本,点开web.xml配置文件,然后查看Version是否是3.0
语法:
@WebServlet("url-pattern") //url-pattern:客户端提交时的URL
public class login extends HttpServlet
{
……
}
2、在web.xml中配置Servlet
<servlet> <servlet-name></servlet-name> //servlet的名称 <servlet-class></servlet-class> //servlet所在的类(类放在包里面时,必须加上包名) </servlet> <servlet-mapping> <servlet-name></servlet-name> //servlet的名称(必须和上面servlet的名称相同) <url-pattern></url-pattern> //客户端提交时的URL </servlet-mapping>
五、工作机制:
Servlet采用的是多线程机制,当多个用户访问时,也不会造成等待。每一次请求,系统就分配一个线程来运行doGet()或者doPost()方法。
六、Servlet处理请求的方式:
1、doGet() (a标签、form表单使用method="get")
2、doPost() (form表单使用method="post")
(注意:form表单没有设置method属性时,默认使用Get提交;当不知道提交方式的时候,我们可以使用service()方法,它会自动判断客户端是以什么方式提交。)
七、Servlet生命周期
八、使用的场合
1、处理请求、使用Dao
2、某些纯编程的场合
九、在Servlet中获取对象
request.getWriter().println("打印的内容"); HttpServletRequest request HttpServletResponse response request.getSession(false) this.getServletContext()
十、请求转发include
request.getrequestdispatcher("URL").include(request,response);
将目标页面的代码直接插入到Servlet中,能够实现将多个单功能的文件组合成为一个Servlet文件。
include能够使包含的页面同之前的request隐含对象域统一。