烈火建站学院转载 应一个朋友要求,我需要保存一个http request里的各个参数以及他们的值。我打算用Spring JdbcTemplate来实现。我在这里向您展示我的这个例子。我的这个例子,使用了strust、spring、jdbc等技术。
我的思路是,通过struts的action来获取http请求里的各个参数以及他们的值。然后通过jdbc来插入。为了简化jdbc操作(特别是管理链接等问题),我决定使用spring来管理datasource,并且使用spring提供的jdbc模板。而为了实现在action里面访问spring spean。我决定把struts action也放入spring来管理。
a),配置好我的spring和Struts。通过context-param元素制定spring的bean定义文件和context loadeder。
以下为引用的内容:
|
Struts的配置。注意,我把.HTML的请求映射到了Struts。
以下为引用的内容: |
b),整合struts和spring。让spring管理action,以使得可以通过注入属性方式为action的属性赋值。为我们的struts添加一个属性。
为了整合Sptring和Strust,我们通过给Struts添加一个插件来实现。
以下为引用的内容: <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> |
然后,我们定义action的时候,定义为类型为org.springframework.web.struts.DelegatingActionProxy。然后到bean定义的xml文件里,去定义一个和这里的改action之path值相同的bean。我们为这个action实现,添加一个属性。属性的值,可以通过ioc来实现注入。
以下为引用的内容: public DataSource getDataSource() { public void setDataSource(DataSource dataSource) { |
c),在action里面使用Spring JdbcTemplate
前面,我已经通过ioc给我们的action的属性datasoruce赋值了,现在,我们来构建一个JdbcTemplate
以下为引用的内容: JdbcTemplate jt = new JdbcTemplate(dataSource); |
然后,就可以简单的操作jdbc了。
以下为引用的内容: Object[] params = new Object[] { key, value, now, jt.update("INSERT INTO search_concept(variable,value,searchTime,userID)VALUES(?,?,?,?)",params, types); |