Servlet

一、定义:

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隐含对象域统一。

原文地址:https://www.cnblogs.com/darren0415/p/6040483.html