zoukankan      html  css  js  c++  java
  • Servlet(二)

    1、Servlet的API(生命周期)

    package com.xiaobing.servlet;
    
    import java.io.IOException;
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class StartServlet implements Servlet {
    
    	@Override
    	public void init(ServletConfig config) throws ServletException {
    		//init初始化参数方法,servlet创建的时候执行;ServletConfig代表该servlet的配置信息;
    		System.out.println("打印servlet的name:"+config.getServletName());
    		System.out.println("获取servlet初始化参数:"+config.getInitParameter("URL"));
    		ServletContext servletContext = config.getServletContext();
    		System.out.println("init running ......");
    	}
    	
    	@Override
    	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
    		//每次请求都会执行service方法
    		System.out.println("service running .......");
    		
    	}
    	
    	@Override
    	public void destroy() {
    		// 销毁,关闭tomcat的时候执行!	
    	}
    
    <<!--web.xml 配置信息-->
    xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <display-name>TomcatTest</display-name> <servlet>   <servlet-name>StartServlet</servlet-name>   <servlet-class>com.xiaobing.servlet.StartServlet</servlet-class>   <init-param> <param-name>URL</param-name> <param-value>www.baodu.com</param-value>   </init-param> </servlet> <servlet-mapping>   <servlet-name>StartServlet</servlet-name>   <url-pattern>/startServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>

    2、servlet 生命周期图示

    3、servlet 配置

    1)基本配置

    其中url-pattern的配置方式:
    1)完全匹配访问的资源与配置的资源完全相同才能访问到
        <url-pattern>/startServlet</url-pattern>
    2)目录匹配格式:虚拟目录.../*   *代表任意
        <url-pattern>/javaWeb/servlet/*</url-pattern>
    3)扩展名匹配,格式: *.扩张名
        <url-pattern>*.html</url-pattern>
    注意:第二种与第三种不要混用,否则会报错!如:<url-pattern>/javaWeb/servlet/*.html</url-pattern>

    2)服务器启动实例化 servlet 配置

      servlet 何时创建:默认第一次访问时创建:加上<load-on-startup>3</load-on-startup> servlet对象在服务器启动时就创建!

    <servlet>
          <servlet-name>StartServlet</servlet-name>
          <servlet-class>com.xiaobing.servlet.StartServlet</servlet-class>
          <init-param>
              <param-name>URL</param-name>
              <param-value>www.baodu.com</param-value>
          </init-param>
          <!-- 服务器在启动的时候就创建servlet对象!数字代表优先级,数字越小代表的优先级越高! -->
          <load-on-startup>3</load-on-startup>
      </servlet>

    3)缺省 Servlet 配置如:<url-pattern>/</url-pattern>

      当你访问的资源地址所有的servlet都不匹配时,缺省的servlet负责处理!web应用中所有资源的响应都是servlet负责,包括静态资源!

    4、扩展 servlet 模板配置

      (1)windows =》preferences =》templates

     

     

    package ${enclosing_package};
    
    import java.io.IOException;
    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("/quickStartServlet2")
    public class ${primary_type_name} extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.getWriter().write("xiaobing doGet running ......");
    
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    5、学习后总结,分享给需要的人,分享使我进步,分享使我快乐!

  • 相关阅读:
    C++链式队列基本操作
    C++链栈基本操作
    C++顺序栈基本操作
    C++链表基本操作
    C/C++/JAVA
    C++操作链表
    How Many Maos Does the Guanxi Worth
    Heavy Transportation
    Frogger
    Til the Cows Come Home(Dijkstra)
  • 原文地址:https://www.cnblogs.com/xiaozhaoboke/p/10268831.html
Copyright © 2011-2022 走看看