Java Web 开发是构建基于 Web 的应用程序的一种常见方式。我们今天来聊一聊Java Web开发的基础知识,让我们回到最原始和简单的方式。
1. 环境准备
1.1 安装 JDK
确保你已经安装了 Java Development Kit (JDK)。可以通过以下命令检查是否已安装:
bash
java -version
如果没有安装,可以从 Oracle 官网或 OpenJDK 下载并安装。
1.2 安装 IDE
推荐使用 IntelliJ IDEA 或 Eclipse。这些 IDE 提供了丰富的功能,如代码补全、调试工具等。
1.3 安装 Web 服务器
常用的 Java Web 服务器有 Tomcat 和 Jetty。这里以 Tomcat 为例:
- 下载 Tomcat 从 Apache Tomcat 官网。
- 解压下载的文件到指定目录。
- 配置环境变量
CATALINA_HOME
指向 Tomcat 的安装目录。
2. 创建 Maven 项目
Maven 是一个强大的项目管理工具,可以帮助你管理项目的依赖和构建过程。
2.1 创建 Maven 项目
在 IDE 中创建一个新的 Maven 项目:
- 打开 IntelliJ IDEA 或 Eclipse。
- 选择 "New Project" -> "Maven"。
- 填写
GroupId
和ArtifactId
,例如:- GroupId:
com.example
- ArtifactId:
my-web-app
- GroupId:
2.2 配置 pom.xml
在 pom.xml
中添加必要的依赖和插件。例如:
xml
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-web-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>my-web-app</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
</plugin>
</plugins>
</build>
</project>
3. 创建 Web 应用
3.1 创建 web.xml
在 src/main/webapp/WEB-INF
目录下创建 web.xml
文件,配置 Servlet 和 JSP。
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">
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.example.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3.2 创建 Servlet
在 src/main/java/com/example/servlet
目录下创建 HelloServlet.java
文件。
java
package com.example.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello, World!</h1>");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
3.3 创建 JSP 页面
在 src/main/webapp
目录下创建 index.jsp
文件。
html
<!DOCTYPE html>
<html>
<head>
<title>My Web App</title>
</head>
<body>
<h1>Welcome to My Web App</h1>
<a href="hello">Say Hello</a>
</body>
</html>
4. 部署和运行
4.1 配置 Tomcat
在 IDE 中配置 Tomcat 服务器:
- 打开 IDE 的服务器配置。
- 添加新的 Tomcat 服务器,指向
CATALINA_HOME
。 - 配置项目部署路径。
4.2 启动 Tomcat
启动 Tomcat 服务器,访问 http://localhost:8080/my-web-app
查看应用。
5. 常见技术栈
5.1 Spring MVC
Spring MVC 是一个轻量级的 Web 框架,提供了丰富的功能,如依赖注入、事务管理等。
5.2 Hibernate
Hibernate 是一个对象关系映射(ORM)框架,用于将 Java 对象与数据库表进行映射。
5.3 Thymeleaf
Thymeleaf 是一个现代的服务器端 Java 模板引擎,用于渲染 HTML 内容。
6. 示例项目结构
my-web-app/
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── servlet/
│ │ │ └── HelloServlet.java
│ │ ├── resources/
│ │ └── webapp/
│ │ ├── WEB-INF/
│ │ │ └── web.xml
│ │ └── index.jsp
└── target/
7. 总结
通过以上步骤,我们就可以创建一个简单的 Java Web 应用。当然,现在的生产框架一般都集成了服务器内核,无需单独来部署服务器,比如Springboot。后面可以慢慢来熟悉这些企业级生产框架的运用,但是前期学习的话,用最原生的、封装度最低的,是最好的。