帮我写一个 基于 JSP技术的网站设计与实现 要求: 1、JSP页面(3-5张); 2、必须能与数据库交互; 3、完善的用户管理 要有代码
时间: 2024-03-01 07:51:45 浏览: 22
好的,下面是一个基于 JSP 技术的网站设计与实现的代码示例。为了简化代码,这里只展示了部分代码。
1. 登录页面
login.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form method="post" action="loginServlet">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
<br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
2. 注册页面
register.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form method="post" action="registerServlet">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br>
<input type="submit" value="Register">
</form>
</body>
</html>
```
3. 首页
index.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
<h1>Welcome to My Website</h1>
<% if (session.getAttribute("username") != null) { %>
<p>Hello, <%= session.getAttribute("username") %>!</p>
<a href="userInfo.jsp">View/Edit Your Information</a>
<% } else { %>
<a href="login.jsp">Login</a>
<a href="register.jsp">Register</a>
<% } %>
</body>
</html>
```
4. 用户信息页面
userInfo.jsp
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>User Information</title>
</head>
<body>
<h1>User Information</h1>
<form method="post" action="updateUserServlet">
<label for="username">Username:</label>
<input type="text" id="username" name="username" value="<%= session.getAttribute("username") %>" required>
<br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" value="<%= session.getAttribute("email") %>" required>
<br>
<input type="submit" value="Save">
</form>
</body>
</html>
```
5. 用户管理 Servlet
UserServlet.java
```java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
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 javax.servlet.http.HttpSession;
@WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
private static final String USER = "username";
private static final String PASS = "password";
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute("isAdmin") != null && (boolean) session.getAttribute("isAdmin")) {
List<User> users = getUsers();
request.setAttribute("users", users);
request.getRequestDispatcher("admin.jsp").forward(request, response);
} else {
response.sendRedirect("index.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
private List<User> getUsers() {
List<User> users = new ArrayList<User>();
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
String sql = "SELECT * FROM users";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while (rs.next()) {
User user = new User();
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setAdmin(rs.getBoolean("isAdmin"));
users.add(user);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return users;
}
}
```
总结
以上是一个基于 JSP 技术的网站设计与实现的代码示例,包括了登录、注册、用户信息、用户管理等功能。其中,登录和注册功能使用了 loginServlet 和 registerServlet,用户信息和用户管理功能使用了 updateUserServlet 和 userServlet。需要注意的是,这些 Servlet 的代码没有在上面给出,需要根据具体需求实现。