SSI 整合 Demo
spring_struts2_ibatis整合开发Demo:
1.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 1.加载spring配置文件applicationContext.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 2.编码过滤 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 3.ActioncontextCleanUp对象对ACTION进行监、管理容器,告诉JVM某个不使用的对象需要被销毁 -->
<filter>
<filter-name>cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<!-- 定义核心filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心filter的实现类 -->
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的web请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<!--默认拦截以.action结尾的请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/admin/add.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="sqlMapClient" class="com.zxm.util.SqlMapClientFactory" factory-method="getSqlMapClient">
</bean>
<bean id="adminDao" class="com.zxm.admin.dao.AdminDao">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<!-- 配置Service -->
<bean id="adminService" class="com.zxm.admin.service.AdminServiceImpl">
<property name="adminDao">
<ref local="adminDao"/>
</property>
</bean>
<!-- 定义Struts配置 -->
<bean name="admin" class="com.zxm.admin.action.AdminAction">
<property name="adminService">
<ref local="adminService"/>
</property>
</bean>
</beans>
3.ibatis配置文件:sqlMapConfig.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost:3306/beichuang?useUnicode=true&characterEncoding=UTF-8" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="123456" />
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from user" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="com/zxm/sqlmap/ibatis_admin.xml" />
</sqlMapConfig>
4.ibatis_admin.xml:
<?xml version="1.0" encoding="GBK" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="admin" type="com.zxm.admin.bean.Admin" />
<insert id="insertAdmin" parameterClass="admin">
<selectKey keyProperty="id" resultClass="java.lang.Integer"
type="post">
SELECT LAST_INSERT_ID()
</selectKey>
insert into admin(name,password) values(#name#,#password#)
</insert>
<delete id="deleteAdmin" parameterClass="java.lang.Integer">
delete from admin where id=#id#
</delete>
<update id="updateAdmin" parameterClass="admin">
update admin set name=#name#,password=#password# where id=#id#
</update>
<select id="getAdmin" resultClass="admin">
select *from admin
<dynamic prepend="WHERE">
<!-- isNotNull判断参数是否存在,Integer类型 -->
<isNotNull property="id">
<isGreaterThan prepend=" and " property="id" compareValue="0">
id = #id#
</isGreaterThan>
</isNotNull>
</dynamic>
</select>
</sqlMap>
5.sqlMapClientFactory.java:
package com.zxm.util;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class SqlMapClientFactory {
private static final SqlMapClient sqlMapClient;
static {
try {
String resource = "sqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
}
6.struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="admin" class="admin">
<result name="index">
/admin/selectAll.jsp
</result>
<result name="edit">/admin/edit.jsp</result>
</action>
</package>
</struts>
7.adminDao.java调用ibatis_admin.xml里面配置的:
package com.zxm.admin.dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.zxm.admin.bean.Admin;
public class AdminDao {
private SqlMapClient sqlMapClient;
public SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
public void setSqlMapClient(SqlMapClient sqlMapClient) {
this.sqlMapClient = sqlMapClient;
}
public boolean insertAdmin(Admin admin)throws SQLException{
if((Integer)this.sqlMapClient.insert("insertAdmin", admin)>0){
return true;
}else
return false;
}
public boolean deletetAdmin(int id)throws SQLException{
if((Integer)this.sqlMapClient.delete("deleteAdmin", id)>0){
return true;
}else
return false;
}
public boolean updateAdmin(Admin admin)throws SQLException{
if((Integer)this.sqlMapClient.update("updateAdmin", admin)>0){
return true;
}else
return false;
}
public Admin getAdmin(Admin admin)throws SQLException{
return (Admin)this.sqlMapClient.queryForObject("getAdmin", admin);
}
public List<Admin> selectAllAdmin()throws SQLException{
return this.sqlMapClient.queryForList("getAdmin");
}
}
8.AdminActon.java:
package com.zxm.admin.action;
import java.util.List;
import com.zxm.admin.bean.Admin;
import com.zxm.admin.service.AdminService;
public class AdminAction {
private List<Admin> list;
private Admin admin;
private AdminService adminService;
public List<Admin> getList() {
return list;
}
public void setList(List<Admin> list) {
this.list = list;
}
public AdminService getAdminService() {
return adminService;
}
public void setAdminService(AdminService adminService) {
this.adminService = adminService;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
public String index(){
list=adminService.selectAllAdmin();
System.out.println("数据的大小"+list.size());
return "index";
}
public String insert(){
adminService.insertAdmin(admin);
return index();
}
public String delete(){
adminService.deletetAdmin(admin.getId());
return index();
}
public String update(){
adminService.updateAdmin(admin);
return index();
}
public String getOneAdmin(){
admin=adminService.getAdmin(admin);
return "edit";
}
}
1.
http://www.iteye.com/topic/569770
2.
http://ps329795485.iteye.com/blog/1412028
3.
http://blog.csdn.net/dqsweet/article/details/7794906
4.
http://zz563143188.iteye.com/blog/1473807
分享到:
相关推荐
标题提到的"SSI, SSH, SpringMVC"都是Java Web开发中的重要框架,这里我们将分别探讨这三个框架以及它们的整合。 1. **SSI(Server Side Includes)**: SSI,全称为服务器端包含,是一种在Web服务器端执行的小型...
通过研究和理解这个完整的demo,开发者能够学习到如何在实际项目中有效整合这些框架,理解它们各自的职责和协作方式,这对于提升Java Web开发技能非常有帮助。同时,这也是一个很好的起点,可以帮助开发者快速搭建...
**简单的SSI整合框架** 在网页开发中,Server-Side Includes(SSI)是一种简易的服务器端脚本语言,它允许我们动态地将一部分内容插入到HTML或PHP等静态页面中,从而实现网页的部分更新,而无需每次修改时都重新...
总的来说,"eclipse开发的ssi整合struts2+ibatis2.x+spring2.5"是一个实用的学习案例,旨在帮助新手理解这三大框架的协同工作方式。通过实际操作,可以加深对Java Web开发的理解,提升项目开发技能。
基于SSI的框架整合开发Demo。该Demo是一个完整的MyEclipse项目,可以直接导入运行。注意:该demo连接oracle数据库,所以需要相应用户及权限。如有必要可以直接修改%项目%/src/jdbc.properties。版本说明:Struts2.1-...
在SSI Demo中,可能使用了某种分页组件或自定义的分页算法,将大量数据分段显示,用户可以逐页浏览,而不是一次性加载所有数据。这降低了服务器压力,提升了页面加载速度。 **集成与配置**: SSI Demo演示了如何将...
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 项目访问路径 localhost:8888/SSI_Demo1 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,适合初学者...
在这个"SSI框架整合"的Demo中,我们将深入探讨如何将SSI与Oracle数据库结合起来,为开发者提供一个易于理解和实践的学习资源。 首先,Oracle数据库是企业级的关系型数据库管理系统,广泛用于存储和管理大量结构化...
这个"ssi.rar_DEMO_SSI_struts2 ibatiS"压缩包提供了一个实战示例,帮助开发者了解如何将这三个框架集成到一个项目中。下面我们将详细探讨这些技术及其整合的关键点。 **Struts2框架** Struts2 是一个基于MVC...
在"Spring+Struts2+iBatis整合demo"中,开发者通常会创建一个简单的Web应用程序,包含以下几个部分: 1. **配置文件**:如`struts.xml`、`spring-context.xml`和`sqlMapConfig.xml`,分别用于配置Struts2、Spring和...
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 记得改数据库访问地址以及数据库登录用户名密码 项目访问路径 localhost:8080/SSI_Demo1 一个简单的例子(Oracle数据库增删改查...
在提供的"demo(ssi)"压缩包中,你应该能找到以下关键文件: - 配置文件:如struts.xml(Struts2配置)、spring.xml(Spring配置)、sqlMapConfig.xml(iBatis配置)。 - Action类:实现了用户登录逻辑的Java类。 - ...
**SSI工程框架详解** 在软件开发领域,"SSI"通常指的是Struts、Spring和iBATIS这三种技术的集成框架,它们是...通过研究这些示例,开发者可以深入理解如何在实际项目中整合并运用SSI框架,实现高效且可维护的Web应用。
开发者可以通过研究这个DEMO学习如何将Struts、Spring和iBatis整合使用,以及如何利用EasyUi构建用户界面,并实现登录验证和权限控制。对于初学者来说,这是一个很好的实践平台,有助于理解和掌握企业级Web应用开发...
因看到有些上传的资料让下载者不能够运行和使用,所以我自己用Oracle中自带的emp、dept还有一个自己的一个表,写了一个带有注册登录分页的demo。这个源码结构清晰、模块化良好,适合ssi架构者的需求、初次上传自己的...
【SSI框架搭建实例教程(struts spring ibatis整合 附切面事物处理)】 在软件开发中,集成多种框架可以提高应用程序的灵活性和可维护性。SSI框架是指Struts、Spring和iBatis的集成,这三种框架分别负责MVC模式中的...
【标题】"基于SSI的项目"是一个整合了Struts、Spring和iBatis技术的实践应用,主要展示了如何在Web开发中将这三个框架协同工作,实现一个基础的系统功能。Struts作为MVC架构的一部分,负责处理用户请求并提供视图层...
SSM框架整合,使用最新版MyBatis-Jar包(Struts2.1+Spring3.0+MyBatis...项目访问路径 localhost:8080/SSI_Demo2 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,依赖注入和注解事物管理,适合初学者...
这个"struts1+ibatis+Spring demo"是一个示例项目,展示了如何将这三个框架集成到一起,实现一个完整的Web应用。 Struts1是Apache组织开发的一个开源MVC框架,它主要负责控制应用程序的流程,通过Action类处理用户...