Servlet 形式的 HelloWorld

发布于 23 天前  0 次阅读


创建工程

  1. 构建一个 Maven 项目

  2. 创建完项目后,删掉里面的 src 目录

    这个空的工程就是 Maven 主工程。

  3. 在 pom.xml 文件中导入 Servlet-api 和 jsp-api(上 mvnrepository 里找)

    <dependency>
      <groupId>jakarta.servlet.jsp</groupId>
      <artifactId>jakarta.servlet.jsp-api</artifactId>
      <version>3.0.0</version>
      <scope>provided</scope>
    </dependency>
    
    <dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>5.0.0</version>
    <scope>provided</scope>
    </dependency>
    
  4. 在项目工程中新建 .\src 目录,会自动生成 src\main\javasrc\main\respurces 目录

    新建一个 src\main\webapp\WEB-INF 的目录,在该目录下新建 web.xml 文件,内容为

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    </web-app>
    

    src\main\webapp 目录下新建 index.jsp 文件

  5. sr\main\java 目录下新建一个包,新建一个 HelloSerlvet.class

    Serlvet 接口 Sun 公司有两个默认的实现类:HttpServletGenericServlet,只需继承这两个类即可

    也可以直接右键新建一个 Serlvet 类

  6. 开始编写 Servlet 程序

    @WebServlet(name = "Servlet", value = "/Servlet")
    public class Servlet extends HttpServlet {
       //由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样;
       @Override
       protected void doGet(HttpServletRequest req,
                            HttpServletResponse resp) throws ServletException, IOException {
    //ServletOutputStream outputStream =
           PrintWriter writer = resp.getWriter(); //响应流
           writer.print("Hello,Serlvet");
       }
       @Override
       protected void doPost(HttpServletRequest req,
                             HttpServletResponse resp) throws ServletException, IOException {
           doGet(req, resp);
       }
    }
    

    编写 Servlet 的映射

    为什么需要映射:我们写的是 Java 程序,但是要通过浏览器访问,而浏览器需要连接 Web服务器,
    所以我们需要在 Web 服务中注册我们写的 Servlet,还需给他一个浏览器能够访问的路径。

    <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>wiki.cwlrin.servlet.Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    

    配置 Tomcat

    ​ 之后部署部分就自动导入 war 了

  7. 然后运行即可


大变に气分がいい