请求的资源不可用。 JSP程序错误

时间:2014-10-27 04:50:06

标签: java eclipse jsp tomcat

我正在尝试我的forst jsp登录程序。它正确显示登录页面,但是当我提交它时会出现错误:

HTTP状态404 - / UserPass /用户名

输入状态报告

message / UserPass / username

说明请求的资源不可用。

这是我的代码:

username.java

package sid;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class username extends HttpServlet{

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    {
        response.setContentType("text/html");

        String user=request.getParameter("username");
        String pass=request.getParameter("password");

        if(user.equals("sid") && pass.equals("hello"))
        {
            System.out.println("Welcome");
        }
        else
        {
            System.out.println("Invalid username or password");
        }
    }
}

user.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>Insert title here</title>
</head>
<body>
<h1>Login Page</h1> 
<center> 

<form action="username" method="GET"> <br/>
User :<input type="text" name="username"> <br/>
Pass :<input type="password" name="password"> 
<br/><input type="submit" value="Submit"> </form> 
</center>
</body>
</html>

的web.xml

<web-app>
    <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>sid.username</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/username/*</url-pattern>
    </servlet-mapping>
</web-app>

我的user.jsp代码在WebContect中,我的web.xml在WebContent / WEB-INF / lib中。 我正在使用Eclipse Indigo SR2和Apache Tomcat。

4 个答案:

答案 0 :(得分:2)

您应该将web.xml放在/WEB-INF中,而不是lib

此外,您需要重新启动服务器才能重新加载和反映更改。

答案 1 :(得分:1)

更改您的servlet映射

<servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/username/*</url-pattern>
    </servlet-mapping>

<servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/username</url-pattern>
    </servlet-mapping>

答案 2 :(得分:0)

我在web.xml中指出了2-3件事。

首先 / WEB-INF 中的 web.xml 放在 lib

第二次检查web.xml中的servlet名称。它应该是用户名,而不是登录

<servlet>
<servlet-name>username</servlet-name>
<servlet-class>sid.username</servlet-class>
</servlet>

第三次更改此

<servlet-mapping>
<servlet-name>username</servlet-name>
<url-pattern>/username</url-pattern>
</servlet-mapping>

答案 3 :(得分:-1)

按命名法,类名应以大写字母开头,并尝试更改为

form action="/username" method="GET"> <br/>

用户:
通过:

在login.jsp中

并查看是否有效