com.sun.net.httpserver.HttpServer
类。首先创建一个HttpServer
实例,然后为每个URI路径添加一个处理程序,最后启动服务器监听特定端口。Java 提供了多种方式来搭建 HTTP 服务器,常见的有使用 Servlet、Spring Boot 等。
一、使用 Servlet 搭建简单 HTTP 服务器
1、环境准备
确保已安装 JDK。
选择一个合适的集成开发环境(IDE),如 IntelliJ IDEA 或 Eclipse。
2、创建项目
在 IDE 中创建一个新的 Web 项目。
3、添加依赖
如果使用 Maven 构建工具,在pom.xml
中添加以下依赖:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency>
4、编写 Servlet
创建一个类继承HttpServlet
并重写相关方法。
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; @WebServlet("/hello") public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.getWriter().write("<h1>Hello, World!</h1>"); } }
5、配置 Web 部署描述符(web.xml)
在WEB-INF
目录下创建web.xml
文件,进行 Servlet 映射配置:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="4.0"> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.example.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
6、部署和运行
将项目打成 WAR 包,部署到支持 Servlet 的服务器(如 Tomcat)上。
启动服务器,通过浏览器访问http://localhost:8080/项目名/hello
即可看到输出结果。
二、使用 Spring Boot 搭建 HTTP 服务器
1、环境准备
确保已安装 JDK。
选择一个合适的 IDE。
2、创建项目
可以使用 Spring Initializr(https://start.spring.io/)生成一个基本的 Spring Boot 项目,选择依赖Spring Web
。
3、编写控制器
创建一个类并使用@RestController
注解,定义请求处理方法。
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String sayHello() { return "Hello, World!"; } }
4、主应用程序类
确保有一个主类使用@SpringBootApplication
注解,作为应用程序的入口。
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
5、运行项目
直接在 IDE 中运行主类,或者使用命令行mvn spring-boot:run
。
通过浏览器访问http://localhost:8080/hello
即可看到输出结果。
方式 | 优点 | 缺点 |
Servlet | 经典方式,适用于传统 Java Web 应用开发。 | 配置相对繁琐,需要较多的手动配置。 |
Spring Boot | 简化了开发和配置,快速搭建项目。 | 对于简单的项目可能显得有些重量级。 |
FAQs
问题1:如何在 Java 中使用 Servlet 处理表单提交?
答:在 Servlet 中可以通过request.getParameter
方法获取表单提交的数据,对于一个提交用户名和密码的表单,可以在 Servlet 中这样处理:
String username = request.getParameter("username"); String password = request.getParameter("password");
然后根据获取到的数据进行相应的业务逻辑处理。
问题2:Spring Boot 中的@RestController和@Controller有什么区别?
答:@RestController
是@Controller
和@ResponseBody
的组合注解。@Controller
用于处理传统的基于 MVC 模式的请求,返回的是视图名称;而@RestController
则直接将方法的返回值作为 HTTP 响应体返回,通常用于构建 RESTful API。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1269566.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复