【JAVA】-WEB开发基础
Java Web 开发是构建基于 Web 的应用程序的一种常见方式。我们今天来聊一聊Java Web开发的基础知识,让我们回到最原始和简单的方式。
1. 环境准备
1.1 安装 JDK
确保你已经安装了 Java Development Kit (JDK)。可以通过以下命令检查是否已安装:
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
中添加必要的依赖和插件。例如:
<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。
<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
文件。
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 {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<h1>Hello, World!</h1>");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}
3.3 创建 JSP 页面
在 src/main/webapp
目录下创建 index.jsp
文件。
<!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。后面可以慢慢来熟悉这些企业级生产框架的运用,但是前期学习的话,用最原生的、封装度最低的,是最好的。