ssi框架实例
### SSI框架实例详解 #### 一、简介 在软件开发过程中,为了更好地组织和管理项目,开发者常常采用各种框架来提升开发效率和系统维护性。SSI(Spring + Struts + iBatis)是一种常见的Java Web开发组合模式,它将Spring作为业务逻辑层管理容器,Struts作为MVC控制器实现,而iBatis则负责数据访问层操作。本文将通过一个具体的实例,深入讲解如何搭建并配置一个完整的SSI项目环境。 #### 二、数据库设计与创建 第一步是数据库设计与创建。根据给定的部分内容,可以看到数据库设计主要围绕一张名为`book`的表进行。该表包含了书籍的基本信息,如ID、标题、作者、总量、价格、ISBN号以及出版社等字段。这些字段涵盖了书籍管理中最常用的信息,为后续的业务逻辑处理提供了基础。 ```sql CREATE DATABASE ibatis; USE ibatis; CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(50), author VARCHAR(20), total INT, price FLOAT, isbn VARCHAR(20), publisher VARCHAR(50) ); ``` #### 三、依赖Jar包配置 第二步涉及到项目的依赖库配置。SSI项目中需要引入多个Jar包,包括但不限于: - **Struts2** 相关的Jar包: - `commons-collections.jar` - `commons-dbcp.jar` - `commons-logging-1.0.4.jar` - `commons-pool.jar` - `freemarker-2.3.8.jar` - `ognl-2.6.11.jar` - `struts2-core-2.0.11.2.jar` - `xwork-2.0.5.jar` - **Spring** 相关的Jar包: - `spring.jar` - `aspectjweaver.jar` - `antlr-2.7.2.jar` - `struts2-spring-plugin-2.0.11.2.jar` - **iBatis** 相关的Jar包: - `ibatis-2.3.0.677.jar` - `ibatis-common-2.jar` - `ibatis-dao-2.jar` - `ibatis-sqlmap-2.jar` - 数据库驱动Jar包:`mysql-connector-java-5.1.7-bin.jar` 以上Jar包为SSI框架的正常运行提供了必要的支持。其中,Struts2负责处理前端请求,并将请求转发给相应的业务逻辑;Spring用于管理整个系统的对象依赖关系,实现IoC和AOP等功能;iBatis则主要用于执行SQL语句,完成数据持久化操作。 #### 四、Web.xml配置 第三步涉及到项目的配置文件编写。`Web.xml`是项目的核心配置文件之一,主要负责配置Spring上下文和Struts2过滤器。 ```xml <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"> <!-- Spring --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> WEB-INF/classes/com/us/jack/config/applicationContext.xml WEB-INF/classes/com/us/jack/config/applicationContext-services.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- Struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> ``` 在上述配置中,`context-param`元素定义了Spring的配置文件路径,`ContextLoaderListener`则负责加载这些配置文件,初始化Spring应用上下文。`FilterDispatcher`则作为Struts2的过滤器,处理所有HTTP请求。 #### 五、Struts2配置 此外,还需要配置Struts2的相关文件,如`struts.properties`和`struts.xml`等,以实现国际化编码设置及拦截器、结果类型等配置。例如: - `struts.properties`文件中的国际化编码设置: ```properties struts.i18n.encoding=utf-8 ``` - `struts.xml`文件的示例: ```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> <include file="com/us/jack/action/sbookAction.xml"/> </struts> ``` - `sbookAction.xml`文件示例: ```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> <!-- 定义action --> </struts> ``` 以上内容概述了一个典型的SSI框架实例的构建过程,包括数据库设计与创建、依赖库配置、Web.xml配置以及Struts2的相关配置。对于初学者而言,通过学习和理解这些步骤,能够更快地掌握SSI框架的应用,为实际项目的开发打下坚实的基础。
create database ibatis; --创建数据库ibatis
use ibatis;
create table sbook
(
id int primary key auto_increment,
title varchar(50),
author varchar(20),
total int,
price float,
isbn varchar(20),
publisher varchar(50)
);
Step2:搭建框架,创建web项目,导入jar包:
Struts2支持:
commons-collections.jar
commons-dbcp.jar
commons-logging-1.0.4.jar
commons-pool.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.5.jar
Spring支持
spring.jar
aspectjweaver.jar
antlr-2.7.2.jar
Struts2和Spring整合:
struts2-spring-plugin-2.0.11.2.jar
ibatis支持
ibatis的包:ibatis-2.3.0.677.jar,ibatis-common-2.jar , ibatis-dao-2.jar ,ibatis-sqlmap-2.jar
数据库驱动:
mysql-connector-java-5.1.7-bin.jar
(仅仅需要导入这些就足矣)
Step3:配置SSI2三部分各部分需要的配置文件:
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">
<!-- 配置Spring -->
剩余30页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
- (源码)基于Java的DVD管理系统.zip
- (源码)基于Java RMI的共享白板系统.zip
- (源码)基于Spring Boot和WebSocket的毕业设计选题系统.zip
- (源码)基于C++的机器人与船舶管理系统.zip
- (源码)基于WPF和Entity Framework Core的智能货架管理系统.zip
- SAP Note 532932 FAQ Valuation logic with active material ledger
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C#的计算器系统.zip
- (源码)基于ESP32和ThingSpeak的牛舍环境监测系统.zip
- 1
- 2
- 3
- 4
前往页