struts2、hibernate、spring

本文详细介绍了SSH三大框架的核心组件和工作原理。Struts2中,重点讲解了配置文件、核心控制器、拦截器的实现方式及运行流程。Hibernate作为ORM框架,介绍了其操作数据库的核心类、关联关系、事务管理和主键生成策略。Spring作为粘合剂,解释了其IOC/DI和AOP的概念,并涉及事务管理。同时,还涵盖了SSH框架的搭建步骤和文件上传注意事项。
摘要由CSDN通过智能技术生成
struts 
1. struts2配置文件是(struts.xml)


2. struts2核心控制器是(FilterDispatcher)


3. struts2配置文件中Action标签的class属性值是(action类的全名)
name属性的值是(代表Action的名称 从前台访问时的路径)


4. struts2配置文件中result标签的属性值 默认是(dispatcher)
重定向的值是(redirect)


5. Struts2自定义拦截器的三种实现方式
1) 实现 接口  Interceptor
2) 继承 抽象类  AbstractInterceptor 重写intercept方法
3) 继承 MethodFilterInterceptor类


6.struts2 的 运行原理
1. tomcat 启动加载Web.xml ,核心控制器FilterDispatcher 加载并解析 struts.xml
2. 客户端 发出请求到 Action ,FilterDispatcher 根据后缀名拦截
3. FilterDispatcher  根据 struts.xml配置文件信息 找到 指定的 Action方法
4. 执行相关的业务逻辑后 返回字符串
5. 根据返回字符串,在 struts.xml的<result>的name属性的值,进行匹配跳转到指定的
jsp或重定向到其他Action


7. 精确匹配和 模糊匹配的 区别
1. 精确匹配
struts.xml中  Action 配置 method属性  属性的值 是Action类中的某一个方法
前台访问时   Action名称.action
缺点: 配置繁琐  action类中的每一个方法 都需要  配置一个 <Action> 标签
优点: 分工明确  一个配置发生错误 不会影响其他 Action的运行
2. 模糊匹配
struts.xml中,Action配置name值时通过通配符*,配置请求的格式; 
class 和 method通过 {数字} 的方式 引用 name中通配符信息
前台访问时   按Action中定义的规则.action 去访问
缺点: 如果配置错误 所有的 Action 都不能使用
优点: 配置文件中  需要配置的 <action> 会变少  


8. struts2 简述
struts2 是一个MVC框架 基于WebWork 发展而来.属于控制层框架。
负责jsp页面和java代码之间的值的传递和跳转
核心控制器是FilterDispatcher 2.1.2 版本前含2.12 
从2.1.3版本开始用 StrutsPrepareAndExecuteFilter代替了。

首先非常感谢大家的评价啊!刚才还看到有人在下我的那个1.0版本.呵呵.这次设了一个资源分.(不高吧.)<br><br><br>更新历史:2.0<br>^_^.新写了一个版本.<br> 更新内容为:<br> 换掉了原来的数据库表结构.原来的是一个简单的用户表增删改查.主要是为了引入时间等字段,来试验一下struts2的时间标签是否好用.这次为了做成一个好点的实例.所以换掉了表结构.为歌词表.并附带2万首歌词的数据库.因为歌词插入数据太大.所以单另上传了.如果不需要这两万条数据的朋友可以光下该实例就好了.如果需要记录.则可以去下载记录集.(下载地址:http://download.csdn.net/source/513063)<br>create table HUBO_MUSIC<br>(<br> ID VARCHAR2(32) not null,<br> SINGER VARCHAR2(100),<br> MUSICNAME VARCHAR2(200),<br> LYRIC VARCHAR2(4000)<br>)<br><br> 优化了界面布局.(第一个写的是太丑了一点.)<br> 优化了action的相关方法逻辑和接口方法.<br> 更加好理解和清晰结构.增加了页面分页和后台分页方法<br> (如果看了我第一个例子的朋友.应该看到我在service层的find方法上的注释.说当前版本因为原来使用find方法是从代理中取.而spring默认的数据持久话只能包含业务层和数据层.不能包含界面层.所以用find方法会导致session失效.故用get方法.现在这个问题已经解决.其实就是把原web.xml中的最后的过滤器代码移到最顶端就可以了.具体查看代码)<br>更多内容可以关注我新建立的博客:http://blog.csdn.net/wuxinfengjing<br>我也是初学拉.就只是为了大家共同进步.<br><br><br><br>原1.0版本说文文字:<br>注:本代码为个人所写.全当练习使用.愿所有人能够更好地学习软件.愿意与所有软件爱好者成为好友.<br>邮箱:menxin32@163.com<br>当前版本1.0<br>包含内容:一个用户表格的增删改查实现.<br> 基本的七层分层框架.<br> 内写多个公共类.为了日后可以很好的解耦合.<br> 注释清晰.<br> 项目结构采用纯eclipse结构.可以直接导入.<br><br>查看说明:<br>当前只是自己看struts2的一点点资料随便写的一个简单的增删改查程序.全当给所有打算使用struts2却没有接触过的人一个入门而已.我也是初看.才2天而已.所以各位高手就不要笑话了.愿大家都能成为高手.<br><br><br>项目发布以后的第一个页面是登陆.后台代码没有写相关的验证代码.并不是读取数据库来登陆的.只要名字是admin就可以了.登陆过后就是用户列表.然后就可以实现与数据库的增删改查.项目使用7层分层框架.数据库连接配置文件是/s2sh/src/目录下面的jdbc.properties文件.直接配置即可.<br><br>以下是一些相关说明.<br><br><br>数据库脚本<br>create table HUBO_USER<br>(<br> ID VARCHAR2(32) not null,<br> NAME VARCHAR2(100),<br> BIRTHDAY DATE,<br> PASSWORD VARCHAR2(100),<br> EMAIL VARCHAR2(100),<br> REMARK VARCHAR2(500)<br>)<br><br>为了减小上传.所以没有上传导入的jar,其实就是默认的struts2hibernate以及spring的包.该项目使用的jar包为以下.<br>spring-beans.jar <br>xwork-2.0.4.jar <br>spring-context.jar <br>ognl-2.6.11.jar <br>spring-web.jar <br>spring-core.jar <br>struts2-core-2.0.11.1.jar <br>commons-logging-1.0.4.jar <br>freemarker-2.3.8.jar <br>struts2-spring-plugin-2.0.11.1 <br>antlr-2.7.5H3.jar <br>asm.jar <br>asm-attrs.jar <br>cglib-2.1.3.jar <br>commons-collections-2.1.1.jar <br>dom4j-1.6.1.jar <br>ehcache-1.1.jar <br>hibernate3.jar <br>jaas.jar <br>jaxen-1.1-beta-7.jar <br>jdbc2_0-stdext.jar <br>jta.jar <br>log4j-1.2.11.jar <br>xerces-2.6.2.jar <br>xml-apis.jar <br>c3p0-0.9.0.jar <br>concurrent-1.3.2.jar <br>connector.jar <br>jboss-cache.jar <br>jboss-common.jar <br>jboss-jmx.jar <br>jboss-system.jar <br>jacc-1_0-fr.jar <br>jgroups-2.2.8.jar <br>oscache-2.1.jar <br>proxool-0.8.3.jar <br>swarmcache-1.0rc2.jar <br>classes12.jar <br>spring.jar <br>spring-aop.jar <br>spring-dao.jar <br>spring-hibernate.jar <br>spring-jdbc.jar <br>spring-mock.jar <br>spring-orm.jar <br>spring-remoting.jar <br>spring-support.jar <br>spring-webmvc.jar <br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值