java - 将值从 Servlet 发送到 JSP,无需 cookie,并且 session 不会显示在 URL 上

标签 java jsp session servlets cookies

我是 servlet 和 JSP 的新手,所以我会简单介绍一下。

我想将一些值从 servlet 发送到 JSP,但我的审阅者建议不要使用 cookie。我尝试使用 session ,但重定向的 URL 不断显示嵌入其中的值。

插图

http://local主机:8088/webkl/index.jsp?name=a1&age=a2

我不想在网址中显示姓名和年龄,该怎么办?

不知道出了什么问题。请帮忙?

最佳答案

您需要使用POST方法,您可以引用以下示例代码:

登录.jsp

<form action="loginOperation" method="post" onsubmit="return LoginValidate()" name="login">
   <input class="textbox" name="useremail" type="text" placeholder="useremail"> 
   <input class="textbox" name="password" type="password" placeholder="password">
   <input type="submit" value="Submit"/> <input type="reset" name="Reset" value="Reset"/>
</form>

login.java(servlet):-

public class LoginServlet extends HttpServlet {  
public void doPost(HttpServletRequest request, HttpServletResponse response)  
    throws ServletException, IOException {  

response.setContentType("text/html");  
PrintWriter out = response.getWriter();  

String n=request.getParameter("useremail");  
String p=request.getParameter("password");  

if(LoginDao.validate(n, p)){  
    RequestDispatcher rd=request.getRequestDispatcher("servlet2");  
    rd.forward(request,response);  
}  
else{  
    out.print("Sorry username or password error");  
    RequestDispatcher rd=request.getRequestDispatcher("index.html");  
    rd.include(request,response);  
}  

out.close();  
}  
}  

web.xml:-

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Demo</display-name>
 <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>

 </welcome-file-list>

  <servlet>
  <servlet-name>Login</servlet-name>
  <servlet-class>com.demo.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/loginOperation</url-pattern>
</servlet-mapping>


</web-app>

关于java - 将值从 Servlet 发送到 JSP,无需 cookie,并且 session 不会显示在 URL 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45108700/

相关文章:

java - 如何将这种格式的字符串转换为Java 8时间并转换为长毫秒

mysql - 使用 mysql servlet 和 jsp 的 Web 应用程序中的通知

c# - 是什么触发了早期 session 超时

java - 成功的 php session 需要什么?

php类变量

java - AbstractProcessor,如何声明哪个目标是另一个注释的注释?

java - CircularArrayQueue 实现 Java

java - 这是向 Java Frame 教授有关 Windows 的 Aero Snap 功能的唯一方法吗?

java - Spring MVC 中重定向时丢失 @SessionAttribute

java - 在 servlet 中加载 fcl 文件时出错