我第一次尝试创建servlet,结果出现了一个我无法解决的问题;
我的入口页面,简单的hello world,如下所示:
@WebServlet("/")
public class EntryServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter writer = resp.getWriter();
writer.println("Hello World");
writer.close();
} 所以我对@WebServlet("/")的期望是GET / returns Hello World页面。
所有其他请求,例如GET /wrong url,都应该返回404。令人惊讶的是,在将WAR部署到Wildfly10之后,我尝试的每个url都收到了"Hello World“。
所以@WebServlet("/")的行为类似于@WebServlet("/*") --是它应该是这样的,还是我做错了什么?
更新
我在这里找到了答案:Difference between / and /* in servlet mapping url pattern
发布于 2016-08-12 07:39:58
我认为使用@WebServlet("/helloworld")代替@WebServlet("/")。所以如果你把GET / error -url放进去,它会给出404错误。
https://stackoverflow.com/questions/38907675
复制相似问题