1. 程式人生 > >Servlet(一)

Servlet(一)

 一、Servlet簡介

  1、什麼是Servlet?

    Servlet 執行在伺服器端的java小程式,是sun公司提供一套規範,用來處理客戶端請求,響應給瀏覽器的動態資源,但Servlet的實質是java程式碼,通過java的API動態的向客戶端輸出內容!

  2、Servlet 快速入門

    實現步驟:

      1)建立類實現Servlet介面

      2)覆蓋尚未實現的方法

      3)在web.xml進行servlet的配置

    但在實際開發中,我們不會直接實現Servlet 介面,因為那樣需要覆蓋方法太多,我們一般建立類繼承 HTTPServlet

    實現步驟:

      1)建立類繼承HTTPServlet類;

      2)覆蓋doGet 和 doPost;

  3、設定 Web 伺服器:Tomcat

    在市場上有許多 Web 伺服器支援 Servlet。有些 Web 伺服器是免費下載的,Tomcat 就是其中的一個。Apache Tomcat 是一款 Java Servlet 和 JavaServer Pages 技術的開源軟體實現,可以作為測試 Servlet 的獨立伺服器,而且可以整合到 Apache Web 伺服器。

    1)從 http://tomcat.apache.org/ 上下載最新版本的 Tomcat。

 

    2)在 Windows 上,可以通過執行下面的命令來啟動 Tomcat:

 %CATALINA_HOME%\bin\startup.bat

 或者

根據自己解壓位置來寫\apache-tomcat-x.x.xx\bin\startup.bat

 

注:修改埠的方法;D:\apache-tomcat-9.0.0.M9\conf\server.xml

    3)在Eclipse中配置tomcat

 

 

 二、1)新建動態WEB工程

2)NEW => servlet

3)上程式碼:

package com.xiaobing.servlet;

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;

/**
 * Servlet implementation class QuickStartServlet
 */
@WebServlet("/QuickStartServlet")
public class QuickStartServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public QuickStartServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		System.out.println("QuickStartServlet running ......");
		response.getWriter().write("Welcome to the first servlet !!!");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

4)配置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>
  </servlet>
  <servlet-mapping>
  	<servlet-name>StartServlet</servlet-name>
  	<url-pattern>/startServlet</url-pattern>
  </servlet-mapping>
    <servlet>
    <!-- servlet-name 取名字保持一致 -->
  	<servlet-name>QuickStartServlet</servlet-name>
  	<!-- 類地址 -->
  	<servlet-class>com.xiaobing.servlet.QuickStartServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<!-- servlet-name 取名字保持一致 -->
  	<servlet-name>QuickStartServlet</servlet-name>
  	<!-- 訪問資源地址設定隨意 -->
  	<url-pattern>/quickStartServlet</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>

5)專案右鍵=》Run AS =》 Run on server

6)注意新手幾種容易的錯誤:

 web.xml 中注意大小寫<url-pattern>/QuickStartServlet</url-pattern>修改為<url-pattern>/quickStartServlet</url-pattern>

 web.xml 中注意路徑/的用法<url-pattern>quickStartServlet</url-pattern>修改為<url-pattern>/quickStartServlet</url-pattern>

 

 

寄語:學習後總結,親自實踐,分享給需要的同學!