1、首先使用IDEA创建一个Java项目(基于maven,但不用任何maven模板)
比如,我们这里就叫myjavaweb
2、我们要自己写个Servlet,需要下载一个库:Java Servlet API
。
使用maven搞定
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
3、创建自己的Servlet
新建一个名为MyServlet.java
的文件,代码如下:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("Hello World");
}
}
我们上面代码可以看出,我们这个MyServlet
类继承自HttpServlet
,并且重写了doGet()
方法。
4、编译
直接使用IDE工具Build之后,会在生成一个名为target
的文件夹。这个文件夹之后会用到。
5、然后来到tomcat存放web项目的文件夹中(默认是webapps
),创建一个任意名称的文件夹(比如我这里的myjavaweb
),这个myjavaweb里需要一个固定名称的WEB-INF
文件夹。
6、把之前Build好的文件,放进去。
然后在单独给这个网站做配置,web.xml
可以为网站单独配置。
web.xml
也是放在WEB-INF
这个目录,内容如下:
<?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_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>zhangsan</servlet-name>
<servlet-class>com.mydev.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>zhangsan</servlet-name>
<url-pattern>*.abc</url-pattern>
</servlet-mapping>
</web-app>
从代码可以看出,我们配置了一个名为zhangsan的servlet,这个servlet映射我们自己的类com.mydev.MyServlet
;并且我们设置了url-pattern为*.abc
。
那么我们现在就可以这样访问了:http://localhost:8080/myjavaweb/1.abc
请求1.abc
就会经过我们之前写的MyServlet
类中的doGet()
方法来处理。
我们在这个方法里返回了Hello World
这个字符串,所以你在浏览器会看到。