ssh(sturts2_spring_hibernate) 框架搭建之struts2
一、struts2完整流程的逻辑(整体的概述)
首先,用户在地址栏中输入你的项目访问路径,然后这个请求会发送到服务器,之后服务器发现在web.xml中配置了一个filter过滤器,并且这个过滤器需要对所有的访问进行过滤,在struts搭建之中,首先就要配置一个过滤器,所以我们可以把这个struts看成是一个过滤器,用户的所有请求都需要经过struts进行分配。当服务器接受到用户请求之后就吧这个请求传给struts,具体的处理是依靠
这个web.xml中配置的类,具体怎么处理我们可以不要明白。之后接受到用户的请求,struts.xml进行处理,action标签中name属性为用户访问你的项目时候输入的指定名字,然class属性是定义这个name请求需要进行处理的类,也就是action类,然method是指定使用这个类中的某一个方法。之后调用完这个方法。之后返回一个值,然后在struts.xml指定根据所返回的字符串进行跳转页面。
具体如下:

二、struts2搭建
1、导入相关的jar包:
①:首先从官网下载 struts2,官方下载:http://struts.apache.org/download.cgi#struts252,选择相适合的版本即可。
②:解压之后,找到文件夹lib,其中只有下面的包需要导入你的项目中:

2、web.xml配置文件:
①配置struts2需要使用的filter,使用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter作为处理的类(filter-class)。
②具体写法:

3、struts.xml配置文件:
①首先在src目录下新建一个xml文件,即struts.xml配置文件
②然后在struts2.xml的配置文件顶部中声明dtd规范,即文档类型定义(document type definition),如下:

③其次,配置struts2环境:
具体写法:
⑴.在struts标签中定义一个package标签,设置name和extends属性,name属性值为自定义的名字,extends值需要为“struts-defaul”;
⑵.在package标签中定义一个action标签,设置属性name和class和method;
name属性设置的是在URL中访问项目的路径名字;class设置的是业务逻辑处理的类(包名.类名);
method属性设置的是需要进行访问的这个类中的指定的方法(写上方法名即可),如果没有设置method属性的值,那默认调用execute()。
⑶在action标签中定义result标签,设置name属性;
属性值为action标签中method属性中的方法的返回值(这些方法的返回值均为String);
result标签之间为需要跳转的页面。
具体如下:

