web项目 form中action的路径问题(action的目标为servlet)
各位大侠帮帮忙啊。。这个已经搞了我一天了,还是解决不了。。。快要崩溃了。。帮帮忙啊!!!
web项目名字叫:bishe
src/controller下有loginservlet.java文件
webroot下有login.jsp文件中:
<form action="/controller/loginservlet" method="post" name="loginform">
web-inf/classes/controller下有loginservlet.class
web.xml文件如下:
<servlet>
<description>。。。。</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>loginservlet</servlet-name>
<servlet-class>controller.loginservlet</servlet-class>//这里我确定是路径没有问题
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>loginservlet</servlet-name>
<url-pattern>/controller/loginservlet</url-pattern>
</servlet-mapping>
然后部署项目后,浏览器地址为:http://127.0.0.1:8080/bishe/login.jsp
点击登录后:url变为了http://127.0.0.1:8080/controller/loginservlet
且报错:The requested resource (/controller/loginservlet) is not available.
是不是我的什么配置有问题还是路径哪里写错了?急啊!!~~~~(>_<)~~~~
------解决方案--------------------
form action="/controller/loginservlet" method="post" name="loginform">
改成
form action="controller/loginservlet" method="post" name="loginform">
不要前面的/
------解决方案--------------------form action="/controller/loginservlet" method="post" name="loginform">
改成
form action="/loginservlet" method="post" name="loginform">
------解决方案--------------------"然后部署项目后,浏览器地址为:http://127.0.0.1:8080/bishe/login.jsp
点击登录后:url变为了http://127.0.0.1:8080/controller/loginservlet
且报错:The requested resource (/controller/loginservlet) is not available."
你的程序是不是都在bishe下?
看这样行不:
在你的login.jsp里加上:
<%
String contextPath = request.getContextPath();
%>
把form action="/controller/loginservlet" method="post" name="loginform">
改成 form action="<%=contextPath%>/controller/loginservlet" method="post" name="loginform">
楼主试试看。