错误 404 - 未找到 此服务器上没有上下文匹配或处理此请求。该服务器已知的上下文是:JSPExample(/JSPExample)索引 JSP 文件

问题描述 投票:0回答:3

这是我的

index.jsp
代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Index JSP File</title>
</head>
<body>
<form action="/IndexController" method="get">
<table>
<tr><td>Enter Your Name :</td> <td><input type="text" name="name"/></td></tr>
<tr><td><input type="submit" value="Submit" /></td></tr>
</table>
</form>
</body>
</html>   

这是我的

IndexController
Servlet 代码:

public class IndexController extends HttpServlet {
    
    protected void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uname = request.getParameter("name");
        response.sendRedirect("welcome.jsp?name="+uname);
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doProcess(request, response);
    }

    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doProcess(request, response);
    }

}

这是我的

welcome.jsp
页面代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<% String fname = request.getParameter("uname");%>
<h1>Welcome to JSP World,  <%=fname%></h1>
</body>
</html>

当我通过 Java EE 运行时运行此程序时,我得到了一个

index.jsp
页面,但是在输入名称并单击提交按钮后,出现以下错误:

错误 404 - 未找到 此服务器上没有上下文匹配或处理此请求。该服务器已知的上下文是:JSPExample(/JSPExample)

java jsp servlets
3个回答
0
投票

还要将welcome.jsp 中的行

<% String fname = request.getParameter("**uname**");%>
更改为
<% String fname = request.getParameter("**name**");%>
,因为您的参数名称是
name
response.sendRedirect("**welcome.jsp?name="+uname);**
:)


0
投票

编辑 web.xml 并添加 servlet 映射

<servlet>
      <servlet-name>IndexController</servlet-name>
      <servlet-class>IndexController</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>IndexController</servlet-name>
      <url-pattern>/IndexController</url-pattern>
</servlet-mapping>

0
投票

在 Eclipse 中,如果遇到此问题,只需使用其他名称创建一个新的索引文件即可。然后终止最后一个正在运行的服务器,并启动一个新服务器,运行新的index..文件。我用这种方式解决了这个问题,最后我删除了新的索引文件并运行我的第一个索引文件。

© www.soinside.com 2019 - 2024. All rights reserved.