4、action处理类
①.定义一个class,并且继承ActionSupport,在这个方法中定义一些成员变量和方法;
⑴.成员变量一般用来保存数据,或者是等待注入的实例(当spring和struts2结合使用时候,使用属性注入的实例的方法),其中成员变量保存的数据可以是用户请求传过来的参数还可以是从数据库中curd获取到的集合、信息。
⑵.这个类中定义的方法的返回值都是String类型,返回的字符串和struts2.xml中的配置相匹配。
三、struts2简单小结:
⑴、是一个用于web应用程序开发的框架,本质上相当于一个servlet。
⑵、struts2是由opensymphony开发的webwork2和struts1的结合。struts1是基于model2 (MVC)之上的进一步的完善。
⑶、struts2实现了不需要手动写获取参数(需要设置一个属性,设置getter、setter方法);不需要手动写跳转代码(在struts.xml配置文件中配置);并且实现了数据库和JAVA类中的属性类型转换。
⑷、struts中的分包:
①action包:页面的跳转和参数的传递和接收。
②services包:业务逻辑处理。例如:对从数据库中取出来的数据需进行进一步的判断用户注册时长。
③dao包:对数据库的curd操作。但是不对数据进行进一步的操作。
④entity包:存放实体类。
⑤util包:工具包,例如:数据库连接。
ssh(sturts2_spring_hibernate) 框架搭建之struts2的更多相关文章
- ssh(sturts2_spring_hibernate) 框架搭建之hibernate2
一.今天要进行解答的是对上次hibernate1进行进一步的完善,这次第一是进一步使用spring注入一个SessionFactory实例,避免了自己new实例:第二是应用数据库池(c3p0). 二. ...
- ssh(sturts2_spring_hibernate) 框架搭建之hibernate1
一.hibernate简单了解: ⑴.hibernate一个java领域里面的一个持久化的ORM框架. 持久化:就是对对象的数据修改,hibernate会把修改的数据同步到数据库中. ORM:Obje ...
- ssh(sturts2_spring_hibernate) 框架搭建之spring
一.spring总结: ⑴.spring是一个轻量级的JAVA开发框架,主要的作用是用来管理实例(可以解决JAVA类中new对象的问题,节省内存资源.)和降低代码之间的耦合性,促进代码模块化. ⑵.促 ...
- ssh(sturts2_spring_hibernate) 框架搭建之JPA代替hibernate
一.JPA用来替代hibernate ⒈JPA的全称是JAVA Persistence API.指的是JPA通过注解或者是XML描述对象—关系表的映射关系,并且将运行的实体对象持久化数据库中. ⒉JP ...
- 新手SSH基础框架搭建
SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架. 首先我们先了解SSH的框架所需的包和基本概念: 一.下面我们先来了解一下strut ...
- SSH基本框架搭建后的简化
对于SSh框架的简化,我们可以从下面几个方面来剖析: 1.实体类entity:在这里我们需要将数据库和实体类进行关联,在简化之前,我们需要在entity包里面加入一份.xml配置文件 例如原码---- ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- SSH框架搭建和整合(struts2、spring4、hibernate5)
声明: 本博文是个人通过对ssh框架的学习.理解还有一些看法而描述出来的,可能有不足之处,请大家谅解,但希望能帮助到大家! 目的: 使初学者能更好的去了解SSH框架. 给以后的自己,也给别人一个参考. ...
- 【Java EE 学习 69 中】【数据采集系统第一天】【SSH框架搭建】
经过23天的艰苦斗争,终于搞定了数据采集系统~徐培成老师很厉害啊,明明只是用了10天就搞定的项目我却做了23天,还是模仿的...呵呵,算了,总之最后总算是完成了,现在该好好整理该项目了. 第一天的内容 ...
随机推荐
- jquery 传递事件的自定义数据
整理一下 1. <script type="text/javascript">$(document).ready(function(){ $("input& ...
- Apache连接PHP后无法启动问题解决思路
问题:apache之前正常,连接配置完PHP后无法启动,用apache Test Configration测试后报错形式为: Cannot load D:/php/php5apache2_2.dll ...
- code review作业
下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...
- 技术文档--studio技术文档
1.Google推出的毫无疑问,这个是它的最大优势,Android Stuido是Google推出,专门为Android“量身订做”的,是Google大力支持的一款基于IntelliJ IDEA改造的 ...
- 用户图形界面(GUI)学习笔记(一)——Swing与AWT
一.Swing与AWT 对象窗口工具箱(Abstact Window Toolkit,AWT),是JAVA1.0刚出现的时候,包含的一个GUI设计类库.它将处理用户界面元素的任务委派给每个目标平台(W ...
- 连接MySQL数据库(android、php、MySQL)
管理MySQL数据库最简单和最便利的方式是PHP脚本.运行PHP脚本使用HTTP协议和android系统连接.我们以JSON格式编码数据,因为Android和PHP都有现成的处理JSON函数. 下面示 ...
- IOS 通过苹果开放API检测更新
#define APPID @"1067207206" -(void)onCheckVersion { NSDictionary *infoDic = [[NSBundle mai ...
- PN结的单向导电性及PN结的电流方程及PN结电容
PN结加正向电压 当PN结外加正向电压时,外电场将多数载流子推向空间电荷区,使其变窄,削弱了内电场,破坏了原来的平衡,使扩散运动加剧,PN结导通.PN结的压降只有零点几付,所以在其回路里应串联一个电阻 ...
- MariaDB+Keepalived双主高可用配置MySQL-HA
利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. ...
- MicroPHP 2.2.0 发布
ver 2.2.0: 增加了: 1.$this->cache为最新的phpfastcache2.1,缓存功能更加强大,而且编写自己的缓存类非常容易. 2.自定义缓存类说明: ...