搞了一个周末,终于把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+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...
8. **测试与运行**:使用Tomcat或Jetty等Servlet容器运行项目,通过浏览器访问配置的URL,查看Spring MVC应用是否正常工作。 这个"SpringMvc001"可能是项目初始化的目录,包含了一些基本的配置文件和样例代码。...
本Demo使用Spring MVC 框架实现微信公众号开发功能。 本项目为WxJava的Demo演示程序,更多Demo请 查阅此处。 如果想支持多公众号,请参考spring boot版本的demo:...
【Spring MVC 项目Demo】是一个基于Java开发的Web应用程序示例,它利用了Spring MVC、MyBatis、Maven、Jetty服务器以及IntelliJ IDEA作为集成开发环境,并且依赖MySQL数据库来存储数据。这个项目旨在展示如何将这些...
在"spring MVC 多module demo"中,我们探讨的是如何将一个大型项目分解为多个独立的模块,以便更好地管理代码、提高代码复用性和简化项目结构。 1. **模块化开发**:模块化是软件工程中的一个重要概念,它将复杂的...
在本文中,我们将深入探讨如何使用Spring MVC和Maven来构建一个Java项目。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Maven则是一个项目管理工具,用于简化构建、依赖管理和项目文档的生成。 *...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。本教程将通过一个具体的实例来讲解如何搭建Spring MVC项目,确保你能够从头到尾了解每一个步骤。 ...
该demo程序可以打包成WAR文件部署到Tomcat、Jetty等Servlet容器中,或者使用内置的Tomcat服务器(如Spring Boot)直接运行。 通过这个"最新Spring3 MVC 示例 demo程序",你可以学习如何配置Spring MVC、编写...
SpringBoot MVC简单Demo详解 SpringBoot是Spring框架的一个简化版,它旨在简化Spring应用程序的初始搭建以及开发过程。MVC(Model-View-Controller)模式是Web应用开发中常用的一种设计模式,SpringBoot结合MVC提供...
Spring Boot、MyBatis 和 Spring MVC 是三个在Java开发领域广泛应用的开源框架,它们共同构建了一个高效、便捷的Web应用程序开发环境。让我们深入探讨这三个框架的核心功能和它们如何协同工作。 **Spring Boot** ...
在Java Web开发中,Spring框架和Jetty服务器的整合提供了轻量级且高效的应用部署解决方案。这个例程展示了如何利用Spring来启动和管理Jetty服务器,以构建和运行Web应用程序。下面将详细介绍这一过程中的关键知识点...
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实现鼠标在按钮上显示窗口,离开...
为了运行SpringDemo,我们需要配置一个应用服务器,如Tomcat或Jetty,并将Spring相关的配置文件(如applicationContext.xml)和Web配置文件(如web.xml)设置好。然后,将SpringDemo的源代码编译成class文件,放置在...
2. **配置pom.xml**:添加SpringMVC和相关依赖,如Spring Core、Spring Web、Spring MVC、Jackson等。 3. **编写Controller**:创建Controller类,使用`@RequestMapping`注解处理请求。 4. **配置SpringMVC**:在...
Spring Boot Demo 集合是一个全面的教程项目,旨在帮助开发者深入理解和实践Spring Boot框架。这个项目包含了55个不同的集成示例,涵盖了Spring Boot在实际开发中的多种应用场景。通过这些示例,开发者可以逐步掌握...
标题中的"springboot-demo"指的是一个使用Spring Boot框架构建的示例项目,它结合了多个技术组件,包括MyBatis、MySQL、Spring MVC以及可能是Thymeleaf(由于标签拼写不完整,假设是Thymeleaf)。让我们逐一探讨这些...
在本项目中,"SpringMvc集成Redis项目完整示例" 提供了一个全面的教程,教你如何将Spring MVC框架与Redis缓存系统相结合。这个示例包括了Web应用程序的实例以及独立的Java测试案例,无需启动Web服务器即可进行测试。...
这个“spring boot 所有‘demo,打包下载’”的资源集合是一个极好的学习材料,涵盖了 Spring Boot 的多个关键领域,包括 JPA、Tomcat、Cache、Ant、Hibernate 4、Jetty、WAR 包、Web 开发和 XML 配置。 1. **...
在本文中,我们将深入探讨如何使用Spring MVC、Spring 4和Hibernate 4构建一个完整的Java Web应用程序框架模板。Spring MVC是Spring框架的一部分,用于处理Web请求,Spring 4提供了全面的依赖注入和企业级服务,而...