JAVA Web 开发

Java Web开发是基于Java语言的Web应用开发方式,主要用于构建动态网站和Web应用程序。以下是关于Java Web开发的一些基本代码示例和说明,涵盖从简单的Servlet到使用框架(如Spring Boot)的开发方式。

一、基于Servlet的Java Web开发

Servlet是Java Web开发的基础,它是一个运行在服务器端的Java程序,用于处理客户端的请求并返回响应。

1. 创建一个简单的Servlet

以下是一个简单的Servlet示例,用于处理HTTP请求并返回一个简单的HTML页面。

步骤 1:创建Servlet类

java复制

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;

public class HelloWorldServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().println("<html><body>");
        response.getWriter().println("<h1>Hello, World!</h1>");
        response.getWriter().println("</body></html>");
    }
}

步骤 2:配置Servlet(在web.xml中)

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>HelloWorldServlet</servlet-name>
        <servlet-class>HelloWorldServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

运行方式

  • 将项目打包为WAR文件并部署到Servlet容器(如Apache Tomcat)。

  • 访问http://localhost:8080/your-app-context/hello,即可看到"Hello, World!"的页面。

二、基于Spring Boot的Java Web开发

Spring Boot是一个基于Spring框架的快速开发框架,它简化了Spring应用的初始搭建以及开发过程。

1. 创建一个Spring Boot项目

可以通过Spring Initializr(https://start.spring.io/)快速生成一个Spring Boot项目,选择依赖项如"Spring Web"。

2. 创建一个Controller

以下是一个简单的Spring Boot Controller示例,用于处理HTTP请求并返回响应。

java复制

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {

    @GetMapping("/hello")
    public String hello() {
        return "<h1>Hello, World!</h1>";
    }
}
3. 配置应用

Spring Boot的默认配置文件是application.propertiesapplication.yml,通常放在src/main/resources目录下。例如:

properties复制

server.port=8080
4. 启动应用

在Spring Boot项目中,通常有一个主类,如Application.java,用于启动应用:

java复制

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

运行方式

  • 运行Application类的main方法。

  • 访问http://localhost:8080/hello,即可看到"Hello, World!"的页面。

三、使用JSP和JSTL

JSP(JavaServer Pages)是一种动态网页技术,用于生成HTML页面。JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,用于简化JSP开发。

1. 创建一个JSP页面

以下是一个简单的JSP页面示例,用于显示用户输入的数据。

hello.jsp

jsp复制

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello</title>
</head>
<body>
<h1>Hello, ${name}</h1>
</body>
</html>
2. 创建一个Servlet来处理请求并转发到JSP

java复制

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        request.setAttribute("name", name);
        RequestDispatcher dispatcher = request.getRequestDispatcher("/hello.jsp");
        dispatcher.forward(request, response);
    }
}

配置Servlet(在web.xml中)

xml复制

<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

运行方式

  • 访问http://localhost:8080/your-app-context/hello?name=Kimi,页面会显示"Hello, Kimi"。

四、使用Thymeleaf模板引擎

Thymeleaf是一个现代的模板引擎,用于生成HTML页面,支持HTML5语法。

1. 添加依赖(在pom.xml中)

xml复制

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2. 创建一个Thymeleaf模板

以下是一个简单的Thymeleaf模板示例,用于显示用户输入的数据。

hello.html

HTML复制

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello</title>
</head>
<body>
<h1 th:text="'Hello, ' + ${name}"></h1>
</body>
</html>
3. 创建一个Controller

java复制

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloWorldController {

    @GetMapping("/hello")
    public String hello(@RequestParam(name = "name", defaultValue = "Guest") String name, Model model) {
        model.addAttribute("name", name);
        return "hello";
    }
}

运行方式

  • 运行Spring Boot应用。

  • 访问http://localhost:8080/hello?name=Kimi,页面会显示"Hello, Kimi"。

总结

以上是Java Web开发的一些基本代码示例,涵盖了从传统的Servlet到现代的Spring Boot框架,以及模板引擎(如JSP和Thymeleaf)的使用。根据实际需求,可以选择合适的开发方式和技术栈。

相关推荐
咖啡の猫23 分钟前
Callable接口
java
小袁拒绝摆烂24 分钟前
mybatis辅助配置
java·开发语言·mybatis
fly spider2 小时前
JVM- 垃圾回收算法
java·jvm·算法·gc
苹果醋32 小时前
机器学习算法在网络安全中的实践
java·运维·spring boot·mysql·nginx
_Eden_2 小时前
Docker技术相关学习三
java·学习·docker
Future_yzx2 小时前
Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)
java·spring cloud·eureka
计算机-秋大田3 小时前
基于SpringBoot的农村电子商务系统的设计与实现(源码+SQL脚本+LW+部署讲解等)
java·spring boot·后端
大耳朵土土垚3 小时前
【Linux】线程池封装与介绍
java·linux·运维
2的n次方_4 小时前
Nacos 的介绍和使用
java·spring boot·spring cloud·微服务·云原生·nacos