无法在具有嵌入式 Jetty 9 的 Spring MVC 中找到 JSP 视图
Unable to find JSP views in Spring MVC with Embedded Jetty 9
我有一个 Spring MVC,将嵌入式 Jetty 从 Jetty 7 升级到 Jetty 9.3.9 和 Java 8. 我重写了嵌入式 Jetty 9 class 以支持 JSP 对于 Jetty 9 参考示例 here 和一些关于 SO 的有用问题,但是当我启动应用程序服务器时,我仍然得到
Problem accessing /webapp/WEB-INF/views/404.jsp
每当我尝试访问 http://localhost:8080/webapp/index 时,我都会收到 404 Not found,但是,从信息日志中我可以看到,webapp 正在访问我的 BaseController:
@Controller
public class BaseController{
private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView login(HttpServletRequest request,
HttpServletResponse response) {
String sessionid = request.getSession().getId();
Map<String, String> model = new HashMap<String, Object>();
logger.info("Requested home page...");
model.put("Welcome Page", "Welcome to home");
return new ModelAndView("index", model);
}
我的项目层次结构,我有两个项目。 Jetty-Startup 启动 Jetty 服务器以配置服务器属性。其他项目 - 我的所有 web.xml、servlet、控制器、JSP、JS、CSS 等所在的 webapp。
JSP 支持是否缺少某些配置?任何人都可以找出我所缺少的东西,这将非常有帮助。
提前致谢!
问题是 JSP 文件路径需要在您的 startServer()
中正确配置,如下所示:
context.addServlet(jspServletHolder(), "/WEB-INF/views/*.jsp");
我从 Spring 调试日志中意识到我有两个 servlet(appservlet 和 wsServlet)基本上映射到我 web.xml
中的相同路径
将我的 wsServlet 映射到不同的 Url 模式并且能够加载 jsp 页面。
我有一个 Spring MVC,将嵌入式 Jetty 从 Jetty 7 升级到 Jetty 9.3.9 和 Java 8. 我重写了嵌入式 Jetty 9 class 以支持 JSP 对于 Jetty 9 参考示例 here 和一些关于 SO 的有用问题,但是当我启动应用程序服务器时,我仍然得到
Problem accessing /webapp/WEB-INF/views/404.jsp
每当我尝试访问 http://localhost:8080/webapp/index 时,我都会收到 404 Not found,但是,从信息日志中我可以看到,webapp 正在访问我的 BaseController:
@Controller
public class BaseController{
private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView login(HttpServletRequest request,
HttpServletResponse response) {
String sessionid = request.getSession().getId();
Map<String, String> model = new HashMap<String, Object>();
logger.info("Requested home page...");
model.put("Welcome Page", "Welcome to home");
return new ModelAndView("index", model);
}
我的项目层次结构,我有两个项目。 Jetty-Startup 启动 Jetty 服务器以配置服务器属性。其他项目 - 我的所有 web.xml、servlet、控制器、JSP、JS、CSS 等所在的 webapp。
JSP 支持是否缺少某些配置?任何人都可以找出我所缺少的东西,这将非常有帮助。
提前致谢!
问题是 JSP 文件路径需要在您的 startServer()
中正确配置,如下所示:
context.addServlet(jspServletHolder(), "/WEB-INF/views/*.jsp");
我从 Spring 调试日志中意识到我有两个 servlet(appservlet 和 wsServlet)基本上映射到我 web.xml
中的相同路径将我的 wsServlet 映射到不同的 Url 模式并且能够加载 jsp 页面。