抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

摘要:本文介绍如何快速创建和运行一个简单的JavaWeb应用。

环境

Windows 10 企业版 LTSC 21H2
Java 1.8
Tomcat 8.5.50

1 项目结构

项目结构如下:

code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
demo-servlet
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── servlet/
│ │ │ └── DemoServlet.java
│ │ ├── resources/
│ │ └── webapp
│ │ ├── error
│ │ │ ├── 404.jsp
│ │ │ └── 500.jsp
│ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ └── index.jsp
│ └── test/
└── pom.xml

2 配置依赖

配置Maven依赖:

pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>demo-servlet</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>

<dependencies>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

3 配置文件

创建配置文件:

web.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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">
<!-- 全局参数 -->
<context-param>
<param-name>contextParam</param-name>
<param-value>全局参数</param-value>
</context-param>

<!-- 欢迎页 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- 错误页面 -->
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>

<!-- 配置Servlet组件 -->
<servlet>
<servlet-name>DemoServlet</servlet-name>
<servlet-class>com.example.servlet.DemoServlet</servlet-class>
<!-- 局部参数 -->
<init-param>
<param-name>initParam</param-name>
<param-value>局部参数</param-value>
</init-param>
<!-- 加载顺序 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DemoServlet</servlet-name>
<url-pattern>/demo</url-pattern>
</servlet-mapping>
</web-app>

4 后端代码

创建Servlet代码:

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class DemoServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
// 获取全局参数
System.out.println("contextParam: " + getServletContext().getInitParameter("contextParam"));
// 获取局部参数
System.out.println("initParam: " + getServletConfig().getInitParameter("initParam"));
// 获取请求参数
System.out.println("username: " + req.getParameter("username"));
// 解决中文乱码
res.setContentType("text/html;charset=UTF-8");
// 输出到浏览器
PrintWriter out = res.getWriter();
out.write(req.getParameter("username"));
out.flush();
out.close();
}
}

5 前端代码

创建JSP代码:

index.jsp
1
2
3
4
5
6
7
8
9
10
11
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<a href="demo?username=lisi">请求接口</a>
</body>
</html>

6 部署运行

配置Tomcat服务器并设置VM参数:

code
1
-Dfile.encoding=UTF-8

启动服务器。

评论