使用jetty8.0调试项目时,页面会出现这样的问题,查了两天项目,没能确定问题发生的原因,希望大牛们能帮帮忙:

依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pers.lu</groupId>
<artifactId>JFinalMall</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>JFinalMall Maven Webapp</name>
<url>http://maven.apache.org</url>
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
<scope>system</scope>
<systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
<!-- 使用阿里 maven 库 -->
<repositories>
<repository>
<id>ali-maven</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 此处的 scope 值为 compile 仅为支持 IDEA下启动项目.打war包时需要改成 provided,以免将一些无用的jar打进去 -->
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.8</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>cos</artifactId>
<version>2017.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.8</version>
</dependency>
<!-- 新版本 jfinal 在用整合的 Jetty 启动时,需要使用下面的 depencency.
如果是 IDEA 下开发,要将 scope 改成 compile,在打 war 包时注意要再改回来
成为 provided,独立部署用的容器大多都有 jsp 支持的 jar 包 -->
<!-- jsp support by jetty -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jsp</artifactId>
<version>8.1.8.v20121106</version>
<scope>provided</scope>
</dependency>
<!-- jstl相关jar包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>JFinalMall</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<!-- This plugin will help you pre-compile your jsps
and works in conjunction with the Maven war plugin
to put them inside an assembled war. -->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
<version>9.4.12.v20180830</version>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>jspc</goal>
</goals>
<configuration>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>路由:
package pers.lu.route;
import com.jfinal.config.Routes;
import pers.lu.controller.IndexController;
public class IndexRoutes extends Routes {
@Override
public void config() {
setBaseViewPath("index");
add("/index",IndexController.class);
}
}config类
package pers.lu.common;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.core.JFinal;
import com.jfinal.ext.handler.ContextPathHandler;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.render.ViewType;
import com.jfinal.template.Engine;
import pers.lu.common.model.Good;
import pers.lu.common.model.User;
import pers.lu.controller.IndexController;
import pers.lu.route.ActionRoutes;
import pers.lu.route.IndexRoutes;
public class DemoConfig extends JFinalConfig {
public static void main(String[] args) {
JFinal.start("src/main/webapp", 8080, "/");
}
@Override
public void configConstant(Constants arg0) {
// 读取配置文件,也可以使用PropKit
PropKit.use("a_little_config.txt");
arg0.setDevMode(true);
arg0.setEncoding("UTF-8");
// arg0.setViewType(ViewType.JSP);
}
@Override
public void configRoute(Routes arg0) {
// 控制个人中心
arg0.add(new IndexRoutes());
arg0.add(new ActionRoutes());
}
@Override
public void configEngine(Engine arg0) {
// TODO Auto-generated method stub
}
@Override
public void configHandler(Handlers arg0) {
// 用于保证上下文正确,防止文件更新以后,样式表丢失
arg0.add(new ContextPathHandler("ctx"));
}
@Override
public void configInterceptor(Interceptors arg0) {
}
// 使用getModel()方法前必须要启动ARP
@Override
public void configPlugin(Plugins arg0) {
// 根据键值对找到对应的值
DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"));
arg0.add(druidPlugin);
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
//数据库链接池
arg0.add(arp);
arp.addMapping("t_user", User.class);
arp.addMapping("t_goods", Good.class);
// 设置SqlTemplate的基准路径,SqlTemplate是一个sql文件,即建立数据库
/*arp.setBaseSqlTemplatePath(PathKit.getWebRootPath() + "/WEB-INF");
arp.addSqlTemplate("/sql/Mall.sql");*/
}
}controller类
package pers.lu.controller;
import com.jfinal.config.Plugins;
import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Page;
import pers.lu.common.model.Good;
import pers.lu.common.model.User;
public class IndexController extends Controller {
public void index() {
// 参数二为默认值,即当msg为空时,取defaultValue为msg的值
// URL范例:http://localhost:8080/index?msg=123
// String msg = getPara("msg", "defaultValue");
// msg要在前端显示的话需要写成#(msg)
// setAttr("msg", "Hello World!" + msg);
// getParaToInt(0, 1)的意思是取得第一个参数值,没有的话默认为1
// 记得绑定Model,即在public void configPlugin(Plugins arg0)中添加
Page<Good> goodList = Good.dao.paginate(getParaToInt(0, 1), 10);
setAttr("goodList", goodList);
// 渲染名为 test.html 的视图,且视图类型为 JFinal Template
// renderTemplate("/WEB-INF/index.html");
// 商品主页面
// renderJson(goodList);
render("/index.jsp");
}
}项目没有报错,只是不能识别脚本程序。再次感谢大牛的帮助。
项目:JFinal