gwt+spring+hibernate的整合

本文介绍了一种通过在web.xml中设置context参数并利用ContextLoaderListener来优化Spring配置文件加载速度的方法,通过将读取配置文件的操作提前到初始化阶段,有效避免了每次请求时重复读取配置文件导致的性能损耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要思想:在系统中读取applicationContext.xml文件,但如果放在service的方法中,每次使用该方法时都会去读该文件,则速度会慢的惊人。改进方法是把所有配置文件设置在web.xml的context参数中.

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value> 
/WEB-INF/applicationContext-*.xml,/WEB-INF/applicationContext-*-*.xml,classpath*:applicationContext-*.xml,classpath*:applicationContext-*-*.xml 
</param-value> 
</context-param> 

<listener> 
<listener-class> 
org.springframework.web.context.ContextLoaderListener 
</listener-class> 
</listener> 

 

listener一定要有,用于初始化context参数

写个BaseService继承于RemoteServiceServlet于接口,并在init方法中写相应的读取文件方法(由于文件读取已经在context中设置好,相当于资源已经存于内存中,每次读取时速度就快很多)

public class BaseService extends RemoteServiceServlet{ 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 
protected WebApplicationContext springContext;   
  
    @Override  
    public void init(ServletConfig config) throws ServletException {   
        super.init(config);   
        springContext = WebApplicationContextUtils.getWebApplicationContext(   
                config.getServletContext());  //读取配置文件
    }   

}
gwt的server端要各实现类都要继承BaseService
public class HelloServiceImpl extends BaseService implements HelloService {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public String sayHello(int id) {
		UserManageService um = (UserManageService) springContext
				.getBean("userManageService");
		User user = um.findUserByUserID(id);
		return user.getLoginName();
	}

}
  
这里就可以使用spring端方法了
UserManageService um = (UserManageService) springContext
				.getBean("userManageService");
User user = um.findUserByUserID(id);

 具体见上传的代码(jar包是精简版的,日记有点问题,但不影响),由于只能上传10M,想要的联系我

  

功能: 实现数据分页查询显示 特点: 全是免费工具及开源技术 开发框架: gwt1.4.6 + spring2.5 + mysql5.0 开发工具: Eclipse3.4 Cypal Studio for GWT (Eclipse 的一个插件) 实现原理:通过GWT的RPC来调用Spring 传过来的服务器端数据 注意:需要的jar包 * gwt-user.jar * gwt-servlet.jar * mysql-connectot-java-3.1.12.jar * spring.jar * commons-dbcp.1.2.1.jar * coommons-pool-1.4.jar Sql语句: create database booksearch; create table book ( id int not null auto_increment primary key, title varchar(100), isbn varchar(100), edition varchar(100), msrp varchar(100) ) insert into book(title,isbn,edition,msrp) values('title_1','i-sbn-1','editon-1','msrp-1'); insert into book(title,isbn,edition,msrp) values('title_2','i-sbn-2','editon-2','msrp-2'); insert into book(title,isbn,edition,msrp) values('title_3','i-sbn-3','editon-3','msrp-3'); insert into book(title,isbn,edition,msrp) values('title_4','i-sbn-4','editon-4','msrp-4'); insert into book(title,isbn,edition,msrp) values('title_5','i-sbn-5','editon-5','msrp-5'); insert into book(title,isbn,edition,msrp) values('title_6','i-sbn-6','editon-6','msrp-6'); insert into book(title,isbn,edition,msrp) values('title_7','i-sbn-7','editon-7','msrp-7'); insert into book(title,isbn,edition,msrp) values('title_8','i-sbn-8','editon-8','msrp-8'); insert into book(title,isbn,edition,msrp) values('title_9','i-sbn-9','editon-9','msrp-9'); insert into book(title,isbn,edition,msrp) values('title_10','i-sbn-10','editon-10','msrp-10');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值