如何正确地将JSP页面中包含的表单发送到Servlet

时间:2016-05-13 13:34:59

标签: jsp servlets http-status-code-404

我在JSP页面中有这个表单声明:

<form name="login" method="post" action="loginServlet"> 

假设servlet在web.xml文件中正确声明;这种模式<url-pattern>/loginServlet</url-pattern>;

servlet包含doPost方法。

但是当我按下与登录表单关联的按钮时,服务器会抱怨找不到这个servlet。我应该使用什么样的路径才能使其工作?

这是我项目的文件夹结构:

-Project0
   -jsppages
      login.jsp
   +htmlpages
   -WEB-INF
      -classes 
          LogIn.class

我想这条路有问题。我怎么能解决这个问题。谢谢!

编辑:web.xml正好包含了我的servlet:

  <servlet>
      <servlet-name>LogInServlet</servlet-name>
      <servlet-class>LogIn.class</servlet-class>
   </servlet>

   <servlet-mapping>
      <servlet-name>LogInServlet</servlet-name>
      <url-pattern>/loginServlet</url-pattern>
   </servlet-mapping>

解决:

当调用与表单相关的操作时,有必要使用路径../loginsServlet离开我的项目文件夹中的JSP文件夹,所以它就像这样。

<form name="login" method="post" action="../loginServlet"> 

2 个答案:

答案 0 :(得分:0)

检查web.xml目录

中的WEB-INF

以下是样本

<web-app>
<display-name>HelloWorld Application</display-name>
<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>SERVLET CLASS NAME WITH PACKE</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/loginServlet</url-pattern>
</servlet-mapping>

并更改您的操作值

<form name="login" method="post" action="./loginServlet"> 

答案 1 :(得分:0)

将其添加到您的web.xml文件中。您的网页将映射到您的Servlet

<servlet>
    <servlet-name>loginservlet</servlet-name>
    <servlet-class>package.LogIn</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>loginservlet</servlet-name>
    <url-pattern>/loginServlet</url-pattern>
  

注意: - 请将完整的包名称(例如com.login.ClassName)放在您的班级名称之前。

谢谢