同路径下的login.jsp、admin.jsp以及user.jsp的主要代码分别如下,运行login.jsp后的输出结果为( )。 login.jsp代码:<% String role="管理员”;String username="admin”; request.setAttribute("username", username) ;if(role.equals(“管理员")){ request.getRequestDispatcher ("admin.jsp").forward(request, response) ;}else { request.getRequestDispatcher ("user.jsp").forward(request,response); %> admin. jsp代码:管理员页面 <%=request.g etAttribute ("username")%>user.jsp代码: 普通用户页面 <%=request.getAttribute ("username")%> (选择—项) OA:管理员页面admin B:普通用户页面admin Oc:管理员页面null D:普通用户页面null
时间: 2024-02-01 19:12:57 浏览: 27
选项C:管理员页面null
由于在login.jsp中设置了role为"管理员",所以进入if语句,将username设置为"admin"并传递给request对象的属性中,然后转发到admin.jsp页面。
在admin.jsp页面中,使用request.getAttribute("username")获取username属性值并输出,所以输出为"admin"。
而在user.jsp页面中,由于进入了else语句,没有设置username属性值,所以使用request.getAttribute("username")获取到的是null值。因此,输出为"普通用户页面null"。
相关问题
用JSP+Servlet写一个登录注册页面,login.jsp,register.jsp loginServlet
这里提供一个基本的登录注册页面的实现,其中使用JSP作为前端页面,Servlet作为后台处理程序。
1. 创建一个名为 "login.jsp" 的文件,编写登录页面的HTML代码。
```html
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h1>Login</h1>
<form action="loginServlet" method="POST">
<label>Username: </label>
<input type="text" name="username"><br><br>
<label>Password: </label>
<input type="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
<p>New User? <a href="register.jsp">Register here</a></p>
</body>
</html>
```
2. 创建一个名为 "register.jsp" 的文件,编写注册页面的HTML代码。
```html
<!DOCTYPE html>
<html>
<head>
<title>Registration Page</title>
</head>
<body>
<h1>Registration</h1>
<form action="registerServlet" method="POST">
<label>Username: </label>
<input type="text" name="username"><br><br>
<label>Password: </label>
<input type="password" name="password"><br><br>
<label>Confirm Password: </label>
<input type="password" name="confirmPassword"><br><br>
<input type="submit" value="Register">
</form>
<p>Already registered? <a href="login.jsp">Login here</a></p>
</body>
</html>
```
3. 创建一个名为 "LoginServlet.java" 的Servlet文件,用于处理登录请求。
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
if(username.equals("admin") && password.equals("1234")) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
response.sendRedirect("welcome.jsp");
} else {
out.println("Incorrect username or password.");
}
}
}
```
4. 创建一个名为 "RegisterServlet.java" 的Servlet文件,用于处理注册请求。
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
String confirmPassword = request.getParameter("confirmPassword");
if(password.equals(confirmPassword)) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
response.sendRedirect("welcome.jsp");
} else {
out.println("Passwords do not match.");
}
}
}
```
5. 创建一个名为 "welcome.jsp" 的文件,用于显示欢迎信息。
```html
<!DOCTYPE html>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
<h1>Welcome <%= session.getAttribute("username") %>!</h1>
<p>You have successfully logged in.</p>
<a href="logoutServlet">Logout</a>
</body>
</html>
```
6. 创建一个名为 "LogoutServlet.java" 的Servlet文件,用于处理注销请求。
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
session.invalidate();
response.sendRedirect("login.jsp");
}
}
```
以上就是一个基本的登录注册页面的实现。需要注意的是,这里只是提供了一个简单的示例,实际的应用中还需要加入更多的安全性和验证机制。
login.jsp:登录页面,包含表单,可以输入用户名、密码,选择转入管理员页面或者教师页面。
好的,这里是一个简单的login.jsp页面示例代码:
```
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h1>Login Page</h1>
<form action="login" method="post">
<label>Username:</label>
<input type="text" name="username"><br><br>
<label>Password:</label>
<input type="password" name="password"><br><br>
<label>Select User Type:</label>
<select name="usertype">
<option value="admin">Administrator</option>
<option value="teacher">Teacher</option>
</select><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
在这个示例中,我们使用了一个HTML表单来获取用户名、密码和用户类型。当用户点击登录按钮时,表单数据将被提交到名为"login"的Servlet中进行处理。
接下来,我们需要编写一个名为"login"的Servlet来处理表单数据,进行简单的身份验证并将用户重定向到相应的页面。
示例Servlet代码如下:
```
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取表单数据
String username = request.getParameter("username");
String password = request.getParameter("password");
String userType = request.getParameter("usertype");
// 进行身份验证
if ("admin".equals(username) && "admin123".equals(password) && "admin".equals(userType)) {
// 如果是管理员,重定向到管理员页面
response.sendRedirect("admin.jsp");
} else if ("teacher".equals(username) && "teacher123".equals(password) && "teacher".equals(userType)) {
// 如果是教师,重定向到教师页面
response.sendRedirect("teacher.jsp");
} else {
// 如果身份验证失败,返回登录页面并显示错误消息
request.setAttribute("message", "用户名或密码错误,请重新输入。");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
}
```
在这个示例中,我们首先获取表单数据,然后进行简单的身份验证。如果用户名、密码和用户类型都正确,则将用户重定向到相应的页面。否则,我们将在登录页面中显示一个错误消息。
请注意,我们使用了request.getRequestDispatcher()方法将请求转发回登录页面,而不是使用response.sendRedirect()方法。这样做的原因是,如果使用sendRedirect()方法,我们将失去在登录页面中显示错误消息的机会。
最后,我们还需要创建两个名为"admin.jsp"和"teacher.jsp"的页面来显示管理员和教师页面的内容,具体内容可根据需求自行设计。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)