日期:2014-05-18  浏览次数:20752 次

servlet跳转
请问下,我由A网页跳转到B网页,B网页会读取到数据库里的内容加载出来。
我在A网页写了一个servlet  跳转到B网页取得的数据全为空,我该用session,cookie,把从数据存起来 加载到B?  才学J2EE几天,望大家帮忙解答

------解决方案--------------------
在A网页用request存,B网页用request取,只要你不使用senRedirect(这方法重发请求)跳转的,B肯定能收到的
------解决方案--------------------
A请求servlet的时候用request.setAttribute("xx",xxx);或者session.setAttribute("xx",xxx);跳转到B时,在request或者session里面取就可以了。
------解决方案--------------------
网上Servlet的例子很多。自己动手试试才是最靠谱的。
------解决方案--------------------
我觉得楼主对web的流程描述的都很混乱,是a页面提交请求,然后servlet处理请求,然后servlet转发给jsp b渲染结果是吗?

你把数据放到servlet中从数据库中取得数据后,你可以放到request和session中,jsp b都能取到
通过request.setAttribute()   session.setAttribute()
但是不建议放在session里面

放在request中,网页b中要能取得,要使用转发,不要使用重定向

楼主需要理解一下web的流程,以及转发重定向以及作用域的影响范围
------解决方案--------------------
建议楼主还是先了解其原理后在动手编写代码,这样效率会高很多,另外要学会利用各种搜索引擎来找答案
下面贴一个例子:
ClientRedirect.java
[code=java
]public class ClientRedirect extends HttpServlet {        
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletExceptionIOException {  
        request.getSession().setAttribute("name", "canshu");  
       request.setAttribute("info", "Java Web");  
        response.sendRedirect("index.jsp");  
    }  
       
   public void doPost(HttpServletRequest request, HttpServletResponse response)              
   throws ServletException, IOException {  
       this.doGet(request, response);     }  
} [/code]

web.xml

<servlet-mapping>  
   <servlet-name>ClientRedirect</servlet-name>  
  <url-pattern>/servlet_ClientRedirect</url-pattern>  
  </servlet-mapping> 


index.jsp
<h2>session属性:<%=session.getAttribute("name") %></h2>  
   <h2>request属性:<%=request.getAttribute("info") %></h2>
 

这是Servlet跳转方式的介绍:
http://wenku.baidu.com/link?url=TiFPRCzQsL8J5tMU9uZOWqlClRQtyix8KwNDNI3Q8bWbW7-G4ZRK8DnICrF4Mdj2ewAKWZfCJWwOKTE2nIaGYt__XeG95L0nd3T26kpT7Ye

不明白的话跟帖就好:)