Java Simple servlet在Tomcat/9.0.14中遇到问题,错误为;源服务器未找到当前表示形式..”;
在ApacheTomcat/9.0.14中,我创建了一个非常简单的servlet来运行,但出现了以下错误: 源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式 我跟随这篇文章: 我用jdk1.8.0_151在redhat 6.9中安装了tomcat/9.0.14 我也在我的桌面Windows10上尝试了同样的方法 当我按照上面文章中的步骤,尝试直接使用url“localhost:8080\First\hello”运行servlet时,我得到了如下错误:Java Simple servlet在Tomcat/9.0.14中遇到问题,错误为;源服务器未找到当前表示形式..”;,java,tomcat,servlets,Java,Tomcat,Servlets,在ApacheTomcat/9.0.14中,我创建了一个非常简单的servlet来运行,但出现了以下错误: 源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式 我跟随这篇文章: 我用jdk1.8.0_151在redhat 6.9中安装了tomcat/9.0.14 我也在我的桌面Windows10上尝试了同样的方法 当我按照上面文章中的步骤,尝试直接使用url“localhost:8080\First\hello”运行servlet时,我得到了如下错误: <?xml vers
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="3.0" xmlns="java.sun.com/xml/ns/javaee" xmlns:xsi="w3.org/2001/XMLSchema-instance" xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>pl.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
HTTP状态404–未找到
类型状态报告 留言/你好 说明源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式 ApacheTomcat/9.0.14
web.xml文件如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="3.0" xmlns="java.sun.com/xml/ns/javaee" xmlns:xsi="w3.org/2001/XMLSchema-instance" xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>pl.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
我已经读过这里的帖子:
我没有使用像Eclipse或J_Builder这样的IDE。我只是按照上面的帖子构建这个servlet来测试它是否工作正常
还多次重新启动服务器,重新编译、重新检查web.xml并检查tomcat web日志
它只是简单的不起作用
package pl;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServerlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>Hello Readers</h1>");
out.println("</body></html>");
}//end of doGet
}//end of Class
pl包;
导入java.io.*;
导入java.util.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
公共类MyServerlet扩展了HttpServlet{
public void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出IOException,ServletException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“读者你好”);
out.println(“”);
}//末日
}//下课
您的web应用程序目录结构中有一个输入错误。它应该是WEB-INF
而不是WEB-INF
您是否在URL中使用了反斜杠?“localhost:8080\First\hello”。使用普通斜杠试试:“localhost:8080/First/hello”早上好,vanje:我在URL中尝试了反斜杠“\”,但在Chrome中它会自动更改为普通斜杠“/”。当我把网络信息改回WEB-INF的时候,它很好用。非常感谢,祝你有一个愉快的一天。亲爱的马克·托马斯,你回答了我的问题,帮我省去了一个大麻烦。我在这个问题上工作了几个星期,直到我把它贴在这里。非常感谢您,祝您度过愉快的一天。我还感谢编辑我的原始帖子并将java代码和web.xml放入其中的人,使其清晰易读。为我缺乏一开始就把它贴对的技巧道歉。非常感谢,祝你度过愉快的一天。