2015-12-16 3 views
0

Servlet5 и servlet6 получают индивидуальные запросы от отдельных html-страниц, AllItems.java - это последний сервлет, который не отображает все атрибуты ssssion для servlet5 why ??.значения сеанса запроса1 недоступны при генерации ответа в конечном сервлете

это Главная страница этого приложения и запрос идет отсюда servlet5.java

HttpSessionTechniquesMain.html 
 
]<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Cookie mechanism</title> 
 
</head> 
 
<body> 
 
\t <form action="Servlet5" method="post"> 
 
\t Enter rollno<input type="text" name ="rn"> <br> 
 
\t Enter name<input type="text" name="nm"><br> 
 
\t <input type="submit" value="send rn and nm to servlet5"> \t 
 
\t </form> 
 
</body> 
 
</html>

Servlet5.java добавляет два атрибута HTML страницы sesssion

package com.sessionhandling.httpsessionmechanism; 
public class Servlet5 extends HttpServlet { 
private static final long serialVersionUID = 1L;` 
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
String num = request.getParameter("no"); 
String name = request.getParameter("name"); 
HttpSession session = request.getSession(); 
response.setContentType("text/html"); 
PrintWriter writer = response.getWriter(); 
session.setAttribute("num", num); 
session.setAttribute("name", name); 

int maxInactiveInterval = session.getMaxInactiveInterval(); 
writer.println("session expire time" + maxInactiveInterval + " session id " + session.getId()); 
session.setMaxInactiveInterval(10); 
writer.println("<a href='SendMoreValues.html'>Click here to add more values to cart</a>"); 
writer.close(); 
} 

}

Отправка нового запроса от SendMoreValues.html к Servlet6.java

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Insert title here</title> 
 
</head> 
 
<body> 
 
\t <form action="Servlet6" method="post"> 
 
\t Enter email<input type="text" name ="eml"> <br> 
 
\t Enter pswd<input type="text" name="pw"><br> 
 
\t <input type="submit" value="send eml and pwd to servlet6"> \t 
 
\t </form> 
 

 
</body> 
 
</html>

Servlet6.java 
public class Servlet6 extends HttpServlet { 
private static final long serialVersionUID = 1L; 
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
String email = request.getParameter("eml"); 
String pswd = request.getParameter("pw"); 
HttpSession session = request.getSession(true); 
session.setAttribute("email", email); 
session.setAttribute("password", pswd); 
session.setAttribute("password", "password value is overrided by other request"); 
response.setContentType("text/html"); 
PrintWriter writer = response.getWriter(); 
int maxInactiveInterval = session.getMaxInactiveInterval(); 
writer.println("session timout time"+maxInactiveInterval+" sesssion id"+ session.getId()); 
writer.println("<a href='AllItems'>Click here to display all cart values from Allitems servlet</a>"); 
writer.close(); 
} 
} 

Этот последний сервлета считывает все значения атрибутов, которые добавляются к servlet5 и servlet6, но атрибуты servlet5 не являются отображается или извлекается ... почему?

public class AllItems extends HttpServlet { 
private static final long serialVersionUID = 1L; 
private PrintWriter writer; 
@Override 
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
try { 

    HttpSession session = request.getSession(false); 
    response.setContentType("text/html"); 
    writer = response.getWriter(); 
    Enumeration<String> names = session.getAttributeNames(); 
    while (names.hasMoreElements()) { 
    String string = names.nextElement(); 
    writer.println(string + " : " + session.getAttribute(string).toString()); 
    } 

    writer.close(); 
} catch (Exception e) { 
    writer.print(" old session object not found... "); 
    HttpSession session = request.getSession(true); 
    response.setContentType("text/html"); 
    writer = response.getWriter(); 
    Enumeration<String> names = session.getAttributeNames(); 
    while (names.hasMoreElements()) { 
    String string = names.nextElement(); 
    writer.println(string + " : " + session.getAttribute(string).toString()); 
    } 

} 
} 
} 
+0

Когда это '' AllItems сервлет вызывался? – Babel

+0

в конце, после отправки запроса на сервлет 5 и сервлет 6 с отдельных страниц html. запрос сервлета allitems отправляется из servlet6 – Vinay

+0

Приложение выполняется отлично, но значения атрибута servlet5 не указаны, а его получение в allitems – Vinay

ответ

0

Имена входных параметров типа, где установлены неправильно, сделал это правильно он работал

HttpSessionTechniquesMain.html 
 
]<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Cookie mechanism</title> 
 
</head> 
 
<body> 
 
\t <form action="Servlet5" method="post"> 
 
\t Enter rollno<input type="text" name ="no"> <br> 
 
\t Enter name<input type="text" name="name"><br> 
 
\t <input type="submit" value="send rn and nm to servlet5"> \t 
 
\t </form> 
 
</body> 
 
</html>

 Смежные вопросы

  • Нет связанных вопросов^_^