我在a.jsp中 response.setHeader("aaa","aaavalue"); (a.jsp提交到b.jsp)
在b.jsp中 String str = request.getHeader("aaa");
取到的str值为null,为什么会这样。
服务器环境是tomcat5.5,需要特殊配置吗?
请达人给个解释,谢谢了!
在b.jsp中 String str = request.getHeader("aaa");
取到的str值为null,为什么会这样。
服务器环境是tomcat5.5,需要特殊配置吗?
请达人给个解释,谢谢了!
应该使用 request.setHeader("aaa","value")
然后才requestt.getHeader("aaa")
使用时 response.setHeader( name, contect ); 但把你的业务参数set到Header上不觉得不伦不类吗服务器环境是tomcat5.5,需要特殊配置吗?
请达人给个解释,谢谢了!不要配置和服务器无关
ServletResponse response,
FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest httpRequest=(HttpServletRequest)request;
HttpServletResponse httpResponse=(HttpServletResponse)response;
boolean isValid = true;
String sessid ="";
String uriStr = httpRequest.getRequestURI().toUpperCase();
String err="";
if(uriStr.indexOf("CHECK.JSP")!=-1){
sessid ="bbbbbb";// httpRequest.getParameter("sessid") ;
}
else{
sessid =httpRequest.getHeader("sessid"); //.getParameter("sessid") ; }
if(sessid==null){
sessid="";
} if (uriStr.indexOf("LOGON.JSP")==-1 &&
sessid.equals("")){
isValid = false; }
if (isValid){
//httpRequest.setAttribute("sessid",sessid);
httpResponse.addHeader("sessid", sessid);
filterChain.doFilter(request, response);
}else{
String resendurl="logon.jsp;
httpResponse.sendRedirect(resendurl);
}
}
如果你在2个java程序间,使用 request.setAttribute
a.jsp post 到 b.jsp ; b.jsp 又post 到 c.jsp ;以此类推,到d.jsp 、e.jsp .....
在这个过程中,可能只有从a到b需要传参数sessid的值,而b再往下传时,我不想每页都写上 sessid 这个参数,而是通过函数直接就给当前页面赋上这个值。function fun{
String sessid=request.getAttribute("sessid") ;
response.setAttribute("sessid","aaaaaa"); ---问题是根本没有response.setAttribute这个函数,哎
}可能有人又要说,你怎么那么懒,何必费那个事,直接,在每个页面里都写上这个参数不就完了,但我现在可是要把以前的程序都修改一遍,有上千页啊,每个页面里也可能有n个链接,如果都加上这个参数,那工作量可想而知,所以还请大侠们帮帮忙了。
request.getAttribute("sName");
你说的方法还是要在每个页面都重新手动写入sName的值的。