我在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">
答案 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
)放在您的班级名称之前。
谢谢