Jsp servlet 3.x中的注释出错
这是我的路Jsp servlet 3.x中的注释出错,jsp,servlets,http-status-code-404,welcome-file,Jsp,Servlets,Http Status Code 404,Welcome File,这是我的路 <welcome-file>home</welcome-file> 并转发到文件homeview.jsp RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/SimpleWebApp/WebContent/WEB-INF/views/homeview.jsp"); dispatcher.forward(request, response
<welcome-file>home</welcome-file>
并转发到文件homeview.jsp
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/SimpleWebApp/WebContent/WEB-INF/views/homeview.jsp");
dispatcher.forward(request, response);
但是,当我运行我的web应用程序时,它会出现htttp状态为404的错误
不管怎样,帮我修复它?非常感谢你的代码工作正常。但是, 与项目结构中的以下内容类似,您可以通过这种方式访问它 家庭控制器(yourServlet) 结构
WebContent
|
|__static
|
|__WEB-INF
|__lib
|__views/homeview.jsp
|__web.xml
欢迎文件只能是静态文件,因此,例如jsp或html文件,它不能指定servlet 如果希望servlet充当欢迎页面,则应将其映射设置为/*以使其成为默认servlet。因此,在您的注释中: @WebServlet(urlPatterns=“/*”) 这样,每当收到不映射到任何其他资源的请求时,就会调用servlet 此外,您还需要修复转发请求,以指定与应用程序的内容根相关的url,如另一个答案所示 以下是根据servlet规范(本文摘自servlet 3.0规范第12.1节)映射的工作原理,仅供参考:
如果前三个规则都没有导致servlet匹配,那么容器将尝试提供适合所请求资源的内容。如果为应用程序定义了“默认”servlet,则将使用它。许多容器都提供了一个隐式的默认servlet来提供内容。整个404错误是什么?请求的资源不可用。您是否能够解决问题?我正在关注Gurkan的帖子,但仍然存在错误您现在遇到了什么错误?您完全正确。我试过了,它在码头上很管用。我会说一点英语。写作更糟:)对不起。我写这篇文章不是为了亲自尝试。谢谢,但我没有使用Jetty,我只是学习了几天servler和jsp,我不知道如何使用Jetty。我想使用anotationIm fixed done.error不在代码和结构项目中。我检查了我的homview.jsp,在这里发现了错误(我包括_fooder和_homeview的头,但它出错了)。谢谢大家!
request.getRequestDispatcher("/WEB-INF/views/homeview.jsp").forward(request, response);
WebContent
|
|__static
|
|__WEB-INF
|__lib
|__views/homeview.jsp
|__web.xml