搞了一个周末,终于把spring mvc的一个demo用jetty手动跑起来啦。中间还是碰到了一些问题,所以在这里把代码贴出来,给刚接触jetty的同学一个参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.jasper.servlet.JspServlet;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.DefaultServlet;
import org.mortbay.jetty.servlet.FilterHolder;
import org.mortbay.jetty.servlet.ServletHolder;
import org.springframework.js.resource.ResourceServlet;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.filter.DelegatingFilterProxy;
import org.springframework.web.servlet.DispatcherServlet;
/**
* 在eclipse中启动
* @author ertuo
*/
public class JettyWebStarter {
/**
* 服务器启动。
*/
public void start() {
Server server = new Server();
Connector connector = new SocketConnector();
connector.setPort(8080);
server.addConnector(connector);
Context root = new Context(server, "/booking-mvc", Context.SESSIONS);
/**启动的时候就会加载这个listener 这里开始建立spring的application content*/
ContextLoaderListener listener = new ContextLoaderListener();
/**设置spring配置文件位置*/
Map<String, String> initParams = new HashMap<String, String>();
initParams.put("contextConfigLocation", "/WEB-INF/config/web-application-config.xml");
root.setInitParams(initParams);
/**servlet context*/
root.setResourceBase("E:/sources/spring/spring-webflow-2.0.5.RELEASE/projects/spring-webflow-samples/booking-mvc/src/main/webapp");
root.addEventListener(listener);
/**资源文件解析*/
ServletHolder holder=new ServletHolder(new ResourceServlet());
root.addServlet(holder, "/resources/*");
/**spring control*/
holder = new ServletHolder(new DispatcherServlet());
holder.setInitParameter("contextConfigLocation", "/WEB-INF/config/web-application-config.xml");
root.addServlet(holder, "/spring/*");
/**jsp 解析servlet*/
holder=new ServletHolder(new JspServlet());
root.addServlet(holder, "*.jsp");
/**html*/
holder=new ServletHolder(new DefaultServlet());
root.addServlet(holder, "*.html");
/**welcome file 这里没有生效 不知道为什么*/
root.setWelcomeFiles(new String[]{"index.html"});
postStart(root);
try {
server.start();
server.join();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private void postStart(Context root){
/**spring内部过滤器代理 里面包含了默认的11个过滤器 这里的初始化参数可以直接些spring的bean名称*/
FilterHolder filterHolder=new FilterHolder(DelegatingFilterProxy.class);
filterHolder.setName("springSecurityFilterChain");
root.addFilter(filterHolder, "/*", org.mortbay.jetty.Handler.DEFAULT);
}
}
源代码在附件中,跑demo需要maven支持。
分享到:
相关推荐
利用maven搭起的Spring MVC+Mybatis框架,并带有数据库表结构,使用者可直接导入mysql使用,有主外键关系
本Demo使用Spring MVC 框架实现微信公众号开发功能。 本项目为WxJava的Demo演示程序,更多Demo请 查阅此处。 如果想支持多公众号,请参考spring boot版本的demo:...
用Spring MVC+MyBaits+Maven+Jetty+IntelliJ IDEA 12.0.4 +Mysql 搭建了一个项目。比较简单。供参考。
maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开...
配置:复制/src/main/resources/wx.properties.template或者修改其扩展名生成wx.properties文件,填写相关配置;...使用Maven的运行演示程序:mvn jetty:run 或者自己打的战争包发布到tomcat的运行;
本Demo使用Spring MVC 框架实现微信公众号开发功能。 本项目为WxJava的Demo演示程序,更多Demo请 。 如果想支持多公众号,请参考spring boot版本的demo: 使用步骤: 新手遇到问题,请务必先阅读的常见问题部分,...
使用Servlet容器运行(Tomcat、Jetty等),需要在web.xml中装配spring.xml、spring-dao、以及provider配置文件 缺点:增加复杂性(端口、管理、浪费资源(内存) 、需要占用多个端口和内存,不建议 第二种方式: ...
maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开...
它是用于学习的简单Spring MVC应用程序。 目的是引入Spring Framework和其他技术。 有什么用? Spring框架 玛文 码头(Maven码头插件) JSP 如何使用? 在项目目录的命令行中键入“ mvn jetty:run”。
hessian-demo工程示例,已集成内置jetty插件,可以直接运行。 spring4,hessian4.0.7
这个框架是在学习Spring的时候,为了积累学习成果,自己搭建的,一般的系统开发也可以直接使用,包括一个系统开发的基础功能。 以下是当时自己开发时的日志,大致可以说明框架里已有功能 1.0.5 从web项目迁移成maven...
ModeSpring 采用时髦的RESTful 风格和基于注释的Spring MVC 设计模式,遵循最新JPA (Hibernate ORM) 规范的DAO 设计模式,利用Maven 组织项目进行模块化管理&版本控制, 并使用Log4j 2 的日志管理模块,通过贯穿...
本Demo使用Spring MVC 框架实现微信公众号开发功能,支持多公众号。 如果想使用更多公众号,请复制相关配置文件,修改spring配置文件添加相应配置,同时还需要增加相应的controller和service,具体可以参考已有源码...
maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开...
maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开...
SpringMVC | MVC框架 | [http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc](http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc) ...
Java管理后台快速开发SSM框架_优化版-JDK1.8 框架简介 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源...mvn> jetty:run Update 2019-01-16 增加maven自定义参数版本号 启动时增