1

我正在制作一个简单的程序来输入几个字段,然后在单击确认按钮后确认.jsp 将出现。

我创建了 Controller.java servlet 来识别单击的按钮,然后打开 jsp。Controller.java 存放在WEB-INF/classes/ch2/servletController 目录下,submit.jsp、register.jsp、confirm.jsp 存放在/ch2/servletController 目录下。

每当我单击确认按钮时,都会出现以下错误。WebApplication 是我的项目的名称。我正在使用 netBeans IDE。

HTTP 状态 404 - /WebApplication/ch2/servletController/Controller

类型状态报告

消息 /WebApplication/ch2/servletController/Controller

描述 请求的资源不可用。

请在下面找到 web.xml、servlet 和所有 jsp 文件。

注册.jsp

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
    pageEncoding="ISO-8859-1"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html;charset=utf-8">  
<title>Register</title>  
</head>  
<body>  
<form method="get" action="Controller">  
<p><b>E-store</b></p>  
<br>  
<br>  
<p>Enter First Name: <input type="text" name="FirstName" value="${param.FirstName}"></p>  
<p>Enter Last Name: <input type="text" name="LastName" value="${param.LastName}"></p>  
<p>Enter Mail-id: <input type="text" name="MailId" value="${param.MailId}"></p>  
<p>Enter PhoneNo: <input type="text" name="PhoneNo" value="${param.PhoneNo}"></p>  
<p><input type="submit" name="confirmButton" value="confirm"></p>  
</form>  
</body>  
</html>  

确认.jsp

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
    pageEncoding="ISO-8859-1"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html;charset=utf-8">  
<title>Confirm Details</title>  
</head>  
<body>  
<form method="get" action="Controller" >  
<p><b>E-store</b></p>  
<br>  
<br>  
<p>First Name: ${param.FirstName}<input type="hidden" name="FirstName" value="${param.FirstName}"></input></p>  
<p>Last Name: ${param.LastName}<input type="hidden" name="LastName" value="${param.LastName}"></input></p>  
<p>Mail-id: ${param.MailId}<input type="hidden" name="MailId" value="${param.MailId}"></input></p>  
<p>PhoneNo: ${param.PhoneNo}<input type="hidden" name="PhoneNo" value="${param.PhoneNo}"></input></p>  
<input type="submit" name="EditButton" value="Edit">  
<input type="submit" name="Submitbutton" value="Submit">  
</form>  
</body>  
</html>  

提交.jsp

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
    pageEncoding="ISO-8859-1"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html;charset=utf-8">  
<title>Confirm Details</title>  
</head>  
<body>  
<form>  
<p><b>E-store</b></p>  
<br>  
<br>  
<p>Thank You for the registration. Your details have been submitted as follows-</p>  
<p>First Name: ${param.FirstName}<input type="hidden" name="FirstName" value="${param.FirstName}"></input></p>  
<p>Last Name: ${param.LastName}<input type="hidden" name="LastName" value="${param.LastName}"></input></p>  
<p>Mail-id: ${param.MailId}<input type="hidden" name="MailId" value="${param.MailId}"></input></p>  
<p>PhoneNo: ${param.PhoneNo}<input type="hidden" name="PhoneNo" value="${param.PhoneNo}"></input></p>  

</form>  

</body>  
</html>  

控制器.java

package ch2.servletController;  
import java.io.IOException;  
import javax.servlet.http.*;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.RequestDispatcher;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import javax.servlet.ServletException;  
public class Controller extends HttpServlet  
{  
        @Override  
    protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException  
    {  
        String address=null;  
        if(request.getParameter("confirmButton")!= null)  
        {  
            address="confirm.jsp";  
        }  
        else if(request.getParameter("EditButton")!= null)  
        {  
            address="register.jsp";  
        }  
        else if(request.getParameter("Submitbutton")!=null)  
        {  
            address="submit.jsp";  
        }  
        RequestDispatcher Dispatcher=request.getRequestDispatcher(address);  
        Dispatcher.forward(request, response);  
    }  
}  

web.xml

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    <servlet>  
        <servlet-name>FirstController</servlet-name>  
        <servlet-class>ch2.servletController.Controller</servlet-class>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>FirstController</servlet-name>  
        <url-pattern>/Controller</url-pattern>  
    </servlet-mapping>  
    <session-config>  
        <session-timeout>  
            30  
        </session-timeout>  
    </session-config>  
    <welcome-file-list>  
        <welcome-file>index.jsp</welcome-file>  
    </welcome-file-list>  
</web-app>  

索引.jsp

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
    pageEncoding="ISO-8859-1"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html;charset=utf-8">  
<title>First JSP</title>  
</head>  
<body>  
<form>  
<p><b>Welcome to E-store</b></p>  
<br>  
<br>  
<p>Click to <a href="ch2/servletController/register.jsp">Register</a></p>  
</form>  
</body>  
</html> 

如果有人能帮助我解决这个问题,我将不胜感激。

提前谢谢了。

4

1 回答 1

1

我不得不将位置更改register.jsp为 Web 目录所在index.jsp的位置,它对我有用。

于 2013-06-06T21:20:03.890 回答