我在网上查出的 从一个servlet向另一个servlet传值 的问题的答案很多是使用session,但我是不想使用session的,我依然想用request进行两个servlet之间的传值,而又找不到答案,只好自己测试。以下是情景:
在JSP页面上用POST向一个servlet传了一个叫 bookID 的字符串,使用后想把这个bookID 传到另一个servlet中,同时加两个新的字符串,分别叫table_name 、 back
不能得出结果的方法:
<pre name="code" class="java">String table_name="book_info";
String back="./bookManage/BookInfomation.jsp";
<span style="font-family: Arial, Helvetica, sans-serif;"> </span>
request.setAttribute("table_name", table_name);
<span style="font-family: Arial, Helvetica, sans-serif;">request.setAttribute("back", back);</span>
<span style="font-family: Arial, Helvetica, sans-serif;">RequestDispatcher rd = request.getRequestDispatcher("searchBook");//servlet引用叫</span><span style="font-family: Arial, Helvetica, sans-serif;">searchBook</span><span style="font-family: Arial, Helvetica, sans-serif;">rd.forward(request, response);</span>
到另一个servlet后进行输出测试得:
bookID:008
table_name :null
back:null
经我测试得出了解决方案
<pre name="code" class="java">String table_name="book_info";
String back="./bookManage/BookInfomation.jsp";
RequestDispatcher rd = request.getRequestDispatcher("searchBook?table_name="+table_name+"&back="+back);
rd.forward(request, response);
测试输出:
bookID:008
table_name :book_info
back:./bookManage/BookInfomation.jsp
疑问:我两个servlet都是用的POST方式提交,地址传值的方式居然解决了问题,POST也能用地址传值的方式吗?我不知,我是新手,这个有待测试。
第二个servlet注释了GET方式依旧成功