碼迷,mamicode.com
首頁 > 其他好文 > 詳細

Servlet小練習

時間:2019-06-18 15:57:07      閱讀:25      評論:0      收藏:0      [點我收藏+]

標簽:nis   內容   end   val   初始   password   tor   min   優先   

1、servlet實例什么時候被創建?

  :服務器啟動時并未創建Servlet實例;當第一次訪問的時候,實例才被創建。

小練習:

public class ServletDemo2 implements Servlet {
    
    /**
     * Servlet實例被創建后,調用init方法進行初始化
     *     Servlet什么時候被創建呢?
     *         * 不是服務器一啟動時,實例被創建,第一次訪問的時候,實例才被創建。
     *     init方法調用幾次呢?
     *         * 只被調用一次。
     */
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init...");
    }
    
    /**
     * service調用幾次呢?
     *     * 有一次請求,調用一次service方法
     */
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {
        System.out.println("service...");
    }
    
    /**
     * Servlet實例什么時候被銷毀呢?
     *     * 服務器關閉,手動移除。
     *     destroy調用幾次呢?
     *     * 一次    
     */
    public void destroy() {
        System.out.println("destroy...");
    }
public ServletConfig getServletConfig() { return null; } public String getServletInfo() { return null; } }

注意:調用service()方法,Tomcat底層源碼最終還是調用doGet與doPost等方法

public class ServletDemo5 extends HttpServlet {
    
    /**
     * 默認的情況下第一次訪問的時候init被調用。
     * 
     */
    public void init() throws ServletException {
        System.out.println("init...");
        // 初始化數據庫的鏈接
        
    }
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 寫的內容
        // 獲取表單輸入的內容
        // 自己邏輯,通過名稱查詢數據庫,把張三的姓名查到了
        // 把張三返回瀏覽器,
        //向控制臺輸出結果
        System.out.println("doGet...");
        // 向頁面輸出內容
        response.getWriter().write("hello demo5...");
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request,response);
    }
    
}
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;

/**
 * ServletConfig對象
 * @author Administrator
 *
 */
public class ServletDemo6 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 測試ServletConfig對象的api
        // 先獲取ServletConfig對象
        ServletConfig config = getServletConfig();
        // 獲取配置文件中serlvet的名稱
        System.out.println("servlet的名稱:"+config.getServletName());
        
        // 獲取初始化的參數
        String username = config.getInitParameter("username");
        String password = config.getInitParameter("password");
        System.out.println(username+" : "+password);
        
        // 獲取初始化參數的名稱們
        Enumeration<String> e = config.getInitParameterNames();
    
        while(e.hasMoreElements()){
            String name = e.nextElement();
            String value = config.getInitParameter(name);
            System.out.println(name+" : "+value);
        }
        
    }

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

}

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    
    
    <!-- 配置全局初始化參數 -->
    <context-param>
        <param-name>encoding</param-name>
        <param-value>GBK</param-value>
    </context-param>
    
      
      <servlet>
          <servlet-name>ServletDemo2</servlet-name>
          <servlet-class>cn.itcast.servlet.ServletDemo2</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>ServletDemo2</servlet-name>
          <url-pattern>/demo2</url-pattern>
      </servlet-mapping>
      
      
  <!-- 使用模板生成的 -->
  <servlet>
    <servlet-name>ServletDemo5</servlet-name>
    <servlet-class>cn.itcast.servlet.ServletDemo5</servlet-class>
    <!-- 設置優先級 -->
    <load-on-startup>3</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletDemo5</servlet-name>
    <url-pattern>/demo5</url-pattern>
  </servlet-mapping>
  
  
  <!-- 演示初始化參數 -->
  <servlet>
    <servlet-name>ServletDemo6</servlet-name>
    <servlet-class>cn.itcast.servlet.ServletDemo6</servlet-class>
    <!-- 配置初始化參數 -->
    <init-param>
        <param-name>username</param-name>
        <param-value>root</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>123</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletDemo6</servlet-name>
    <url-pattern>/demo6</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
        
</web-app>

 

Servlet小練習

標簽:nis   內容   end   val   初始   password   tor   min   優先   

原文地址:https://www.cnblogs.com/zsj03180204/p/11045424.html

(0)
(0)
   
舉報
評論 一句話評論(0
0條  
登錄后才能評論!
? 2014 mamicode.com 版權所有 京ICP備13008772號-2
迷上了代碼!
25选5历史开奖结果百度