日期:2014-05-17  浏览次数:20596 次

一个简单的jsp的登录界面求助!
是书上的代码
登录界面login.jsp部分代码:
  <form name="form1" action="login" method="post" onsubmit="return isValidate(form1)">
  用户名:<input type="text" name="username"><br>
  口令:<input type="password" name="userpass"><br>
  <input type="reset" value="重置">
  <input type="submit" value="提交"><br>
  </form>
action后面居然是"login",于是我在创建Servlet的时候,把Mapping URL="login"
web.xml中改成是<url-pattern>login</url-pattern>

但是运行的时候,可以进入登录界面,但是一点“提交”,Servlet就显示不出来。
理由是:The server encountered an internal error () that prevented it from fulfilling this request.

于是我就把action改成“/login”,把Servlet的Mapping URL="/login",web.xml也改好。
再运行Servlet,还是显示不出。
原因:The requested resource () is not available.

请问是为什么?该怎么修改?这里的action到底怎么用呢?


------解决方案--------------------
Java code

<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

------解决方案--------------------
<url-pattern>login</url-pattern>

改成<url-pattern>/login</url-pattern> 
action="login" 改成action="/login"试试 



------解决方案--------------------
探讨
Java code


<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

------解决方案--------------------
之前我也碰到过这样的问题,那个form的action,还是要写提交的路径,不能只写一个login,这样就是会出错的
<form action="<%=basePath %>demo/login.action" method="post">
demo是struts的namespace,login.action是action的name
希望有帮助
------解决方案--------------------
<servlet>
<servlet-name>NewsServlet</servlet-name>
<servlet-class>servlet.NewsServlet</servlet-class>
</servlet>

找到web.xml里面这样一个节点。。你的提交页面那个action写<servlet-name>NewsServlet</servlet-name>这个节点里的内容,也就是这对标签中间那个。希望对楼主有帮助。特别是我看了你说的创建Servlt的时候第一个是名字,第二个要留下/才行的。。
------解决方案--------------------
action="login"这样应该是没问题。
<servlet-mapping>
<servlet-name>testServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
如果这样也有问题估计是不是web.xml的路径不对啊。
放在WebContent/WEB-INF下面(eclipse里啊!)试试行不行。
------解决方案--------------------
我也是这种习惯,创建Servlet的时候,就把前面的多余部分去掉
探讨

你在创建servlet的时候有没有更改sersvlet/jsp mapping url的路径。web.xml文件是自动生成的。我一般情况下都会把这个地址的前面的servlet去掉,留下/servlet名称。然后提交时就直接可以提交servlet名称了。。

------解决方案--------------------
个人觉得会不是你的servlet类写错了,你改url为/login才提示resource not available说明你之前的url是没有问题啊,那就应该是servlet的代码写错,小弟愚昧,不知道是不是这样的
探讨
是书上的代码
登录界面login.jsp部分代码:
<form name="form1" action="login" method="post" onsubmit="return isValidate(form1)">
用户名:<input type="text" name="username"><br>
口令:<input type="password" name=……

------解决方案--------------------