【JAVA】-WEB开发基础

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 为例:

  1. 下载 Tomcat 从 Apache Tomcat 官网
  2. 解压下载的文件到指定目录。
  3. 配置环境变量 CATALINA_HOME 指向 Tomcat 的安装目录。

2. 创建 Maven 项目

Maven 是一个强大的项目管理工具,可以帮助你管理项目的依赖和构建过程。

2.1 创建 Maven 项目

在 IDE 中创建一个新的 Maven 项目:

  1. 打开 IntelliJ IDEA 或 Eclipse。
  2. 选择 "New Project" -> "Maven"。
  3. 填写 GroupIdArtifactId,例如:
    • GroupId: com.example
    • ArtifactId: my-web-app
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 服务器:

  1. 打开 IDE 的服务器配置。
  2. 添加新的 Tomcat 服务器,指向 CATALINA_HOME
  3. 配置项目部署路径。
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。后面可以慢慢来熟悉这些企业级生产框架的运用,但是前期学习的话,用最原生的、封装度最低的,是最好的。

相关推荐
Biehmltym1 分钟前
【SpringMVC】概述 SSM:Spring + SpringMVC + Mybats
java·后端·spring
qw9495 分钟前
SpringMVC
java·后端
茂桑10 分钟前
MVCC(多版本并发控制)
java·开发语言·数据库
customer0825 分钟前
【开源免费】基于SpringBoot+Vue.JS医疗报销系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
barcke34 分钟前
【深度解析】Java接入DeepSeek大模型:从零实现流式对话+多轮会话管理(完整项目实战) —— SpringBoot整合、API安全封装、性能优化全攻略
java·spring boot
zl9798991 小时前
MybatisPlus-注解
java·spring·maven
杰九1 小时前
【环境配置】maven,mysql,node.js,vue的快速配置与上手
java·vue.js·spring boot·mysql·node.js·maven
wapicn991 小时前
‌挖数据平台对接DeepSeek推出一键云端部署功能:API接口驱动金融、汽车等行业智能化升级
java·人工智能·python·金融·汽车·php
逸狼2 小时前
【JavaEE进阶】Spring DI
java·开发语言
yonuyeung2 小时前
代码随想录算法【Day54】
java·数据结构·算法