为了账号安全,请及时绑定邮箱和手机立即绑定

servlet WebServlet 注解 404错误

我用Myeclipse创建web project,名字叫IMooc后创建servlet,servlet自己写好了并生成了@WebServlet 

但是启动后提示404 怎么回事呢?

访问http://localhost:8080/IMooc/TestServlet出错404

访问index.jsp(http://localhost:8080/IMooc/index.jsp)完全没问题

servlet具体如下:

@WebServlet(description = "Only For Test", urlPatterns = { "/TestServlet" })

public class TestServlet extends HttpServlet {...}//自己生成的什么都没写

web.xml如下,也是自己生成的,没改动:

<?xml version="1.0" encoding="UTF-8"?>

<web-app 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xmlns="http://java.sun.com/xml/ns/javaee" 

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 

id="WebApp_ID"  version="3.0">

  <display-name>IMooc</display-name>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

正在回答

4 回答

https://img1.sycdn.imooc.com//5bfe519e0001b01304340315.jpg

试试勾上这个

0 回复 有任何疑惑可以回复我~

那个8080端口都一样么?


0 回复 有任何疑惑可以回复我~

应该是路径问题,jsp所在路径和Servlet所在路径不在同一等级目录,所以没找到Servlet。

试着把超链接中的路径修改下,向上一级

../servlet/HelloServlet

我用的eclise在Webcontent 下建了pag目录,下面放的jsp,修改了超链接的路径就好了。

https://img1.sycdn.imooc.com//5b01a80e000158c716420913.jpg

https://img1.sycdn.imooc.com//5b01a80f00013c3a13170940.jpg


0 回复 有任何疑惑可以回复我~

用a标签跳转的话,href应该="TestServlet",表单的话也一样。

其实就是把 @WebServlet(description = "Only For Test", urlPatterns = { "/TestServlet" })中的 /TestServlet

去掉  /  后加入href中。

你这个web.xml中没有自动生成servlet(没生成也不影响跳转),因为你的项目是version="3.0",建项目时用3.0以下

就可以自动生成了

0 回复 有任何疑惑可以回复我~
#1

宝慕林9339883

你好,找了好久才发现你的答案才是正解,不过还有一点问题,我想知道为什么去掉/就不是404了,不是应该匹配绝对路径吗,去掉不就是相对路径了吗,
2018-12-10 回复 有任何疑惑可以回复我~
#2

weixin_慕斯608380

您好!找了2两天,感谢解答,请问一下 如果写成美元符的地址${pageContext.request.contextPath}出现404 也是因为没有自动生成吗?
2019-09-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

servlet WebServlet 注解 404错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信