从find servlet跳转到一个jsp页面再从jsp页面跳转到buy servlet,之后会自动返回find servlet
find servlet
if(type.equals("detail")) {
if(request.getSession().getAttribute("cid")!=null) {
//String cid = (String)request.getParameter("cid");
//request.getParameter
String cid= (String)request.getSession().getAttribute("cid");
request.setAttribute("cid", cid);
System.out.println("detail cid is:"+cid);
}
String ISBN = (String)request.getParameter("ISBN");
//String keyword = new String(Keyword.getBytes("ISO8859-1"),"UTF-8");
书本信息 book=new 书本信息();
书本信息 book_info=book.find_ISBN_book(ISBN);
订单细则 orderdetail = new 订单细则();
List<String> dappraise = orderdetail.dappraise(ISBN);
request.setAttribute("book_info", book_info);
request.setAttribute("dappraise", dappraise);
request.getRequestDispatcher("bdetail.jsp").forward(request, response);
//需要得到书本评价信息
}
jsp跳转到buyservlet
<tr><td>
<button type="submit" onclick="window.location.href='./Buyservlet?type=buy'">立即购买</button> 
<button type="submit" onclick="window.location.href='./Buyservlet?type=adcart'">加入购物车</button>
</form>
</table>
buyservlet代码
String type = request.getParameter("type");
System.out.println("buy type is:"+ type);
if(type.equals("buy")) {
if(request.getSession().getAttribute("cid")==null) {
boolean flag = false;
request.setAttribute("msg", flag);
request.getRequestDispatcher("./login.jsp").forward(request, response);//没登录要先登录
}
else {
String cid = (String)request.getSession().getAttribute("cid");
request.setAttribute("cid", cid);
System.out.println("buy cid is:"+cid);
int number = Integer.parseInt(request.getParameter("number"));
System.out.println("buy count is:"+number);
request.setAttribute("number", number);
if((书本信息)request.getAttribute("book") !=null) {
书本信息 book_info = (书本信息)request.getAttribute("book");
request.setAttribute("book", book_info);
System.out.println("buy ISBN is:"+book_info.getISBN());
}
else System.out.println("没传值啊");
request.getRequestDispatcher("./border.jsp").forward(request, response);
}
}
findservlet转详情页面还很正常
但点击立即购买后就报错了
正常进入find servlet
**
感觉很奇怪啊 为什么buyservlet中并没有书写跳转到find servlet的语句它会自己跳转过去?
就报的异常来看,是NPE,点击立即购买后出现,那么检查一下那个servlet或者该参数,是不是没有获得到参数
已经解决啦 jsp里用了button来提交表单内容,可能?导致页面会返回上一级。换成submit提交表单内容就可以啦