这几天搞一个web项目,用eclipse的j2ee,每改一次就部署一次速度实在让人不敢恭维.再加上频繁的重启动服务器,打算用jetty的纯API方式代替.结果搞了两三个小时才搞定.其实很简单,放在这里做备份:
package lan.server;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.webapp.WebAppContext;
public class Main {
public static void main(String[] args) {
System.setProperty("org.mortbay.util.URI.charset", "ISO-8859-1");
//上句模拟tomcat的默认url编码配置.否则jetty默认是此文件的编码,会不对应,造成移植困难
Server server = new Server(2534);
WebAppContext context = new WebAppContext();
context.setContextPath("/test");
context.setWar("D:\\workspace\\test\\WebRoot");
server.addHandler(context);
try {
server.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
需要引入的包(jsp2.0):
期间,出了乱码问题,查资料,改编码,加encodeFilter,全都不顶用.最后发现不知道那个童鞋在项目里加入了个servlet.jar....还是个老版本.
删除这个包,使用上面的servlet-api-2.5.jar,再次运行,一切OK.....
真是让人崩溃的问题!
另附上在tomcat下加配置文件直接指向项目的webroot目录,不用再往webapps下拷的办法(以上项目为例):
在tomcat\conf\Catalina\localhost下新建一个test.xml文件,写入:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="D:/workspace/test/WebRoot" privileged="true" antiResourceLocking="false" antiJARLocking="false"> </Context>
重启tomcat即可.