Java 通过servlet进入登录页面后,如何将用户名值带入欢迎页面?
以下是登录页面: index.htmlJava 通过servlet进入登录页面后,如何将用户名值带入欢迎页面?,java,html,servlets,Java,Html,Servlets,以下是登录页面: index.html 帐户登录 下面是检查用户名和密码是否匹配的servlet。用户名和密码是硬编码的。若匹配,用户将被导航到欢迎页面 Login.java import java.io.*; 导入javax.servlet.*; 导入javax.servlet.http.*; 导入javax.servlet.annotation.WebServlet; @WebServlet(“/servlet1”) 公共类登录扩展HttpServlet{ public void d
帐户登录
下面是检查用户名和密码是否匹配的servlet。用户名和密码是硬编码的。若匹配,用户将被导航到欢迎页面
Login.java
import java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入javax.servlet.annotation.WebServlet;
@WebServlet(“/servlet1”)
公共类登录扩展HttpServlet{
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串n=request.getParameter(“用户名”);
字符串p=request.getParameter(“userPass”);
字符串[][]arr=新字符串[4][4];
arr[0][0]=“ABC”;
arr[0][1]=“Password123”;
arr[1][0]=“XYZ”;
arr[1][1]=“servlet”;
arr[2][0]=“PQR”;
arr[2][1]=“了望123”;
arr[3][0]=“TUV”;
arr[3][1]=“Hello123”;
布尔标志=假;
对于(int i=0;i
我必须通过html获取欢迎页面的用户名值。
下面是为欢迎页面调用的servlet。
我需要一个servlet吗
WelcomeServlet.java
@WebServlet(“/servlet2”)
公共类WelcomeServlet扩展了HttpServlet{
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串n=request.getParameter(“用户名”);
打印输出(“欢迎”+n);
}
}
您可以使用&>获取用户名
。如下图所示:
if(n.equals(arr[i][0]))
{
if(p.equals(arr[i][1]))
{
//get username if password and username matched
String username1=a[i][0];
//set username1 in request
request.setAttribute("username", username1);
RequestDispatcher rd=request.getRequestDispatcher("/servlet2");
rd.forward(request, response);
flag =true;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//getting value got from Login servlet
String n=(String)request.getAttribute("username");
out.print("Welcome "+n);
}
然后在您的WelcomeServlet
中执行以下操作:
if(n.equals(arr[i][0]))
{
if(p.equals(arr[i][1]))
{
//get username if password and username matched
String username1=a[i][0];
//set username1 in request
request.setAttribute("username", username1);
RequestDispatcher rd=request.getRequestDispatcher("/servlet2");
rd.forward(request, response);
flag =true;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//getting value got from Login servlet
String n=(String)request.getAttribute("username");
out.print("Welcome "+n);
}
使用setAttribute和getAttribute