一.准备工作
Intellij IDEA、JDK1.8及以上、Tomcat(版本自选,可在官网进行下载)、maven(启动基于maven构建)
二.流程
(1)构建一个普通的maven项目
(2) 删去src模流,该该maven工程作为主工程,方便之后创建各种类型的子工程
(3)在pom.xml文件中添加Servlet相关依赖(这里以JSP作为例子)
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
(4)主工程基本配置完成后,在该工程上创建新的maven子模块工程。创建方法:点击父工程,并右键new-module。maven工程选择webapp类型的。
之后可以看到,在父工程的pom.xml中多出了一个module模块标签
而在新建的子模块的pom.xml中继承了父工程的配置,有parent标签
(5)子模块添加Java目录和Resources资源目录,形成这样的工程结构
(6)在Java目录下自定义包,并在包下创建类
(7)让类变成Servlet相关的类,我们需要继承Servlet相关的一些接口,这里我们以继承HTTPServlet作为例子,并继承其中的doGet和doPost方
package com.zhan;
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 FirstServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入doGet方法");
PrintWriter writer = resp.getWriter();
writer.print("Hello,Servlet!");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
(8)配置web.xml文件
由于我们写的只是Java类,但要通过浏览器访问,即需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径,因此需要在web.xml中配置路径,请求地址映射。注册一个Servlet类,web.xml中就需要两个标签去映射表示,即<Servlet>与<Servlet-Mapping>,它们是成对出现的
下面我用“hello”作为浏览器映射请求的路径,其中在<servlet>标签下的<servlet-name>表示自定义的路径请求映射,<servlet-class>是对应的自定义Servlet类的位置;在<servlet-mapping>下的<servlet-name>与上面的<servlet-name>要求是对应的,<url-pattern>表示初始时默认访问的路径.
<!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>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.zhan.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
(9)配置Tomcat
上述工作准备就绪后,启动我们是需要借助Tomcat服务器来帮我们去到浏览器。因此我们需要准备好相关的Tomcat工具来启动
点击黄色涂抹区域的文本框:
点击“+”号:
选中Tomcat Server-Local,之后打开这样的界面
上述4个黄色涂抹的都是重要的配置选项,这边我已经下载并准备好了Tomcat 9.0.62,如果没有配置的,点击Configure进行相应配置
在devlopment中自定义一个war包
如果一切正常,那么就会这样显示:
点击启动按钮,之后会生成一个target目录
如果出现了上述的war包,则说明可以在浏览器中进行相应的地址访问了
下面这个是默认的访问路径,即对应工程结构中的index.jsp文件
访问我们自定义的Servlet类,在后面添加上刚刚在web.xml中对应的映射,即<Servlet-name>标签对应的名字即可,这边我自定义的是hello,因此我加hello路径,得到的结果如下:
成功对应了在刚刚自定义Servlet类中所需输出的内容。
完成以上,我们就启动了一次简单的Servlet程序,祝贺!