【发布时间】:2014-07-29 18:40:57
【问题描述】:
这是我的servlet的代码:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String result = (String)request.getParameter("action");
switch (result)
{
case "init":
request.setAttribute("CountriesList", signUpBean.getContriesList());
String arg = "/signup.jsp";
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(arg);
dispatcher.forward(request, response);
break;
case "submit":
//Code to handle the request
break;
}
}
当我点击链接signup?action=init 时,servlet 被初始化,接收国家列表并将其传递到signup.jsp 页面,以便在选择表单元素上显示该列表。当我编译注册表单时,我以 servlet 可以处理请求的方式按下具有 action="signup?action=submit" 的提交按钮。你知道一种更优雅或更正确的方式来做我的意思吗?
【问题讨论】:
-
更优雅是什么意思?为您的 jsp 提交代码。
-
我的意思是,以这种方式在同一个 servlet 中处理不同请求是否正确?是否存在在同一个 servlet 中处理更多请求的不同方式?
-
我建议最好对不同的请求使用不同的 servlet 作为一个好习惯。有几个原因是它无论如何都会用完资源,而 Java 会同步处理这些请求(Java 8 除外) .
-
@Mazzy 定义不同的请求。目前我看不出它们有什么不同。与其问我相反的问题,不如回答我的 cmets 并按照他们所说的去做。
-
@RomanC 对于不同的请求我的意思是我两次调用 Servlet。对于初始化 porpouse 并提交 porpouse
标签: java forms jsp servlets request