【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。后面可以慢慢来熟悉这些企业级生产框架的运用,但是前期学习的话,用最原生的、封装度最低的,是最好的。

相关推荐
孟秋与你几秒前
【spring】spring单例模式与锁对象作用域的分析
java·spring·单例模式
菜菜-plus4 分钟前
java 设计模式 模板方法模式
java·设计模式·模板方法模式
萨达大6 分钟前
23种设计模式-模板方法(Template Method)设计模式
java·c++·设计模式·软考·模板方法模式·软件设计师·行为型设计模式
tian-ming7 分钟前
(十八)JavaWeb后端开发案例——会话/yml/过滤器/拦截器
java·开发语言·前端
不能只会打代码10 分钟前
大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
java·github·intellij-idea·话题博客
快意咖啡~17 分钟前
java.nio.charset.MalformedInputException: Input length = 1
java·开发语言·nio
IT枫斗者44 分钟前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
爱编程的小生1 小时前
Easyexcel(4-模板文件)
java·excel
求积分不加C1 小时前
Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例
java·分布式·kafka·linq
2401_857636391 小时前
实验室管理平台:Spring Boot技术构建
java·spring boot·后端