无法在使用Embedded Jetty 9的Spring MVC中找到JSP视图

时间:2016-11-11 05:55:56

标签: java jsp spring-mvc embedded-jetty jetty-9

我有一个Spring MVC,将嵌入式Jetty从Jetty 7升级到Jetty 9.3.9和Java 8.我重新编写了Embedded Jetty 9类以支持JSP for Jetty 9引用示例here以及一些有用的问题但是,当我启动App服务器时,我得到了

Problem accessing /webapp/WEB-INF/views/404.jsp

每当我尝试访问http://localhost:8080/webapp/index时,我都会找到404 Not not,但是,从我看到的信息日志中,webapp正在点击My 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服务器以配置服务器属性。其他项目 - webapp,其中包含我的所有web.xml,servlet,控制器,JSP,JS,CSS等。

是否有一些我缺少JSP支持的配置?任何人都可以弄清楚我错过了什么将是非常有帮助的。

提前致谢!

2 个答案:

答案 0 :(得分:0)

问题是需要在startServer()中正确配置的JSP文件路径,如下所示:

context.addServlet(jspServletHolder(), "/WEB-INF/views/*.jsp");

答案 1 :(得分:0)

我实现了Spring Debug日志,我有两个servlet(appservlet&amp; wsServlet)基本上映射到我的web.xml中的相同路径

将我的wsServlet映射到不同的Url-pattern并且能够加载jsp页面。