Servlet的几个小点

package bull.web01_Servlet;
/**
 *   用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.
 *   任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.
 *   在service方法内部根据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).
 *   当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.
 */
import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class ServletDemo4 implements Servlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("ServletDemo4被创建了...");

    }

    @Override
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {
        System.out.println("ServletDemo4的Service被调用了...");

    }

    @Override
    public void destroy() {
        System.out.println("ServletDemo4的Servlet被销毁了...");

    }

    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }


}
package bull.web01_Servlet;
/**
 * Servlet默认是在第一次访问的时候创建的.现在让Servlet在服务器启动的时候创建好.进行对Servlet的配置:
 * 在web.xml中在<servlet></servlet>标签中配置:
 * <load-on-startup>2</load-on-startup>  --- 传入正整数,整数越小,被创建的优先级就越高.
 */
import java.io.IOException;
import java.io.PrintWriter;

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

public class ServletDemo5 extends HttpServlet {



    public void init() throws ServletException {
        System.out.println("ServletDemo5被创建了...");
    }

    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }

}

ServletConfig:

package bull.web01_Servlet;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo6 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletConfig servletConfig = this.getServletConfig();
        //获得Servlet在web.xml中配置的name的值.
        String ServletName = servletConfig.getServletName();
        System.out.println(ServletName);//ServletDemo6

        //获得web.xml中的Servlet的初始化参数的.
        String username = servletConfig.getInitParameter("username");
        String password = servletConfig.getInitParameter("password");
        System.out.println(username + "---" + password);//root---123

        //获得所有Servlet的初始化参数的名称.
        Enumeration<String> en = servletConfig.getInitParameterNames();
        while(en.hasMoreElements()) {
            //获得参数的name值
            String name = en.nextElement();
            //获得参数的value值
            String value = servletConfig.getInitParameter(name);
            System.out.println(name + "---" + value);
            //username---root
            //password---123
        }
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {


    }


    public void init() throws ServletException {
        // Put your code here
    }

}

ServletContext

(SercletContenxt用法见记录网站登录人次案例)
ServletContext的作用:
* 1.用来获得全局初始化参数.
* 2.用来获得文件的MIME的类型.
* 3.作为域对象存取数据.
ServletContext是一个域对象.
    * 作用范围:整个web工程.
    * 创建:服务器启动的时候,tomcat服务器为每个web项目创建一个单独ServletContext对象.
    * 销毁:服务器关闭的时候,或者项目从服务器中移除的时候.

* 4.用来读取web项目下的文件.

猜你喜欢

转载自blog.csdn.net/sinat_40662281/article/details/80358470