各位帅哥美女,编辑不易,动动发财小手,来个三连加关注,后续会有更加优秀的推文推出~
学完此环节便可以了解到基本的开发模式了,重点:servlet、请求,转发,重定向、Cookie,Session、监听器、过滤器(jsp太老了不用学了可以直接跳过,web里面有很多概念很抽象,了解即可,后面的框架会给你解释清的)
目录
JavaWeb 是使用 Java 技术进行 Web 开发的一种方式,它通过 Java 的强大功能和丰富的生态系统,为开发者提供了构建动态、交互性强的网络应用的工具。在这篇博客中,我们将探讨一些 JavaWeb 开发的基本概念和技术。
1. Servlet:JavaWeb 的基石
Servlet 是 JavaWeb 开发的基本构建块,它是一种在服务器端运行的 Java 程序,用于处理客户端请求并生成动态内容。以下是一个简单的 Servlet 示例:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class HelloWorldServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Hello World!</h2>");
out.println("</body></html>");
}
}
这个 Servlet 接收来自客户端的 HTTP GET 请求,并返回一个简单的 "Hello World!" 页面。
2. JSP:JavaServer Pages
JSP 是一种用于简化 Servlet 开发的技术,它允许在 HTML 中嵌入 Java 代码。以下是一个简单的 JSP 页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello JSP</title>
</head>
<body>
<h2>Hello <%= request.getParameter("name") %></h2>
</body>
</html>
这个 JSP 页面接收来自客户端的参数,并在页面上显示一个个性化的问候语。
3. Servlet 和 JSP 的结合
在实际的 JavaWeb 项目中,Servlet 和 JSP 通常一起使用。Servlet 用于处理业务逻辑,而 JSP 用于呈现页面。以下是一个简单的示例:
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
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);
}
}
在这个示例中,HelloServlet 接收来自客户端的请求,获取参数后将其存储在 request 中,然后转发给 hello.jsp 页面。
4. MVC 架构
MVC(Model-View-Controller)是一种常用于组织代码的设计模式。在 JavaWeb 中,Servlet 和 JSP 可以结合使用实现简单的 MVC 架构。以下是一个简单的示例:
// Model
public class User {
private String name;
// 省略其他属性和方法
}
// Controller
@WebServlet("/user")
public class UserController extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user = new User();
user.setName("John Doe");
request.setAttribute("user", user);
RequestDispatcher dispatcher = request.getRequestDispatcher("/user.jsp");
dispatcher.forward(request, response);
}
}
// View (user.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>User Profile</title>
</head>
<body>
<h2>User Profile</h2>
<p>Name: ${user.name}</p>
</body>
</html>
在这个示例中,UserController 获取 User 对象并将其存储在 request 中,然后转发给 user.jsp 页面进行显示。
5. 数据库连接:JDBC
在实际的 JavaWeb 开发中,连接数据库是一个常见的需求。Java 提供了 JDBC(Java Database Connectivity)来实现与数据库的连接。以下是一个简单的 JDBC 示例:
import java.sql.*;
public class DatabaseConnector {
public static Connection connect() throws SQLException {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
return DriverManager.getConnection(url, user, password);
}
public static void close(Connection connection, Statement statement, ResultSet resultSet) {
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
这个简单的 DatabaseConnector 类包含了连接数据库和关闭连接的方法。
6. 框架:Spring MVC
Spring MVC 是一个用于构建基于 Java 的企业级 Web 应用程序的框架,它通过提供一套强大的功能,简化了 JavaWeb 开发的复杂性。以下是一个简单的 Spring MVC 示例:
@Controller
public class HelloWorldController {
@RequestMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello Spring MVC");
return "hello";
}
}
在这个示例中,HelloWorldController 处理 "/hello" 请求,并将消息传递给视图 "hello"。
7. 前端技术:HTML、CSS、JavaScript
JavaWeb 开发不仅涉及到服务器端的代码,还需要前端技术来构建用户界面。HTML、CSS 和 JavaScript 是构建 Web 前端的基础。
以下是一个简单的HTML页面示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple HTML Page</title>
</head>
<body>
<h1>Hello HTML</h1>
<p>This is a simple HTML page.</p>
</body>
</html>
结语
这篇简短的博客涵盖了JavaWeb开发的一些基本概念和技术。从Servlet、JSP、MVC架构到数据库连接和前端技术,这些都是构建JavaWeb应用程序所需的基础知识。随着你深入学习和实践,你将能够构建更复杂、功能更强大的JavaWeb应用。希望这篇博客能为你提供一个良好的入门指南,激发你在JavaWeb领域的学习兴趣。