我正在尝试在netbeans中创建一个servlet。必须从html表单中调用它并从中获取一些数据。
我覆盖了doget和dopost,只在其中加入了一些测试。
当我尝试运行servlet时,它只显示一个hello word jsp页面,我发现这是servlet默认拥有的index.jsp页面。
如何让servlet运行并实际输出一些?索引欢迎页面除外?
我使用哪个url mast来从表单调用servlet?
doget和dopost方法看起来像这样 public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
ResourceBundle rb =
ResourceBundle.getBundle("LocalStrings",request.getLocale());
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
String title = rb.getString("helloworld.title");
out.println("<title>" + title + "this is my anser</title>");
out.println("</head>");
out.println("</html>");
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);}
答案 0 :(得分:0)
如何让servlet运行并实际输出一些?索引欢迎页面除外?
您应该将请求分派到所需的JSP页面中。您可以使用RequestDispatcher
执行此操作。
request.getRequestDispatcher("page.jsp").forward(request, response);
我使用哪个url mast来从表单调用servlet?
您在web.xml
中映射的那个。
您还应该只将HTML放在JSP页面中,而不是放在servlet中。让doGet()
和doPost()
做同样的事情也不是一个好习惯。 doGet()
只是在JSP中显示之前预处理数据。在提交HTML表单后,doPost()
仅用于后处理数据。
在tag info about [servlets]
标记中,您可以找到一个hello world示例以及有关从JSP / servlet开始的更多链接。