我第一次尝试创建一个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 /返回Hello World页面 所有其他请求,例如GET / wrong-url应该返回404.令人惊讶的是,在将WAR部署到Wildfly10后,我为每个尝试过的网址收到了“Hello World”。
所以@WebServlet(“/”)表现得有点像@WebServlet(“/ *”) - 它应该是它还是我做错了什么?
UPDATE
我在这里找到了答案:
Difference between / and /* in servlet mapping url pattern
答案 0 :(得分:0)
我认为使用@WebServlet(“/ helloworld”)而不是@WebServlet(“/”)。所以如果你把GET / wrong-url放到它会产生404错误。