Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Servlet映射不起作用_Java_Jsp_Servlets_Web.xml - Fatal编程技术网

Java Servlet映射不起作用

Java Servlet映射不起作用,java,jsp,servlets,web.xml,Java,Jsp,Servlets,Web.xml,我使用JSP和servlet创建了一个简单的程序。毕竟,我已经在web.xml中设置并映射了servlet,如下所示。但我总是得到空白页 <servlet> <servlet-name>example</servlet-name> <servlet-class>exampleServlet</servlet-class> </servlet> <servlet-mapping>

我使用JSP和servlet创建了一个简单的程序。毕竟,我已经在web.xml中设置并映射了servlet,如下所示。但我总是得到空白页

<servlet>
        <servlet-name>example</servlet-name>
        <servlet-class>exampleServlet</servlet-class>
</servlet>
<servlet-mapping>
        <servlet-name>example</servlet-name>
        <url-pattern>/exampleServlet</url-pattern>
</servlet-mapping>
我的文件结构是

JSP file  --> tomcat/webapps/application/index.jsp

Servlet   --> tomcat/webapps/application/WEB-INF/classes/exampleServlet.class
我哪里出错了?我犯了什么错误?你能推荐我吗


编辑:我正在将表单元素发布到该servlet。到那时,它会像这样传递URL
http://localhost:8080/application/exampleServlet

您的请求可能与URL模式不匹配。试着这样做:

<url-pattern>/exampleServlet/*</url-pattern>
/exampleServlet/*
如果在提交表单时出现“错误”,那是因为servlet不提供任何输出,也不返回任何响应。在您的
doPost
中,您应该将响应写回浏览器,或者将请求交给执行操作的人

public void doPost(HttpServletRequest req, HttpServletResponse res) {
    PrintWriter out = res.getWriter();
    out.println("<html><body>Hello world</body></html>");
}
public void doPost(HttpServletRequest-req,HttpServletResponse-res){
PrintWriter out=res.getWriter();
out.println(“你好世界”);
}
至少会打印一些东西,虽然没有什么有用的东西


“正确”的做法是重定向或包含进行渲染的视图。

应用程序中的一切都很好。您得到的是空白页,因为您的
doPost
方法没有任何作用。它只将值打印到控制台输出

将其更改为,例如:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter writer = response.getWriter();
    writer.print("something");
}

然后查看浏览器中是否出现
内容。

尝试使用与
url模式不同的
servlet clas
名称。

类似于跟随,或者反之亦然

  <servlet>
            <servlet-name>example</servlet-name>
            <servlet-class>exampleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>example</servlet-name>
            <url-pattern>/egServlet</url-pattern>
    </servlet-mapping>

例子
示例servlet
例子
/egServlet

在改变之后重新启动服务器

你是如何访问它的,它什么时候给出空白页?如果你的DOPOST方法除了打印之外什么都不做,你还希望得到什么?@ NILSH我用所需的细节编辑了我的帖子。请看that@PauliusMatulionis我想获取要上载的选定文件的文件路径。但最初我想测试流程是否正常。这就是我打印值的原因。但它不在函数内部。您正在使用哪个tomcat容器?已编辑。。这个应该走了/应用程序/应该在webcontext路径中。我这样更改了。但它不起作用。它再次显示空白页面在进行更改后是否重新启动了Tomcat?天哪。我疯了。我一直在尝试,没有重启Tomcat。现在它正在工作。谢谢,没问题。记住,在进行任何更改之后,必须重新启动servlet容器。如果你继续重新部署你的应用程序,它最终会耗尽内存。设置一个断点或向控制台写入一些东西,看看你的servlet是否被调用。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter writer = response.getWriter();
    writer.print("something");
}
  <servlet>
            <servlet-name>example</servlet-name>
            <servlet-class>exampleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>example</servlet-name>
            <url-pattern>/egServlet</url-pattern>
    </servlet-mapping>