SSH框架说明文档docWord格式.docx
- 文档编号:737266
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:22
- 大小:23.72KB
SSH框架说明文档docWord格式.docx
《SSH框架说明文档docWord格式.docx》由会员分享,可在线阅读,更多相关《SSH框架说明文档docWord格式.docx(22页珍藏版)》请在冰点文库上搜索。
二、核心的配置文件的说明:
1.Web.xml文件——工程初始化配置文件
(1)Servlet配置
在WebRoot文件下的Web.xml文件,是WebProject工程配置文件,Tomcat服务器在启动时,会自动加载所有工程中的Web.xml文件。
服务器会根据Web.xml中的配置信息,生成相应的Servlet的实例对象,用来处理客户端发送来的请求。
本程序的Servlet是使用的Struts中的ActionServlet,它是继承的HttpServlet类。
ActionServlet支持多线程,目前的Struts框架只允许在应用中配置一个ActionServlet。
它是Struts中的控制器,系统的指令由其中转,它从struts-config.xml中读取配置信息,并在服务器后台自动启动一个线程。
(2)init-param设置
Init-param设置ActionServlet运行参数,对Servlet的运行环境进行初始化配置。
实际上param-name的值是与ActionServlet中的属性相对应的。
ActionServlet在创建时会调用init函数,函数会用配置文件中param-value值来设置相应的属性。
A)Struts配置文件设置
以相对路径的方式指明Struts应用程序的配置文件位置,在ActionServlet中默认值为/WEB-INF/struts-config.xml,所以如果是默认情况,在这里也可以不用配置。
如果有多个配置文件可以用逗号分隔符。
B)debug设置
设置Servlet的debug级别,控制日志记录的详细程序。
默认为0,记录相对最少的日志信息。
C)detail设置
设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框
架,通过该设置,可以查看不同详细等级的解析日志。
默认为0,记录相对最少的日志信息。
D)load-on-startup设置
这个标记指示Web应用服务器在启动时加载这个Servlet(实例化并调用init方法),标记的
内容必须使用一个整数指定Servlet的加载顺序。
如果这个整数是负值,或者这个值没有出现,那么窗口任意选择Servlet加载。
如果这个整数大于等于零以,那么窗口必须按照部署的顺序加载他们。
容器必须保证,拥有小的load-on-startup值的Servlet必须先被加载,如果Servlet
load-on-startup值,那么,容器将自动选择这些Servlet的加载顺序。
(3)servlet-mapping配置
有相同的
这里*是通配符,表示服务器只要接收到的形如*.do的请求,就会把这个请求交由名为action的servlet实例来处理。
请求的形式可以由开发者自己定义,Struts中通常都用do来做为后缀。
而此处的servlet-name与上面servlet定义中的servlet-name是相对应的。
(4)Spring配置文件配置
context-param是application范围内的参数,存放在servletcontext中。
此所设定的参数,在JSP内页中可以使用${initParam.param_name}来取得,若在Servlet可以使用Stringparam_name=getServletContext().getInitParamter(“param_name”);
来取得。
在此程序中,参数contextConfigLocation用来定义要装入的Spring配置文件。
如果想装入多个配置文件,可以在<
param-value>
标记中用逗号作为分隔符。
默认情况Spring的配置文件为applicationContext.xml。
此程序是因为改变了spring配置文件名字,所以才需要在Web.xml中配置。
如果是默认情况则不需要配置。
(5)Spring的Bean工厂配置
listener元素用来定义Listerner接口,ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。
它实现了ServletContextListener这个接口,在Web.xml
配置这个监听器,启动容器时,就会默认执行它的实现的方法,加载相应的Spring类,以使当对象调用时,实现其相应的注入。
这是一个Spring的重要类,在ContextLoaderListener中关联了ContextLoader类。
所以整个加载配置过程由ContextLoader来完成,它创建的是XmlWebApplicationContext这样一个类,这个类实现了BeanFactory接口,所以Spring中的所有的bean都由这个类来创建。
(6)Filter配置
filter元素用来声明filter的相关设定。
过滤器就是一个Servlet,只是比较特殊而已,可以用
它来对客户端请求以及发出的响应进行部分的过滤操作。
filter-name是过滤器的名称,
filter-class为对应的类。
filter-mapping元素的两个主要子元素为filter-name与url-pattern,用
来定义filter所对应的url。
”/*”形如这样的url都会发送给相应的过滤器。
A)Spring中文乱码过滤器配置
在web开发中常常遇到中文乱码的问题,解决的方案常常是在Web.xml中配置一个过滤器,Spring为我们的web开发提供了一个过滤器,可以解决中文乱码的问题。
B)Hibernate延迟过滤器配置
Hibernate的session的生命周期横跨Servlet和Jsp,当我们的Jsp需要用到某个延迟属性的时候,发现session已经关闭了,就会发生延迟加载例外。
这段配置就是使用Spring中的类解决hibernate因session关闭导致的延迟加载例外问题。
(7)欢迎页面配置
指定首先访问的页面,当客户访问Web应用时,如果仅仅给出Web应用的RootUrl,没有指定具体文件名,Web容器会自动调用Web应用的欢迎文件。
2.struts-config.xml——Struts的配置文件
(1)Form的配置
form-bean用来映射页面上的某个
ActionForm类。
(2)Action的配置
<
form/>
之中的数据,对应的
FormBean
类一般是继承
其中,name要与对应的form中的字段名相同。
容器在创建对应的Form的实例时,会将对应
页面中同名的字段值,通过Set方法赋给Form。
所以Form中的字段一定要有对应的SetXXX
方法。
否则就无法赋值。
(3)全局异常处理类配置
用来配置全局的异常处理类。
(4)全局转发配置
global-forwards用于配置全局转发,struts首先会在<
action-mappings>
元素中找对应的<
forwar
d>
,若找不到,则到全局转发配置中找。
它包含0个或多个<
forward/>
元素,格式如下所示:
forwardname="
唯一的名称"
path="
指向资源的相对路径"
/>
。
元素还有一个redirect属性,其默认值为false,如果redirect设为true的时候,则
用HttpServletResponse.sendRedirect()方法,否则用RequestDispatcher.forward()方法,缺省为false。
sendRedirect产生新的请求与响应,相当于在页面中重新输入一个URL,只是自动完成
而已,forward是共用同一请求,浏览器中的URL不变。
(5)action配置
该元素用于将Action元素定义到ActionServlet类中,它含有0到多个<
action/>
元素,其格式如下:
actionpath="
Action请求的相对路径"
type="
该Action的对应类的全路径"
name="
该Action绑定的FormBean"
scope=”指定ActionFormBean的作用域”parameter=”action对应的参数名”>
指定处理相应请求所对应的地址"
相对路径"
<
/action>
此程序中,action的对应类,为Spring提供的一个Struts的代理类。
因此,Struts中的Action将由Spring来创建,而不是Struts。
本程序中Spring配置action的文件为:
applicationContext-actions.xml。
可以看到,在Spring的配置文件中,bean的那么与Struts配置文件中Action的path是相对应的。
那么程序运行中,此Action的对应类实际上为,com.ra.web.acton.RateinfoAction。
可以看到RateinfoAction这个类实际上继承了DispatchAction类,所以Action的转发机制依然还是用的Struts提供的方法。
Spring只是负责创建一个RateinfoAction的实例而已。
这是一种松散,低耦合的结合方式。
(6)资源文件配置
该元素用来定义资源文件,能够为ActionServlet同时指定多个xml配置文件,文件之间以逗号分隔,把ApplicationResources放到struts-config.xml就可以定义多个了。
3.applicationContext-common.xml——Spring公共配置文件
(1)Session工厂配置
session工厂节点,将Hibernate的session工厂注入到Spring的配置文件中,其中configLocation定义了Hibernate配置文件名。
(2)事务配置
Spring声明式事务让我们从复杂的事务处理中得到解脱。
使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。
再也无需要我们在与事务相关的方法中处理大量的trycatchfinally代码。
定义事务管理器,设置事务代理类,并将session工厂对象引入事务中。
REQUIRED:
业务方法需要在一个事务中运行,如果方法运行时,已处在一个事务中,那么就加入该事务,否则自己创建一个新的事务。
这是Spring默认的传播行为。
Save*表示save开头的方法上都使用这种事务。
指定那些类的哪些方法参与事务。
4.applicationContext-beans.xml——Spring中Bean的配置文件
Id为bean的名称,其它的bean可以通过这个名称引用它。
Class为该bean对应的类。
property>
为类中的属性,如果在此配置了,那么对应的类中这必须有相应的属性。
其中name与类中的属性字段名相同,类中一定要有相应的Set方法。
ref为引用其它的bean。
5.hibernate.cfg.xml——Hibernate的配置文件
(1)Hibernate中Session工厂的配置
A)连接字符串
数据库连接url定义。
Localhost处是设置ip地址,端口默认为3306,localhost表示是本地的
IP。
ReverseAuction为数据库名,useUnicode表示字符使用unicode码。
characterEncoding为字符编码格式。
B)数据库登录名与密码
C)加载hibernate自动更新数据库结构
D)驱动配置
mysql数据库对应的jdbc驱动类。
一个HibernateDialect类允许Hibernate针对特定的关系数据库生成优化的SQL.E)资源文件配置
加入资源文件,这里把对应于model下的hbm.xml文件加入。
通常一个模型类都会对应于一
个hbm.xml文件,一个文件对应于一个数据库中的表。
(2)hbm.xml配置文件
其中,catalog对应于数据库,table对应于表名,而class则对应于相应的模型类。
id>
表示主键字段,<
表示其它字段,其中的name对应于类中的属性名,而column中的name则对应于数据库中的字段名。
A)字段为自增类型
B)字段非空
C)有效位数配置
Precision表示数字中的有效位数,而scale表示小数点后的有效位数。
D)字段长度
E)字段的类型
(3)DAO实现类说明
在对应的Dao类中,要继承HibernateDaoSupport类,因为在这个类中有一个sessionFactory属性,所以在配置继承了Hibernate的Dao类中,一定要添加sessionFactory属性。
三、Demo实例说明
以下我们用对换比例添加与列表的例子来描述整个流程的开发过程:
1.demo.jsp:
head>
meta
http-equiv
="
Content-Type"
content
text/html;
charset=UTF-8"
>
title
demo<
/title
/head
body>
a
href
="
addRate.jsp"
添加比例<
/a>
rateinfoAction.do?
command=getAll"
比例列表<
/a>
/body
/html
说明:
包含“添加比例”和“比例列表”2个链接。
第一个链接链接到addRate.jsp
第二个链接向rateInfoAction这个servlet发送请求。
command=getAll会调用rateinfoAction对象的getAll方法.
2.addRate.jsp
html>
metahttp-equiv="
content="
title>
addRate<
/title>
/head>
h2>
添加比例<
/h2>
formaction="
command=save"
method="
post"
scope:
inputname="
scope"
type="
text"
/>
br/>
rate:
inputname="
rate"
type="
bz:
textareaname="
bz"
rows="
2"
cols="
20"
>
/textarea>
inputtype="
submit"
value="
提交"
/form>
/body>
/html>
在该页面中,有一个表单,action="
表示由rateinfoAction这个servlet来处理请求。
并调用rateinfoAction中的save
方法.
3.rateList.jsp
rateList<
tableborder="
1"
tr>
td>
id<
/td>
scope<
time<
rate<
bz<
/tr>
c:
forEachitems="
${rateList}"
td>
${rate.id}<
${rate.scope}<
${rate.time}<
${rate.rate}<
${rate.bz}<
/c:
forEach>
/table>
var="
说明
这里用到了JSTL的标签,
其中用到了一个forEach循环,将rateList中的每一个对象赋予rate,然后取得
性值在页面中显示出来。
(如果对JSTL不懂,可以看看相关资料)
rate对象的属
4.rateinfoAction
具体代码可以在工程里面看
但是这里说明一点,一定要有
set方法,用于
spring的依赖注入
.
RateinfoService
rateService
;
public
void
setRateService(RateinfoServicerateService){
this
.rateService
=rateService;
}
5.rateinfoAction的配置(struts-config.xml)
在struts-config-xml文件中配置RateinfoAction
action
path="
/rateinfo"
type="
org.springframework.web.struts.DelegatingActionProxy"
name="
rateForm"
scope="
request"
parameter="
command"
/action>
Path是指页面中请求的路径
command参数指定调用RateinfoAction中的save方法
type属性设置成“org.springframework.web.struts.DelegatingActionProxy
”,此类由
spring
提供。
Name属性配置的是由哪个表单接受数据.这里页面上的数据由rateForm收集。
配置如下(struts-config-xml):
form-beanname="
rat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 框架 说明 文档 doc