问答详情
源自:1-3 手工编写第一个Servlet

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>

提问者:xsq1205 2018-05-11 17:19

个回答

  • Guxingzhe
    2018-11-28 16:28:28

    https://img3.mukewang.com/5bfe519e0001b01304340315.jpg

    试试勾上这个

  • 丞旭猿
    2018-07-14 17:42:54

    那个8080端口都一样么?


  • 我踽踽独行
    2018-05-21 00:53:42

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

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

    ../servlet/HelloServlet

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

    https://img1.mukewang.com/5b01a80e000158c716420913.jpg

    https://img1.mukewang.com/5b01a80f00013c3a13170940.jpg


  • 春天的雪
    2018-05-14 01:04:42

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

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

    去掉  /  后加入href中。

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

    就可以自动生成了