- 浏览: 240089 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
aa499357363:
我知道楼主叫雷志民,别问我怎么知道的,。
如何创建和启动一个线程? -
alvin198761:
很好,但是直接杀死进程会导致很多问题,建议不要使用
如何使用Java执行cmd命令? -
k_kid9157:
在JSP中有哪些注释格式? -
sunney2010:
ifFRAME不行哟
如何在关闭页面时自动清除Session? -
liuyuru:
java 初始化块
对一个星期的 Struts1 进行笔记总结:
1 , what--> 什么是 struts
struts 实质上就是一个 mvc 框架,用于 java web 的应用开发
2 , why--> 为什么要用 struts
1 ,是一种开源软件
2 ,是 mvc 模式的一种很好的体现
3 ,提供了强大的自定义标签库( taglib )
4 ,支持国际化
5 ,拥有页面导航
6 ,提供 Exception 处理机制
7 ,数据库连接池管理
3how-->struts 的工作流程
1 读取配置 -- 读取 struts-config.xml 的配置信息,并把信息存放到各种配置对象
2 发送请求 --Actionservlet 接收客户的请求,到 ActionMapping 检索和客户请求相匹配的路径
3 填充 form-- 将客户端提交的表单信息保存到 ActionForm ,根据配置信息决定是否需要表单验证
4 派发请求 -- 会根据 ActionMapping 的路径进行发送请求到某个 Action 类
5 处理业务 -- 调用 execute() 方法处理业务逻辑
6 返回响应 -- 再把客户的请求转发给 ActionForward 对象,指向 jsp 文件
7 处理响应 --jsp 组件生成动态网页,返回给客户端
4struts 的 7 大组件( 6 大核心类)
1ActionServlet :主控制器
2Action :完成业务逻辑
3ActionForm :将客户提交的表单数据存储起来
4ActionMapping :帮助 ActiongServlet 将请求的 url 映射到相对应的操作类
5ActionForward :用于页面的转向
6ActionError :用来存储和回收错误信息
7struts 标签库: 可以减轻开发显示层次的工作
5 Struts1有哪些常用的标签库?
1、HTML标签库:这个标签库的大部分标签和HTML中的标签一一对应的。html标签库的目的是将jsp页面和Action通过ActionForm连接起来。
2、Bean标签库:Bean标签库中的定制标签主要用来向客户端输出文本信息。一般我们会用<bean:write name="classes"
property="className" />
3、Logic标签库:进行逻辑判断和循环操作.一般我们会用<logic:iterate
id="classes" name="list"
type="com.lxitedu.classes.pojo.Classes">id与Bean中bean:wirte 对应的name 必须是相同的。
4、Nested标签库:这个标签库中的标签有来显示form或对象中的“nested”属性。
5、Tiles标签库:这个标签库的标签允许我们为视图层建立布局。
struts 标记库由四类标记组成:
1(bean) Bean 标记:用来在JSP 页中管理bean
<bean:message>
<bean:write> filter="false" 显示含html 标签的 输出int 类型的时候加上format 属性 format="#"
<bean:define>
2(logic) 逻辑标记:用来在JSP 页中控制流程
logic:iterate 迭代标签
<logic:notEmpty name="map">
<logic:iterate name="map" id="element">
<bean:write name="element" property="value"/><br>
</logic:iterate>
</logic:notEmpty>
logic:present logic:notPresent 作用域是否存在
<logic:present name="strTable">
<bean:write name="strTable" filter="false"/>
</logic:present>
logic:empty logic:notEmpty 集合元素为空
logic:equals logic:notEquals
<logic:equal name="onlybean" property="name" value="xxx">
等于 xxx
</logic:equal >
<logic:notEqual name="onlybean" property="name" value="xxx">
<bean:write name="onlybean" property="name"/>
</logic:notEqual >
3(html) HTML 标记:用来生成HTML 标记,在表单中显示数据,使用会话ID 对URL 进行编程
html:form html:text html:radio html:checkbox html:select html:option html:submit.....
<html:errors /> 显示所有错
<html:errors property=" 属性名"/> 显示对应的属性错误
4(template) 模板标记:使用动态模板构造普通格式的页面
6国际化 步骤
1建立中英文的资源文件,并配置好键值对
2在jsp页面动态导入I18n文件,
3在i18n文件进行判断
4在jsp页面用<bean:message key="键值">
7全局转发与局部转发
<global-forwards>
<forward name="xxx" path="/global.jsp"></forward>
<forward name="success" path="/uuu.jsp"></forward>
</global-forwards>
全局转发 所有的action共用 局部转发 自己的action用 当两者重名时,优先选择局部转发
8全局异常与局部异常(附件 struts1.x中的异常处理.txt)
<global-exceptions>
<exception key="资源文件中的key" type="包名.类名(如java.lang.ArithmeticException") path="/error.jsp"></exception>
</global-exceptions>
在error.jsp页面 <html:errors/>获取异常信息
全局异常 所有的action共用 局部异常 自己的action用 当两者重名时,优先选择局部异常
9 资源文件的使用(附件 资源文件设置.txt)
默认情况下,Struts默认的资源文件为ApplicationResources.properties文件。
在src目录下建立一个properties文件 一般为ApplicationResource.properties 里面写着键值对信息
如
aaa=111
bbb=222
ccc=333
在 struts-config.xml中配置使用资源文件 与<action-mappings>同级别,一般在<action-mappings>后,
<message-resources parameter="文件名(不需要后缀名)"/> 如上的配置为<message-resources parameter="ApplicationResource"/>
如果该资源文件不在src目录下,而在其他包名下,则应加上包名,假设ApplicationResource.properties在com包下,则配置修改为
<message-resources parameter="com/ApplicationResource"/>
在jsp页面上通过bean标记 可输出资源文件的内容
<bean:message key="aaa"/>
在页面上将显示111
10ActionError与ActionMessage
actionError 1.1版本 1.2版本推出actionMessage actionMessage是actionError的父类
actionError从语义上一般是指错误信息 actionMessage指的是一般信息
ActionError类与ActionErrors类
ActionError类从不独立进行错误处理,它们总是被存储在ActionErrors对象中。ActionErrors对象保存ActionError类的集合以及它们特定的属性值,我们可以使用自己定义的属性值,或是使用ActionErrors.GLOBAL_ERROR.
如下使用
ActionErrors errors = new ActionErrors();
ActionError error = new ActionError("资源文件中的key值",“要传递进去的参数值(一个或多个(字符串数组))");
errors.add(ActionErrors.GLOBAL_ERROR,error);//或者使用
errors.add("属性名",error )
saveErrors(req,errors);
在页面上通过
<html:errors /> 显示所有错误
<html:errors property="属性名"/> 显示对应的属性错误
ActionError类有两个构造方法 分别有一个参数和两个参数的
一个参数的 参数就是资源文件中的键值
两个参数的 第一个参数是资源文件中的键值,第2个参数是我们可以传进资源文件中的参数值
ActionMeaaage类与ActionMeaaages类
<html:messages id="aaa" property="属性名" message="true">
<bean:write name="aaa"/>
</html:messages>
Action 是单例的,不是线程安全的
每当有一次用户的请求, ActionFrom 就会被创建一次
18 struts缺点:
(1)struts的配置和结构过于复杂。
(2)因为actionServlet依赖于web容器,所以测试不太方便。
(3)Struts1的Action类是单例模式,必须设计成线程安全的。
19 struts1的客户端验证于服务端验证的区别?
答案:Struts中客户端验证跟服务器端验证有区别:客户端验证直接写一个action文件便可实现,而服务器端验证必须通过客户端程序去调用服务器端相 应的 WebServices,实现业务逻辑. 它们的本质区别是,就是客户端数据校验是在客户端上进行的,而服务器端校验是在服务器上进行的,在速度上客户端要快很多,但也有缺陷,就是当有黑客攻击的时候,他完全可以绕过客户端直接和服务器交互。
20关于Struts框架中的注意点
1.do请求后缀可以被改变
2.action类必须继承Action
3.execute方法是struts会自动调用的方法,不能随意修改
4.execute方法中的form是struts自动创建并建立的联系
5.form类必须继承ActionForm
6.页面中的html标记中的property必须和form
java类中的属性相对应
7.form
java类中的属性名必须配置setter和getter方法,而这些方法都是自动被调用的
8.页面中的<html:form
action="/login">action的值的映射必须在struts-config.xml文件中存在
9.标签中的声明是必须的,但是前缀的名称是可以修改的
10.页面中的标签引用uri="http://struts.apache.org/tags-html",uri
的值是不能任意改变的
发表评论
-
Hibernate知识点
2010-12-20 08:47 35861 什么是Hibernate Hibern ... -
struts2知识点
2010-12-19 23:28 26221,Struts1和Struts2的区别和对比 1 ... -
struts1 struts2 国际化
2010-12-02 11:21 1726struts1国际化 1,在struts-cofig.xml ... -
jsp 七大动作
2010-11-17 20:49 6657jsp动作 1.创建bean对象: <jsp ... -
jsp 自定义标签
2010-11-17 11:56 2235第一版本: 为什么要使用自定义标签呢? 主要是为了取 ... -
监听器
2010-11-16 19:58 1289监听器概述 1.Listener是Servlet的监听 ... -
web应用最终可以以哪种形式进行部署
2010-11-16 08:58 1554EAR(Enterprise Archive) Java ... -
JSP中forward和redirect有什么区别?
2010-11-09 16:30 1624解释一: RequestDispatcher.forwa ... -
java 导出Excel文件
2010-11-09 11:22 1431这是项目其中的一个功能 1前台: ... -
Get 和 Post 之详解
2010-11-08 10:49 10951.HTTP请求格式: &l ... -
最简单的文件上传
2010-11-04 20:32 1216文件上传实例 testFileUpload.jsp代码 ... -
太多的连接
2010-10-18 08:46 904今天开发项目的时候,总是报错,可是就是找不出原因,后来根据抱错 ... -
log4j写日志
2010-10-17 21:17 1195好处:便于维护与管理 ... -
如何实现数据水晶分页显示的功能?
2010-10-10 16:30 925这就是要显示的结果 首先要一个好看点的css样式 p ... -
实现业务系统中的用户权限管理
2010-10-07 20:50 1092最近学那个用户权限管理系统,郁闷的很啊,总是理解地云里云雾 ... -
如何在关闭页面时自动清除Session?
2010-10-06 09:40 41311、在要关闭的页面中的<head>处加入如下的ja ... -
Java中四种XML解析技术
2010-10-05 19:46 1453(一)DOM(JAXP Crimson解析器) DOM是用与平 ... -
java乱码处理集中营
2010-10-05 10:13 1852由于jdk中只规定了必须有一些unicode utf8 等编码 ... -
在Servlet与JSP中取得当前文件所在的相对路径与绝对路径
2010-10-05 10:11 1232System.out.println("根目 ... -
如何在Web程序中实现定时运行的功能?
2010-09-28 21:01 2489定时器在Web中的应用 关键字: java定时器在w ...
相关推荐
Struts2知识点
struts2 知识点
Struts2知识点总结,包括文件上传,文件下载,防止表单重复提交,Struts2标签,Struts2拦截器
struts知识点总结struts知识点总结,觉得有需要的就拿去看看吧
Struts2知识点详解,涵盖struts2所有知识点,以功能划分bundle,绝对详细,绝对犀利
struts标签知识点.pdf
struts2+hibernate+spring三大框架知识点笔记
java-struts2.0经典知识点
struts2机制、关键流程、拦截器、action、配置文件等
struts2的核心知识点,掌握了这些就不必担心面试时被问挂了哦
struts hibernate 安装及配置详解
struts2面试知识点,全面的struts概括
struts2的基本知识点,常见问题说明,常见用法解释~
Struts标签库知识点.pdf
关于struts2的入门知识点,以及拦截器方面的知识
Struts2开发各个环节的详细讲解,非常实用,适合刚接触Struts2的人
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用
NULL 博文链接:https://zhengmeishuang.iteye.com/blog/570902