第一个Servlet程序

HelloServlet

1、构建一个普通的Maven项目

删掉里面的src目录,以后的项目可以在这个项目里面建立Moudel;这个空的工程就是Maven主工程。

​ 注意:也可以直接就利用外面大的Maven项目来写,但不利于项目结构化,还有之后如果还需要建立Maven的话,需要全部重新建 立项目并且导入jar包,不如主次(父子)工程来得方便。

image

image

image

image

image

image

image

image

2、关于Maven父子工程的理解:

​ 父项目中会有

    <modules>
        <module>servlet-01</module>
    </modules>

​ 子项目中会有(如果用的比较新的IDEA,可能子项目中没有这个,可以手动添加,而且必须要添加,否则不能用父项目的依赖)

image

  <parent>
      <artifactId>javaWeb</artifactId><!--父项目名字-->
      <groupId>org.example</groupId><!--工程组id(刚创建项目时有)-->
      <version>1.0-SNAPSHOT</version><!--版本,可自动生成-->
  </parent>

​ 父项目中的jar包子项目能直接使用(好处1)

​ Maven项目所需的同样的jar包就只需要在父项目中导入一次(好处2)

例如:

		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<!--servlet jar包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
		<!--jsp jar包 -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
		<!--mysql jar包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>

3、Maven环境优化

1、修改web.xml为最新的(可直接复制粘贴)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

2、将Maven的结构搭建完整

(1)在main目录下面新建java和resources文件夹

image

(2)分别标注文件夹

image

4、编写一个Servlet程序

(1)建立相应的文件,编写测试代码

image

package com.test.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloServlet extends HttpServlet {
    //由于get或者post只是请求实现的不同方式,可以互相调用,业务逻辑都一样
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();//响应流
        writer.print("Hello Servlet");//前端输出
        System.out.println("Hello World");//后端输出
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

(2)建立映射,在web.xml中添加相应代码

image

  <!--注册Servlet-->
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.test.servlet.HelloServlet</servlet-class>
  </servlet>
  <!--Servlet请求路径-->
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

5、配置Tomcat

image

image

image

image

image

image

6、运行测试

image

image

image

posted @ 2021-08-14 11:58  ~逍遥子~  阅读(72)  评论(0编辑  收藏  举报