创建一个spring管理的应用程序,想在应用程序中加一个管理功能,因此采用嵌入式web服务器jetty来完成。
1. spring的xml配置中需要加上<import resource="jetty.xml"/>这一行代码
2.创建jetty.xml文件:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="handler" class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/admin" />
<property name="resourceBase" value="./webapps/admin" />
<property name="logUrlOnStart" value="true" />
</bean>
<bean id="Server" class="org.eclipse.jetty.server.Server"
init-method="start" destroy-method="stop">
<property name="connectors">
<list>
<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="port" value="9191" />
</bean>
</list>
</property>
<property name="handler">
<ref bean="handler" />
</property>
</bean>
</beans>
注意 name="contextPath" value="/admin" 和 port value="9191"
3.配置好以后需要在项目中添加web目录:
webapps
admin
WEB-INF
web.xml
index.jsp
目录的基本结构为上面描述,admin为访问的上下文环境,如果不创建也可以
4.可以创建你的web项目了,包括jsp和servlet
5.不过有一点,想要在servlet中使用spring管理的bean是个麻烦的问题,因为他们不再同一个上下文环境中,不能随意的注入,解决办法为:创建一个获取spring管理的bean的工具类
package net.etongbao.common.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* 获得指定上下文和Root上下文环境
* <p>
* 通过在*.xml文件中配置
* <pre>
* <bean id="applicationContextHelper" class="net.etongbao.common.ApplicationContextHelper"></bean>
* </pre>
* 配置完成后ApplicationContextHelper会获得所在xml文件Context
*/
public class ApplicationContextHelper implements ApplicationContextAware {
private static ApplicationContext ctx = null;
/**
* 获得Bean对象
*
* @param clazz Bean类型
* @return Bean对象
*/
public static <T> T getBean(Class<T> clazz) {
return ctx.getBean(clazz);
}
/**
* 获得Bean对象
*
* @param className
* @return
*/
public static Object getBean(String className) {
return ctx.getBean(className);
}
/**
* 获得应用所在上下文环境
*
* @return
*/
public static ApplicationContext getContext() {
return ctx;
}
/* (non-Javadoc)
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext args0) throws BeansException {
ctx = args0;
}
}
在需要把这个类注入到spring环境中,在xml中这样配置:
<bean id="applicationContextHelper" class="net.etongbao.common.utils.ApplicationContextHelper"></bean>
6.这样就可以在你的Servlet种使用spring管理的bean了 如:
PospCacheService pospCacheService = (PospCacheService) ApplicationContextHelper.getBean("pospCacheService");
分享到:
相关推荐
java应用程序实现jetty 集成jersey 和spring
它创建了一个简单的 maven 应用程序,由一个父 pom 和两个模块组成:客户端和服务器。 此时的客户端是空的。 服务器模块使用 Jetty 9 作为容器和 Jersey 2.18 来管理 REST 端点。 依赖注入由 Spring 4 管理,并且 ...
码头4Spring该库可帮助您将Jetty嵌入到Spring应用程序中。动机将Web容器(Jetty)嵌入到应用程序中是一种创建独立且轻量级应用程序的新方法。 当我决定将Jetty嵌入到一个应用程序中(在令人惊叹的Spring Boot之前)...
Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、...
这是一个独立的基于 Spring 的 Java 应用程序,它嵌入了 Jetty 并使用 SpringMVC 作为其 Web 层。 它是一个模板,用于演示将 Jetty 和 SpringMVC 作为 Web 层嵌入到您的应用程序中,而不是将您的应用程序部署到容器...
Spring Boot还提供了内置的开发服务器,如Tomcat、Jetty等,可以方便地运行和调试应用程序。开发者可以通过命令行或IDE启动应用程序,自动启动内置服务器,并提供热部署和自动重启功能,实现快速开发和
Spring Boot是一个用于简化Spring应用程序创建和开发过程的框架。它的设计目标是通过...内嵌Servlet容器:Spring Boot的应用程序内嵌了Tomcat或Jetty等Servlet容器,使得开发人员无需单独部署和配置应用程序的容器。
Spring MVC嵌入式码头示例 使用嵌入式Jetty 9服务器的基本Spring MVC 4应用程序。 无xml配置。 包括API REST服务,Freemarker和JSP示例。 与Mongo DB集成。 要求
其次,Spring Boot支持内嵌的Servlet容器(如Tomcat、Jetty、Undertow等),这意味着你可以将应用程序打包为一个可执行的JAR文件,并直接运行,无需单独安装和配置外部容器。这大大简化了应用的部署过程,提高了开发...
利用jetty9启动无web.xml配置的spring4最简单应用程序 Requirements 启动应用程序的方法 方法1 mvn jetty:run 方法2 mvn clean install exec:exec 方法3 通过jetty的 org.eclipse.jetty.xml.XmlConfiguration 执行...
要构建和运行 Spring5 应用程序,你至少需要 J2EE7 和 JDK8。以前的 JDK 和 JavaEE 版本不再支持。 JavaEE7 包含: Servlet 3.1 JMS 2.0 JPA 2.1 JAX-RS 2.0 Bean Validation 1.1 与 Java 基准类似,许多...
内嵌的容器:Spring Boot 可以打包成一个独立的 JAR 文件,并且内置了 Tomcat、Jetty 或 Undertow 等容器,使得应用程序可以直接运行,而无需外部容器的支持。 自动化的依赖管理:Spring Boot 通过 Starter POMs ...
创建独立的Spring 应用程序; • 嵌入的Tomcat 、Jetty 或者Undertow ,无须部署WAR 文件: . 允许通过Maven 来根据需要获取starter; 尽可能地自动配置Spring; • 提供生产就绪型功能,如指标、健康检查和外部...
模板 - 嵌入式 Jetty/SpringMVC/JSP 应用程序概括这是一个独立的基于 Spring 的 Java 应用程序,它嵌入了 Jetty 并使用 SpringMVC 作为其 Web 层。 Spring Security 用于身份验证。 它是一个模板,用于演示将 Jetty ...
要求Java 8 Maven的3.3 码头9 SQLite的3.8包括Spring WebMvc 4.2.1 ORMLite 4.48 角1.4.5 ngResource 1.4.5 UI路由器0.2.15 引导程序3.3.5用法与mvn jetty:run-war去做单元测试属性文件请注意,该应用程序正在使用...
Jetty 被用作部署应用程序的服务器。 学习成果是: 了解应用程序开发的堆栈 接触 Spring 和 Hibernate 框架 通过 java 文件而不是 xml 进行配置 学习注解 在后端实现 CRUD 方法(没有 Spring Boot) 了解数据库...
Jetty 推出的具有三个页面的 Web 应用程序:登录、注销、主页。 每个人都可以登录和注销,主页仅对注册用户可用。 它从开始。 之后做了什么: 通过 Maven 添加程序集 为与新弹簧和检票口兼容而进行的更改 解决了...
该代码由一个客户端和一个Web应用程序组成,该Web应用程序提供了简单的计算功能来说明如何使用Spring WebMVC。 还有一个有用的EmbeddedServer类,该类允许webapp作为独立的Java应用程序运行(基于内容)。 也可以...
Spring 4.2.1.RELEASE REST控制器:Spring Web MVC 4.2.1.RELEASE JSON转换:Jackson 2.4.6 验证:Hibernate Validator 5.1.3.Final在本地运行要启动Web应用程序,请执行mvn这将干净地构建应用程序,启动Jetty容器并...