JavaWeb之Servlet入門(一)


1. Servlet介紹

        Servlet(Server Applet),全稱Java Servlet,是用Java編寫的服務器端程序。其主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。

2. 第一個Servlet程序

        1)  新建一個網站

        打開MyEclipse,菜單File—New—Web Project,在Project Name中輸入名稱,本例為MyServletWeb(讀者可自由命名,會影響到將來網站部署后的URL訪問地址),點擊Finish,完成新建。

        2)  新建一個Class實現Servlet接口

        菜單File—New—Class,包名com.servlet.action,類名HelloServlet,實現接口Servlet。

package com.servlet.action;

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 HelloServlet implements Servlet {
    @Override 
    public void destroy() {
        // TODO Auto-generated method stub
    }
    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }
    
    @Override  
    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
    }
    @Override  
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("I told tou Hello!");
    }
}

        其中:

          1. init方法:初始化Servlet,該方法只有在第一次訪問Servlet的時候被調用一次。

          2. destory方法:銷毀Servlet。

          3. service方法:訪問該Servlet所要處理的業務邏輯,req:從客戶端獲取的數據,res:向客戶端返回的數據。

       我們在service方法中添加System.out.println("I told tou Hello!"); 向控制台輸出一句話。

        3)在WebRoot----WEB-INF中新建web.xml文件(web.xml名字不能變),代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    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_3_0.xsd">
    <servlet>
        <!-- 名稱可以隨意更換,但是必須和<servlet-mapping>中<servlet-name>保持一致 -->
        <servlet-name>Hello</servlet-name>
        <!-- 對應的實現了servlet接口的類的全名 --> 
        <servlet-class>com.servlet.action.HelloServlet</servlet-class>        
    </servlet>
    <servlet-mapping>
        <!-- 名稱可以隨意更換,但是必須和<servlet>中<servlet-name>保持一致 -->
        <servlet-name>Hello</servlet-name>
        <!-- 要訪問的URL -->
        <url-pattern>/Hello</url-pattern>
    </servlet-mapping>
</web-app>

       4)將網站部署到tomcat服務器上,然后運行taomcat服務,啟動瀏覽器,在地址欄輸入:

             http://127.0.0.1:8080/MyServletWeb/Hello,可以看到在MyEclipse中的Console窗口已經打印了:

              I told tou Hello!

3. 解析

        當我們在地址欄中訪問http://127.0.0.1:8080/MyServletWeb/Hello的時候,tomcat服務器首先會查找在其WebApp目錄中的MyServletWeb文件夾,找到后訪問其WEB-INF/web.xml文件,查找<utl-pattern>等於/Hello的節點(因為我要訪問的是.../MyServlet/Hello),然后根據其對應的<servlet-name>節點的值(本例為Hello)找到相應的<servlet-class>(本例為com.servlet.action.HelloServlet),並執行其service方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM