Java Web学习笔记之---Servlet

Java Web学习笔记之---Servlet

(一)如何实现Servlet

1.实现javax.servlet.Servlet接口;

2.继承javax.servlet.GenericServlet类;

3.继承javax.servlet.http.HttpServlet类;

 

(二)Servlet的生命周期

 

(1)init()  方法:初始化

    只被调用一次,在创建servlet的时候被调用

(2)service()方法:处理客户端的请求

    执行实际任务的主要方法,在适当的时候调用doGet(),doPost(),doPut(),doDelete()等方法

(3)destroy()方法:销毁

   只被调用一次,在Servlet生命周期结束时被调用

(三)servlet配置

(1)在web.xml中配置路径和参数

 

(2)利用注解配置

@WebServlet("/LoginServlet")

(四)Java Web的四大域对象

(1)ServletContext

    1. 作用域:web应用期间

    2.一个应用中只创建一个ServletContext对象

    3. 方法:

         ServletContext application = this.getServletContext();

              application.setAttribute();    application.getAttribute();

              application.removeAttribute();

(2)Servletrequest

    1. 作用域:当前请求中

    2. 方法:

          request.setAttribute();    reuqest.getAttribute();

               request.removeAttribute();    request.getParameter();

(3)HttpSession

    1. 作用域:整个会话期间

    2. 服务器会为每一个会话创建一个Session对象,所以Session中的数据可供当前会话中所有Servlet共享

    3. 方法:

          HttpSession session = request.getSession();

          session.setAttribute();    session.getAttribute();

              session.removeAttribute();

(4)PageContext

    1. 作用域:页面执行期间

    2. 方法:

         

(五)jsp内置对象在Servlet中如何使用

 

(六)转发与重定向

   区别:

  1. 转发时地址栏不发生变化,重定向时地址栏发生变化
  2. 转发只向服务器发起一次请求,重定向向服务器发起两次请求
  3. 转发可以携带数据,重定向只能借助ServletContext

转发:request.setAttribute("count",co);

      request.getRequestDispatcher("count.jsp").forward(request,response);

      <%=request.getAttribute("count")%>

重定向:ServletContext s=this.getServletContext();

        s.setAttribute("count",co);

        response.sendRedirect("count.jsp");

        <%=application.getAttribute("count")%>

原文地址:https://www.cnblogs.com/dyddzhp/p/11233095.html