IDEA下Servlet可能出现404的一些情况
关于注解的写法
1.注解中只写name,不写urlPatterns。结果会报错。
2.不明确写出urlPatterns,但内容是urlPatterns的内容:@WebServlet("/ServletDemo1")
注:斜杠后面的部分可以换成自己的编写的java文件名。结果可以访问。
3.只写urlPatterns:@WebServlet(urlPatterns = "/ServletDemo1")
。结果可以访问。
4.name和urlPattern都写:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")
。结果可以访问。
综上所述,建议name与urlPatterns都写上:@WebServlet(name = "ServletDemo1", urlPatterns = "/ServletDemo1")
但每次这样写会很麻烦,可以直接改一下模板:
然后把@javax.servlet.annotation.WebServlet(name = "${Entity_Name}", urlPatterns="/${Entity_Name}")
复制进去即可。
关于表单访问servlet的写法
先放一下我的目录:
正确写法:
<form action="/ServletDemo1"
注意:这里可能有人说ServletDemo1不是在class="lazy" data-src目录下面吗?为什么不写class="lazy" data-src呢?
先说结果,写了class="lazy" data-src会报错,下面的错误写法中也会有体现。我思考了下,原因可能是:我们在第一次配置servlet环境的时候,选择了class="lazy" data-src为servlet文件的根目录,同时,也正因为我们选择了class="lazy" data-src作为servlet的根目录,所以我们才能在class="lazy" data-src目录下创建servlet文件,如下图:
综上,class="lazy" data-src是被视为根目录的,用"/"就可以表示根目录,所以直接写<form action="/ServletDemo1">
是可以的。
错误写法:
1.<form action="/WEB-INF/classes/ServletDemo1.class" method="get">
注:method选择get或post大家根据实际情况决定,我这里一并放上来了,大家只关注action的内容即可。
2.<form action="/class="lazy" data-src/ServletDemo1" method="get">
到此这篇关于IDEA下Servlet可能出现404的一些情况的文章就介绍到这了,更多相关IDEA下Servlet404报错内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341