如何在没有脚本的情况下从jsp调用servlet?

我是jsp的新手,我创建了jsp页面来搜索一些东西。 我也写过servlet。 但我不知道如何在这些之间进行互动。

我的web.xml看起来像

 HotelSearch it.testproject.HotelSearch   HotelSearch /HotelSearch  

我的servlet名称是HotelSearch.java,Search页面是Default.jsp,我想在servlet调用后重定向到SearchResults.jsp。

任何人都可以告诉我如何做到这一点。谢谢你提前。

第1步:加载default.jsp我猜你有一个表单来提交搜索查询

  
//action is your url pattern and method is your choice get or post // your text box

第2步:现在在servlet中执行搜索的业务逻辑,然后将结果数据放入请求中

  req.setAttribute("key",value); //value is object dispatch your request with data to `SearchResults.jsp` req.getRequestDispatcher("SearchResults.jsp").forward(req,resp); 

第3步:使用req.getAttribute(“key”)在SearchResults.jsp显示数据

小费

最好的方法是在web.xml中配置jsp文件

  myjsp jsp/SearchResults.jsp   myjsp /jsp_url  

现在你可以使用了

 req.getRequestDispatcher("jsp_url").forward(req,resp); 

所以你想要:

  1. 使用表单从第一个jsp发送数据到servlet:

  2. 从servlet重定向到第二个jsp:

    (HttpServletResponse的)response.sendRedirect是( “jsp_url”);

在客户端上

确保您的代码正确设置了操作:

  

在Servlet中

response.sendRedirect(request.getContextPath()+“/ SearchResults.jsp”);