转自:http://deny.xhblog.com/archives/2007/233803.shtml
1. web.xml中还是
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/spring/**/*-context.xml
</param-value>
</context-param>
2. portal-context.xml中的一段
<bean
id="customerInfoServlet"
class="chances.card.portal.customer.CustomerInfoServlet"
>
<property name="infoPage">
<value>${portal.card.info.index}</value>
</property>
<property name="customerLoginUrl">
<value>${portal.card.loginUrl}</value>
</property>
<property name="cardSearcher">
<ref bean="cardSearcher"/>
</property>
<property name="cardManager">
<ref bean="cardManager"/>
</property>
</bean>
3. web.xml 中的一段配置
<servlet>
<servlet-name>customerLogin</servlet-name>
<servlet-class>
chances.card.commons.servlet.proxy.SpringServletProxy
</servlet-class>
<init-param>
<param-name>beanName</param-name>
<param-value>customerLoginServlet</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>customerLogin</servlet-name>
<url-pattern>/customerLogin</url-pattern>
</servlet-mapping>
----------------------------最早的servlet 的配置方法
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>A test Servlet</description>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
4
.
SpringServletProxy .java 类的代码
/**
* Created on 2007-08-16
* $Id $
* $Source $
* $Revision $
*/
package chances.card.commons.servlet.proxy;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import chances.commons.web.SpringWebUtils;
/**
* Servlet代理
*
* @author <a href="mailto:hjd_668@126.com">hjd_668</a
>
* @version 1.0
*
*/
public class SpringServletProxy
extends HttpServlet {
private static final long serialVersionUID = -5712473045972662420L;
Servlet target;
/**
* (non-javadoc)
*
* @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
target.service(arg0, arg1);
}
/**
* (non-javadoc)
*
* @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
super.init(config);
String name = config.getInitParameter("beanName");
Object obj = SpringWebUtils.getBean(config.getServletContext(), name);
if (obj instanceof Servlet) {
target = (Servlet) obj;
} else {
throw new IllegalArgumentException(name);
}
target.init(config);
}
/**
* (non-javadoc)
*
* @see javax.servlet.GenericServlet#destroy()
*/
public void destroy() {
super.destroy();
target.destroy();
}
}
分享到:
相关推荐
Spring提供了对各种持久化技术(如JDBC、Hibernate、MyBatis等)的集成,使得在Servlet中操作数据库变得简单。我们可以在Spring配置文件中定义数据源和DAO Bean,然后在Servlet中通过依赖注入获取这些DAO对象,执行...
`spring.web`库提供了与Servlet容器交互的基础,而`spring.webmvc`库则包含Spring MVC的控制器、视图解析和模型-视图-控制器(MVC)架构相关组件。 总结来说,Spring 3.0.5通过AOP提供对`HttpServletResponse`的...
4. **扩展性和可维护性**:Spring MVC提供了更好的模块化和解耦,使得添加新功能、调整逻辑、单元测试更加方便,而原生Servlet的代码更容易变得复杂和难以维护。 在"AbTest"项目中,可以对两种方法进行基准测试,...
这个压缩包可能包含了一个简单的Spring AOP应用示例,同时也涵盖了Java的一些核心概念,如过滤器、监听器、JDBC等。 【描述】"SPRING AOP自主实现,还包括一些java基础,可以很快自主实现切面编程" 提示我们,此...
在`SpringAOP`目录中,可能包含了定义切面、通知(advice)、切入点(pointcut)等内容。AOP的实现通常通过定义切面类,其中包含通知方法,并通过切入点表达式确定这些通知在何时何地执行。这使得代码更加模块化,...
Spring AOP(Aspect Oriented Programming,面向切面编程)是一种编程范式,它通过分离关注点(Separation of Concerns)的方式,将应用程序的核心业务逻辑与非核心业务逻辑(如日志记录、事务管理等)分开处理。...
5. **测试友好**:Spring MVC的依赖注入和Mocking机制使单元测试变得简单,而原生Servlet测试可能需要更复杂的设置。 6. **扩展性**:Spring MVC的模块化设计使其更容易扩展和整合其他功能,如拦截器、模板引擎等。...
将Spring与Servlet整合可以充分利用两者的优点,构建出高效、可维护的Web应用。 **Spring框架的核心特性** 1. **依赖注入(Dependency Injection, DI)**:Spring通过XML配置或注解方式管理对象的依赖关系,使得...
【标题】: "Java Web开发中的JSP、Servlet、Struts、Hibernate和Spring技术详解" 【描述】: "本文深入探讨Java Web开发中常见的技术,包括JSP、Servlet、Struts、Hibernate和Spring,讲解它们的工作原理和实用技巧...
Spring MVC AOP(面向切面编程)是Spring框架的一个重要组成部分,它允许我们在不修改源代码的情况下,通过插入额外的代码来增强或监控程序的行为。在Spring MVC中,AOP通常用于日志记录、事务管理、性能分析等场景...
在Spring框架中,AOP通过代理模式实现,可以将这些关注点与业务逻辑解耦。Spring支持两种类型的代理:JDK动态代理和CGLIB代理。前者适用于接口实现类,后者则用于无接口类。配置AOP时,我们通常会定义一个切面...
将Spring与Servlet整合,可以充分利用两者的优点,构建高效、可维护的Web应用程序。 **Spring整合Servlet的基本步骤:** 1. **引入依赖**:在项目中,你需要包含Spring的相关库,以及Servlet API的jar包。如果你...
标题“spring+servlet所用jar”表明这是关于使用Spring框架与Servlet技术协同工作的环境配置。在开发过程中,我们需要将特定的JAR文件引入项目中,以便使Spring和Servlet能够正常运行。这些JAR文件通常包括Spring的...
首先,让我们深入了解Spring AOP的核心概念。AOP通过切面(Aspect)来组织代码,切面是关注点的模块化,这些关注点通常涉及多个对象。在Spring中,切面可以由一个或多个通知(Advice)组成,通知在特定的连接点...
在Spring框架中,AOP(Aspect Oriented Programming,面向切面编程)是一种强大的设计模式,它允许程序员在不修改源代码的情况下,通过插入被称为“切面”的代码来增强功能或处理横切关注点,如日志、事务管理、权限...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,允许开发者在不修改源代码的情况下添加额外的功能或监控代码,如日志、事务管理、权限检查等。然而,在实际项目开发中,有时可能会遇到Controller无法被AOP...
【标题】"基于CXF+servlet整合spring接口系统"揭示了这个项目的核心是构建一个集成了Spring、CXF和Servlet的Web服务接口系统。这里主要涉及的技术栈包括Spring框架、CXF作为服务消费和发布的工具,以及Servlet 3.0...
通过这个简单的"spring+servlet 入门hello_world"实例,你将学习到如何设置和运行一个基本的Spring MVC应用,了解Spring框架和Servlet如何协同工作来处理HTTP请求和返回响应。这将为你进一步探索复杂的企业级应用...
Spring AOP通过代理模式实现了切面,可以方便地与IoC容器集成。 7. **spring-expression-4.0.0.RELEASE.jar**:Spring表达式语言(SpEL)提供了一个强大的、动态的操作对象模型的表达式语言,用于在运行时查询和...
Acegi 安全系统是专为基于 Spring 的应用设计的安全框架,它利用 Spring 的依赖注入和面向切面编程(AOP)能力来提供强大的安全保护。Acegi 的核心概念包括安全控制组件、拦截器、资源安全管理,以及身份管理,这些...