【发布时间】:2017-03-25 05:30:21
【问题描述】:
我是 Web 应用程序的新手。 我的问题:如何将相同的参数从一个 JSP 传递给两个 servlet?然后将不同的参数从 servlet 传递给同一个 JSP?
重要!!我们应该先做流程A,然后做流程B!!!!
由于项目占用的进程太多,我想将这些进程分成两个servlet。
目前,我完成了 processA 的实现,它将搜索词从 SEARCH PAGE JSP 传递给 SERVLET A(执行 processA)并将结果传递给 WELCOME PAGE JSP。它有效!!!(我在图片中以红色突出显示)
我使用的代码: Web.xml
<servlet>
<servlet-name>ServletA</servlet-name>
<servlet-class>test.processA</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletA</servlet-name>
<url-pattern>/download result</url-pattern>
</servlet-mapping>
搜索页面JSP:
<form action="download result">
Please enter a Keyword <br>
<input type="text" name="term"size="20px">
<input type="submit" value="submit">
</form>
servletA:
public class processA extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
// reading the user input
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
// Retrieve search term from GET request and parse to desired format
String searchTerm = (request.getParameter("term").toString()).replace("%20", "_").replace(" ", "_").replace("+", "_").replace(".", "");
System.out.println("=====(servlet) searchTerm is:"+searchTerm);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
那么如何实现processB进入系统???这看起来像我展示的图片。
servletB
public class processB extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String searchTerm = (request.getParameter("term")).replace(" ", "_");
String queryTerm = request.getParameter("term");
System.out.println("=====(servlet) searchTerm is:"+searchTerm);
System.out.println("=====(servlet) keep doing the other process……………………!!!”);
}
}
非常感谢! 或者如果doGET和doPOST不能同时使用,我可以将processA改为doPost。
重要!!我们应该先做流程A,然后做流程B!!!!
【问题讨论】:
-
在servletA中,不是转发到jsp,而是重定向到servletB
-
你的意思是使用 servletA 调用 servletB 并将字符串 searchTerm 从 servletA 传递给 servletB???
标签: java jsp servlets web-applications