• 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页面显示了当前的日期信息。

  • 相关阅读:
    [golang]golang signal.Notify 信号,如何优雅的退出
    解密
    [财务][数据化分析][帆软]报表设计-数据分析(op=view)
    [财务][数据化分析][帆软]报表设计-填报预览
    [财务][数据化分析][帆软]如何量化你的用户价值?RFM模型综合实战
    [数据分析][RFM模型]用数据分析用户
    [帆软][内网穿透][LanProxy]蛋疼的网络架构探讨
    [财务][数据化分析][帆软]报表设计-分页预览
    [财务][数据化分析][帆软]报表设计-模板预览
    [财务][数据化分析][帆软]报表设计-聚合报表设计
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5592109.html
Copyright © 2020-2023  润新知