<% session.invalidate(); %> <jsp:forward page="login.jsp"></jsp:forward>
时间: 2023-12-13 10:05:06 浏览: 30
这段代码是一个 JSP 页面中的代码,作用是使当前用户的会话失效,并将用户重定向到登录页面。
具体来说,`session.invalidate()` 方法会使当前用户的会话无效,即使用户之前存储在会话中的数据也会被删除。然后,`<jsp:forward>` 标签用于将用户重定向到 `login.jsp` 页面。这意味着,用户将被要求重新登录系统。
相关问题
用 jsp中的application和session做个用户注册
以下是一个基本的用户注册示例,使用JSP中的application和session:
register.jsp:
```
<html>
<head>
<title>User Registration</title>
</head>
<body>
<h1>User Registration</h1>
<%
String errorMessage = (String) request.getAttribute("errorMessage");
if (errorMessage != null) {
out.println("<p style=\"color:red\">" + errorMessage + "</p>");
}
%>
<form method="post" action="register.do">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="Register">
</form>
</body>
</html>
```
register.do:
```
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
// Validate input
if (username == null || username.trim().length() == 0 ||
password == null || password.trim().length() == 0) {
request.setAttribute("errorMessage", "Please enter a username and password");
request.getRequestDispatcher("register.jsp").forward(request, response);
return;
}
// Check if username already exists
ServletContext application = getServletContext();
Map<String, String> users = (Map<String, String>) application.getAttribute("users");
if (users == null) {
users = new HashMap<String, String>();
application.setAttribute("users", users);
}
if (users.containsKey(username)) {
request.setAttribute("errorMessage", "Username already exists");
request.getRequestDispatcher("register.jsp").forward(request, response);
return;
}
// Add user to application scope
users.put(username, password);
// Add user to session scope
HttpSession session = request.getSession();
session.setAttribute("username", username);
response.sendRedirect("welcome.jsp");
%>
```
welcome.jsp:
```
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome <%= session.getAttribute("username") %></h1>
<p>You have successfully registered.</p>
<p><a href="logout.do">Logout</a></p>
</body>
</html>
```
logout.do:
```
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%
// Invalidate session
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
// Redirect to login page
response.sendRedirect("login.jsp");
%>
```
写几个jsp项目代码,不包含数据库
以下是几个 JSP 项目代码示例:
1. 简易留言板
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言板</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/submit.jsp" method="post">
<textarea name="content" placeholder="请输入留言内容"></textarea>
<br>
<input type="submit" value="提交">
</form>
<%-- 显示留言 --%>
<ul>
<% for (String message : (List<String>) request.getAttribute("messages")) { %>
<li><%= message %></li>
<% } %>
</ul>
</body>
</html>
```
submit.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- 处理提交 --%>
<%
String content = request.getParameter("content");
if (content != null && !content.isEmpty()) {
List<String> messages = (List<String>) request.getServletContext().getAttribute("messages");
messages.add(content);
}
response.sendRedirect(request.getContextPath() + "/index.jsp");
%>
```
2. 简易登录页面
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/login.jsp" method="post">
<input type="text" name="username" placeholder="请输入用户名">
<br>
<input type="password" name="password" placeholder="请输入密码">
<br>
<input type="submit" value="登录">
</form>
<%-- 显示错误信息 --%>
<% if (request.getAttribute("error") != null) { %>
<p style="color: red;"><%= request.getAttribute("error") %></p>
<% } %>
</body>
</html>
```
login.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- 处理登录 --%>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username != null && !username.isEmpty() && password != null && !password.isEmpty()) {
if (username.equals("admin") && password.equals("123456")) {
session.setAttribute("user", username);
response.sendRedirect(request.getContextPath() + "/welcome.jsp");
return;
}
}
request.setAttribute("error", "用户名或密码错误");
request.getRequestDispatcher("/index.jsp").forward(request, response);
%>
```
welcome.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎</title>
</head>
<body>
<h1>欢迎 <%= session.getAttribute("user") %> 登录</h1>
<a href="${pageContext.request.contextPath}/logout.jsp">退出</a>
</body>
</html>
```
logout.jsp:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- 处理退出 --%>
<%
session.invalidate();
response.sendRedirect(request.getContextPath() + "/index.jsp");
%>
```