大家好,为什么我的 request和session 在servlet 与 jsp 之间无法传递?
servlet 中:
abc.java
......
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException,
IOException {
String user = request.getParameter( "user ");
String pwd = request.getParameter( "pwd ");
HttpSession session = request.getSession();
session.setAttribute( "jsp ",user);
request.setAttribute( "jsp ",user);
RequestDispatcher dispatcher = request.getRequestDispatcher( "/WEB- INF/jsp/op/opmain.jsp ");
dispatcher.forward(request, response);
}
....
..
jsp中
123.jsp
....
...
<%=request.getAttribute( "jsp ") %>
<%=session.getAttribute( "jsp ") %>
...
..
为什么得不到 request 与 session 中的值?
------解决方案--------------------第一,你是把请求转发到了opmain.jsp文件了,所以request.getAttribute( "jsp ")就找不到,但是应该session里面可以找到,好象你servelt里面定义了两个键值一样的,一种可能是request.setAttribute( "jsp ",user);覆盖了 session.setAttribute( "jsp ",user);又不是在同一个请求里面,所以就找不到request里面的值,第二种可能是你在123.JSP里面找的键值为jsp的找不到,因为有两个键值为jsp的,servlet不会自己识别,你也没有给他们一个好的识别方式,所以报错或者找不到值~~
------解决方案--------------------是不是 String user = request.getParameter( "user ");
String pwd = request.getParameter( "pwd ");这里就是Null,你user对象就是Null,所以取到的就是Null???
------解决方案--------------------方法没错 判断一下Null