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

标签 java jsp servlets

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

我的 web.xml 看起来像

<servlet>
    <servlet-name>HotelSearch</servlet-name>
    <servlet-class>it.testproject.HotelSearch</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HotelSearch</servlet-name>
    <url-pattern>/HotelSearch</url-pattern>
</servlet-mapping>

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

任何人都可以解释一下如何做到这一点。提前致谢。

最佳答案

第 1 步:加载 default.jsp 我猜您有一个表单可以提交搜索查询,例如

  <form method="post" action="HotelSearch">
  //action is your url pattern and method is your choice get or post
    // your text box
   </form>

第 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文件

<servlet>
      <servlet-name>myjsp</servlet-name>
      <jsp-file>jsp/SearchResults.jsp</jsp-file>
 </servlet>
 <servlet-mapping>
      <servlet-name>myjsp</servlet-name>
      <url-pattern>/jsp_url</url-pattern>
 </servlet-mapping>

现在您可以使用

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

关于java - 如何在没有脚本的情况下从 jsp 调用 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734873/

相关文章:

jsp - JSP中如何实现分页?

json - 在 servlet 内从 JavaScript 检索作为 JSON 发送的数据

Java Web Server 突然停止响应,没有任何异常

java - 部署描述符中的 <webapp> 标签是什么?

java - 自定义adapterView多次调用getView函数更新 ListView 导致应用速度变慢

java - JSONObject 键顺序反转

java - 数组列表+数据库+servlet+DAO

java - 像 .net 的 "Application_Start"和 "Begin_Request"for java/tomcat/JSP 这样的事件?

java - sonarQube - 使字段 transient 或可序列化

java - Hibernate多对多,合并现有行