JSP(Java Server Pages)是一种动态网页技术,它允许在HTML或XML文档中直接嵌入Java代码片段和表达式。通过JSP,开发者可以轻松地创建动态Web页面,并与数据库进行交互。
JSP主要分为以下几种类型:
JSP广泛应用于Web应用开发,特别是需要动态生成内容的场景,如电子商务网站、社交媒体平台、新闻发布系统等。
假设我们有一个简单的用户注册表单,需要将用户信息存入数据库。以下是一个简单的示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="registerProcess.jsp" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
邮箱:<input type="email" name="email"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册结果</title>
</head>
<body>
<h1>注册结果</h1>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/mydatabase";
String dbUsername = "root";
String dbPassword = "password";
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, dbUsername, dbPassword);
// 插入用户数据
String sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.setString(3, email);
pstmt.executeUpdate();
out.println("注册成功!");
} catch (ClassNotFoundException | SQLException e) {
out.println("注册失败:" + e.getMessage());
} finally {
// 关闭连接
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
</body>
</html>
原因:可能是数据库URL、用户名或密码错误,或者数据库服务未启动。
解决方法:
原因:可能是SQL语句拼写错误或格式不正确。
解决方法:
原因:可能是JDBC驱动未正确加载或未添加到项目中。
解决方法:
Class.forName("com.mysql.cj.jdbc.Driver")
加载驱动。领取专属 10元无门槛券
手把手带您无忧上云