我是servlet和JSP的新手,所以我將簡短介紹一下。將值從Servlet發送到JSP而不使用cookie andr會話未在URL上顯示
我想從servlet發送一些值到JSP,但我的審閱者建議不要使用cookie。我嘗試了使用會話,但重定向的URL不斷顯示嵌入其中的值。
插圖
http://local主持人:8088/webkl/index.jsp的名稱= A1 &年齡= A2
我不希望在URL中顯示的姓名和年齡,我該怎麼辦呢?
不知道什麼是錯的。請幫忙?
我是servlet和JSP的新手,所以我將簡短介紹一下。將值從Servlet發送到JSP而不使用cookie andr會話未在URL上顯示
我想從servlet發送一些值到JSP,但我的審閱者建議不要使用cookie。我嘗試了使用會話,但重定向的URL不斷顯示嵌入其中的值。
插圖
http://local主持人:8088/webkl/index.jsp的名稱= A1 &年齡= A2
我不希望在URL中顯示的姓名和年齡,我該怎麼辦呢?
不知道什麼是錯的。請幫忙?
你需要使用POST方法,你可以參考波紋管的示例代碼:
的login.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>
1-使用「post」方法而不是「get」。 傳遞時它不會顯示值,網址中沒有任何顯示。
例如: -
<form action="page_name.php" method="post">
First name: <input type="text" name="fname"><br>
name: <input type="text" n``ame="lname"><br>
input type="submit" value="Submit">
</form>
-2-後提交u能檢索的名字和姓氏的值,而不使它們穿過所述(URL)。
GET方法是向Web服務器發送信息的默認方法。由於GET方法將純文本字符串附加到URL。我們應該避免使用GET方法向服務器發送密碼或其他敏感信息。 GET方法也有大小限制。我們只能在請求字符串中發送1024個字符。發送的這些信息可以訪問請求對象的getQueryString()和getParameter()方法。 POST方法是向服務器發送信息的更可靠的方法。此方法將信息作爲單獨的消息發送。 JSP使用getParameter()方法讀取簡單參數並使用getInputStream()方法讀取來自客戶端的二進制數據流,從而處理此類請求。
JSP使用以下方法處理表單數據。
<form action="main.jsp" method="GET/POST">
First Name: <input type="text" name="first_name">
Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
從servlet到jsp。你不是指jsp到servlet嗎? –
No Robert Moskal,從servlet到JSP,我們有一個我們需要定製的第三方工具,因此主要工具的請求被重定向到一個servlet,然後從servlet被重定向到JSP – RoKr