关于使用JFinal构建maven项目时,使用jetty启动项目,无法渲染jsp页面的问题
原因:jetty-server 缺少jsp支持,需引入jar包
引用来自JFianl作者“JFinal”的评论
特别注意,其实最简单的方式,只需要第一个 jetty-jsp 即可,但 war 包打出来会包含很多 jetty 的东东,而通常你的生产环境用的是 tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将 scope 全部声明为了 provided,打 war 包时不会包含这些东东。
下面给出 maven项目 pom.xml需要添加的dependency:
<!-- Jetty JSP:根据 Dependency Hierarchy 视图拆分成了七个 dependency,
- 方便项目以及便于 导出 war的在jetty与tomcat间无缝迁移
- Dependencies: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jsp</artifactId>
<version>8.1.8.v20121106</version>
<scope>provided</scope>
</dependency>
注意:可以选择添加上面一个或者下面七个!
-->
<dependency><!-- jetty-server-8.1.8 开发时JSP 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.servlet.jsp</artifactId>
<version>2.2.0.v201112011158</version>
<scope>provided</scope>
</dependency>
<dependency><!-- jetty-server-8.1.8 开发时JSP 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>org.apache.jasper.glassfish</artifactId>
<version>2.2.2.v201112011158</version>
<scope>provided</scope>
</dependency>
<dependency><!-- jetty-server-8.1.8 开发时JSP 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.0.v201108011116</version>
<scope>provided</scope>
</dependency>
<dependency><!-- jetty-server-8.1.8 开发时JSP 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>com.sun.el</artifactId>
<version>2.2.0.v201108011116</version>
<scope>provided</scope>
</dependency>
<dependency><!-- jetty-server-8.1.8 开发时JSP 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
<version>3.7.1</version>
<scope>provided</scope>
</dependency>
<dependency><!-- JSTL 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.servlet.jsp.jstl</artifactId>
<version>1.2.0.v201105211821</version>
<exclusions><!-- 避免导出 servlet jar 包 -->
<exclusion>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.servlet</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency><!-- JSTL 支持 -->
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>org.apache.taglibs.standard.glassfish</artifactId>
<version>1.2.0.v201112081803</version>
<exclusions><!-- 避免导出 servlet jar 包 -->
<exclusion>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.servlet</artifactId>
</exclusion>
</exclusions>
</dependency>