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

扫描二维码关注公众号,回复: 4929709 查看本文章

 

 

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、学习后总结,分享给需要的人,分享使我进步,分享使我快乐!

猜你喜欢

转载自www.cnblogs.com/xiaozhaoboke/p/10268831.html
今日推荐