首页 > 技术文章 > IDEA运行我的第一个Servlet

cckong 2020-11-28 19:46 原文

其实这篇博客没什么好写的 但是因为一个小问题 找了六个小时

坑还是不得不踩的啊。。。

正题开始

一、环境准备(这是我的环境 每个人因人而异)

1.maven 3.6.1

2.jdk 14

3.tomcat9

二、开始建立父项目

建立父项目是为了 以后建立子Moudle不需要每次都引包

 

 

 

 

我们不会在父项目写程序 所以可以把父程序的src删除

 

 

 

 

 

 

 

 

 

 注意你的maven版本(如果你不使用idea自带的maven 要改成你自己那个) 

 

 在父项目的pom.xml导入servlet依赖

 

 

<dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <!-- servlet依赖的jar包start -->
        <!-- jsp依赖jar包start -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency>
    </dependencies>

子项目的web.xml太老了 要换成新版

 

 

<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"
         metadata-complete="true">



</web-app>

子项目的main里创建java文件 resource文件

 

 

 

 在java文件夹里建包和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;

//ctrl+o 选择doget和dopost
public class Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer=resp.getWriter();
        writer.print("hello servlet!");
    }

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

 

在子项目的web.xml里添加servlet的注册信息(需要把你的java程序 在服务器上注册 这样浏览器才能看到

 

 

   <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.kong.Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/servlet-last</url-pattern>
    </servlet-mapping>

 

 

 

配置tomcat9

 

 

 

 

 

 

 

 

 

 

 

 不显示artificial的刷新下maven

 

我这里默认进入的localhost:8080/servlet-01-war

想进入你的servlet代码的在部署tomcat的时候url和你的web.xml里那个<url-pattern>里的部署一样的就可以了

 

 

 

推荐阅读