Java Web項目--使用Servlet生成一個頁面


為了生成一個servlet對應的網頁。我們需要新建一個web.xml,其中將會放置servlet的相關信息。
web.xml文件放置在WebContent/WEB-INF/目錄下。(我們在Eclipe中新建一個Dynamic Web Project的時候一直點"next"的話會有提示"Generate web.xml deployment descriptor",勾選該選項會默認生成一個web.xml文件)。
我們需要配置兩對映射關系,一對是servlet名和他對應的servlet類的對應關系;另一對是servlet和他的對應的URL后綴的對應關系。這么一來我們就將一個servlet類和一個URL聯系到了一起。
我們在web.xml中加入元素servlet和servlet-mapping,如下:

<?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_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>WebProject</display-name>
  
  <servlet>
    <servlet-name>moonlit</servlet-name>
    <servlet-class>com.moonlit.MoonlitServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>moonlit</servlet-name>
    <url-pattern>/page2.do</url-pattern>
  </servlet-mapping>
  
</web-app>

可以看到servlet中moonlit這個servlet名對應的類名為com.moonlit.MoonlitServlet,但是這個類我們還沒有創建,所以我們現在需要創建這個類。
要創建這個類,我們首先需要創建一個包com.moonlit,然后在包com.moonlit中創建一個類MoonlitServlet。
Moonlit類作為一個servlet類需要繼承HttpServlet類,並且因為我們這里是需要這個setvlet類輸出一些我們想要的效果,所以還需要重寫這個類的doGet和doPost方法。
我們這里就要求這個servlet早對應的網頁上顯示出當前的日期相關的信息吧。
那么實現出來的MoonlitServlet類如下:

package com.moonlit;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

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

@SuppressWarnings("serial")
public class MoonlitServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.println("<html>" 
                    + "<head><title>page2</title></head>" 
                    + "<body>" + new Date() + "</body>"
                    + "</html>");
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}

重啟服務器,會看到/page2.do頁面顯示了當前的日期信息。


免責聲明!

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



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