ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Servlet 学习笔记

2020-02-21 15:08:01  阅读:181  来源: 互联网

标签:21 ServletException Servlet 笔记 学习 println apache servlet throws


1.什么是servlet ?

servlet是java运行在服务器端的应用程序,本质是java 类库

2.servlet的作用是什么?

接收客户端的请求,处理请求,给出响应

3.如何创建servlet

1)继承HttpServlet 或者实现Servlet接口

2)

web.xml 配置Servlet映射:

<servlet>
<servlet-name>BookServlet</servlet-name>
<servlet-class>com.servlet.deno.BookServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>BookServlet</servlet-name>
<url-pattern>/servlet/BookServlet</url-pattern>
</servlet-mapping>

或者使用注解

@WebServlet(name="bookServlet",urlPatterns="/demo/book") 

4.Servlet的生命周期

以继承HttpServlet接口为例

1)实例化Servlet对象, 第一次请求的时候实例化,只会实例化一次(说明servlet是单例的,线程不安全的,成员变量的使用需要谨慎)

2)执行初始化init ,第一次请求的时候,只执行一次

3)当请求来临的时候,Service方法根据请求类型不同,分发请求doGet,doPost,doPut...

4) doGet,doPost处理请求,给出响应

5)销毁Servlet,容器关闭的时候,执行destory

 

 

package com.servlet.deno;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="bookServlet",urlPatterns="/demo/book")
public class BookServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public BookServlet() {
        System.out.println("-----------servlet instance----------------");
    }
    
    
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        
        System.out.println("----------service 分发请求---------");
        super.service(req, resp);
    }
    
    

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        System.out.println("******************************************");
        System.out.println("-----------------destory----------------");
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        System.out.println("-------------doGet----------------");
    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("----------------doPost------------------");
        doGet(request, response);
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        System.out.println("---------------servlet init---------------");
    }

}

控制台输出:

INFO: Deployment of web application directory D:\tomcat\apache-tomcat-7.0.72\webapps\Servlet has finished in 1,291 ms
二月 21, 2020 3:02:38 下午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8088"]
二月 21, 2020 3:02:38 下午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8089"]
二月 21, 2020 3:02:38 下午 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2435 ms
-----------servlet instance----------------
---------------servlet init---------------
----------service 分发请求---------
-------------doGet----------------
二月 21, 2020 3:02:47 下午 org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
二月 21, 2020 3:02:47 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8088"]
二月 21, 2020 3:02:47 下午 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8089"]
二月 21, 2020 3:02:47 下午 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
******************************************
-----------------destory----------------

标签:21,ServletException,Servlet,笔记,学习,println,apache,servlet,throws
来源: https://www.cnblogs.com/chenzhubing/p/12341387.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有