java代码启动jetty
2016-06-06 16:34
337 查看
记录下
支持servlet3.0注解启动
http://www.eclipse.org/jetty/documentation/current/using-annotations-embedded.html
添加依赖
http://stackoverflow.com/questions/13222071/spring-3-1-webapplicationinitializer-embedded-jetty-8-annotationconfiguration
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> <scope>test</scope> </dependency>
public class MonitorJetty { /** port */ private int port = 8090; protected String charset = "UTF-8"; public MonitorJetty() { } public MonitorJetty(int port) { this.port = port; } public MonitorJetty(int port, String charset) { super(); this.port = port; this.charset = charset; } /** * 服务器启动。 * */ public void start() { // 设置Jetty日志 System.setProperty("org.eclipse.jetty.util.log.class", StdErrLog.class.getName()); HandlerCollection handlers = new HandlerCollection(); Server server = new Server(this.port); RequestLogHandler requestLogHandler = new RequestLogHandler(); // 设置context WebAppContext context = new WebAppContext(); context.setContextPath("/"); //这个地址的加载方式,eclipse和idea目录有区别,跟maven导入有关 //context.setResourceBase("./src/main/webapp"); //context.setDefaultsDescriptor("/src/test/java/jetty/webdefault.xml"); context.setResourceBase("./monitor/web/war/src/main/webapp"); context.setDefaultsDescriptor("monitor/web/war/src/test/java/jetty/webdefault.xml"); // PS:嵌入式的Jetty,应用当前工程的ClassPath,如果不设置将使用WebAppClassLoder,WEB-INF/lib目录加载jar。 context.setClassLoader(Thread.currentThread().getContextClassLoader()); context.setParentLoaderPriority(true); handlers.setHandlers(new Handler[] { context, new DefaultHandler(), requestLogHandler }); server.setHandler(handlers); // 启动Server try { server.start(); server.join(); } catch (Exception e) { } } public static void main(String[] args) { MonitorJetty server = new MonitorJetty(); server.start(); } }
支持servlet3.0注解启动
http://www.eclipse.org/jetty/documentation/current/using-annotations-embedded.html
添加依赖
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-annotations</artifactId> <version>9.3.17.RC0</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-plus</artifactId> <version>9.3.17.RC0</version> </dependency>
org.eclipse.jetty.webapp.Configuration.ClassList classlist = org.eclipse.jetty.webapp.Configuration.ClassList.setServerDefault(server); classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", "org.eclipse.jetty.plus.webapp.EnvConfiguration", "org.eclipse.jetty.plus.webapp.PlusConfiguration"); classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration", "org.eclipse.jetty.annotations.AnnotationConfiguration");
http://stackoverflow.com/questions/13222071/spring-3-1-webapplicationinitializer-embedded-jetty-8-annotationconfiguration
相关文章推荐
- Quartz 在 Spring 中如何动态配置时间(转)
- Android之eclipse 新版NDK环境搭建(免Cygwin,超级快)-可用
- java replace 双引号到单引号
- 最大熵的Java实现
- 解决eclipse中MAVEN项目提示One or more constraints have not been satisfied
- serverlet 分文件处理
- java计算时间差
- java反射机制详解及应用
- eclipse查看版本
- 四种读写方案IO流 (JAVA)
- java并发
- Java 调用WebService报错
- Javaweb学习路线
- Java 注解
- java实现 阿拉伯数字转换为汉字数字 算法
- Spring源码阅读 --BeanDefinition
- java EE 学习
- Spring 事务管理高级应用难点剖析: 第 3 部分
- beanUtils 使用
- java.lang.System的 System.exit(int code)解析