1.Struts1缺点
1.侵入性的,对于Servlet的API的依赖比较严重【耦合度比较高】
2.ActionForm数据模型的提供,在开发中会造成不良的影响
2.Struts2[MVC的框架,单控制器的框架]有apache提供
Struts1和Struts2没有任何关系 struts1-->Serlvet
struts2-->webwork
3.Struts2的框架
1.下载jar包 struts2.1.8 /struts2.1.6
4.Struts2环境的搭建
1.导入jar包
1).核心jar包
struts2-core-2.1.8.jar
2).导入第三方jar包
xwork-core-2.1.6.jar 是webWork的核心jar包
oro-2.0.8.jar 验证
ognl-2.7.3.jar 对象图导航
freemarker-2.3.15.jar 模板
antlr-2.7.2.jar 动态字节码
commons-*.jar
2.导入配置文件
struts.xml文件在当前项目的src下面
5.Struts2的开发
1.配置Struts2的单控制器在web.xml中作为一个过滤器
<filter>
</filter>
2.开发Action
implements Action 接口
3.配置文件 struts.xml的声明
<package name="自定义" namespace="/" extends="struts-default">
<action name="请求" class="action的全路径">
<result name="action返回的字符串">/跳转的路径</result>
</action>
</package>
4.struts2的默认请求为 *.action 或者 *
6.Struts2开发Action的方式
1.implements Action
2.一个java类
3.extends ActionSupport {提供了Struts2中很多额外功能;普遍使用}
7.Struts2默认执行Action中的execute()方法
如果<result>/ok.jsp</result> 表示Action返回的结果为success;
8.登陆案例
9.Struts2.0对于JSP中数据的提交的封装
1)Struts2.0会将Jsp中提交的数据与对应的Aciton属性进行赋值
2)Struts2.0框架会将Jsp中提交的数据以对象的形式进行封装
1)LoginAciton {
private User user;
}
User{
private String name;
}
jsp: <input name="user.name" type="text"/>
10.Struts2.0如何实现数据的封装
1)ActionContext:往作用域中添加数据
在Action中通过
ActionContext ctx=ActionContext.getContext();//单例设计模式
单例设计模式:保证在java的应用程序中,一个类只有一个实例
单例的常用形式:类的构造器为private
public class SingleUser{
private static SingleUser user=new SingleUser();
private SingleUser(){//私有的构造器
}
public static SingleUser getUser(){
return user;
}
}
SingleUser user=SingleUser.getUser();
Calendar c=Calendar.getInstance();
ctx.getxxx().put(key,value);
public class ActionContext(){
private HttpServletRequest;
private HttpSession;
private ServletContext;
put(key,value){
HttpServletRequest.setAttribute(key,value);
}
}
Struts2.0框架默认将Action的属性放入在值栈中
2) LoginAction exetends ActionSupport implement ServletRequestAware
private HttpServletRequest request;
@Override
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
11.result跳转类型
<result name="" type="dispatcher">jsp页面</result>
一个Action 转发到 一个 Jsp页面【默认】
<result name="" type="redirect">jsp页面</result>
一个Action 重定向到 一个Jsp页面
<result name="" type="chain">actionName </result>
aAction 转发到 bAction
<result name="" type="redirectAction">actionName</result>
aAction 重定向到 bAction
发表评论
-
struts2day06 自定义结果
2012-07-16 12:14 673类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 950Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8521.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 834Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day05学习笔记
2012-07-13 22:19 6761.自定义拦截器 1.im ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6771.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6501、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04Struts2.0实现阻止表单重复提交
2012-07-12 21:01 6241.使用叫做token的拦截器,在表单中加入<s:tok ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17811.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8701.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11861.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 6201.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 717Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 765Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 806Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9481.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1188在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6661.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10471.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6521.在opt.jsp页面 <%@ page langu ...
相关推荐
学习Struts2第三天笔记
学习Struts2第四天笔记
学习Struts2第一天的笔记
通过传智播客的struts2框架2016版day01课程,你可以系统地掌握Struts2的基础知识,为后续的深入学习和项目开发打下坚实的基础。同时,结合笔记和思路图,可以更好地理解和吸收所学内容,提升学习效率。在实际编程中...
### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大...
学习Struts2第二天笔记
在Day01的学习中,通常会介绍Struts2的基本概念和历史背景,包括其与前一代Struts1的区别。Struts2的核心组件如Action、Result、Interceptor(拦截器)等也会被详细讲解。此外,还会介绍如何搭建Struts2的开发环境,...
6. **实例分析**:可能包含多个日志记录(day01至day03)的项目实践,逐步深入理解Struts2和Hibernate的使用。 通过这些文档,你可以系统地学习到Struts2和Hibernate的基本概念、配置、使用方法以及在实际项目中的...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
教程分为6个部分,从基础到深入,分别是day01、day02、day03、day04、day05和day06,这表明教程按照学习路径进行组织,帮助你在一周内掌握Struts2的关键知识。 首先,day01可能涵盖了Struts2的基本概念,包括MVC...
2016年版本的Struts2资料集合了学习笔记、源代码和思路图,旨在帮助开发者深入理解并熟练运用这个框架。以下是关于Struts2框架的一些核心知识点: 1. **简介**: Struts2是Struts1的升级版,解决了Struts1中的一些...
- **泛型**:在`DAY01【泛型笔记】.docx`中,你将学习到泛型是如何帮助我们在编译时就检查类型安全,并消除运行时的类型转换异常。泛型允许我们在类、接口和方法中定义类型参数,增强了代码的重用性和安全性。 - ...
崔希凡老师的JavaWeb笔记涵盖了从day24到day28的内容,这五天的教程主要涉及了JavaWeb开发中的核心技术和实践应用。在JavaWeb领域,这些天的学习通常是项目开发周期中的关键阶段,涵盖了从数据库交互、Servlet编程、...
通过day01-day04的学习计划,你将逐步深入这三个框架的内部机制,掌握它们的整合使用,从而提升你的Java Web开发能力。 总之,这个资源包是一份宝贵的自学资料,无论你是初学者还是有一定经验的开发者,都能从中...
- 主流框架:如Struts、Spring、Hibernate(SSH),以及Ajax,掌握其工作原理和应用。 - UML建模:理解统一建模语言,用于系统设计。 - 设计模式:掌握常见的设计模式,如单例、工厂、观察者等,提升代码质量和可...
Struts2是基于MVC设计模式的Web应用程序框架,用于简化Java Web开发。它提供了一套处理HTTP请求和响应的机制,以及动作调度、结果渲染、异常处理等功能。 【Hibernate】 Hibernate是一个强大的ORM框架,它自动管理...
在"黑马程序员_javaWEB讲义和笔记资料_day08"中,我们可以预见到这一天的学习内容将深入到Java Web开发的核心概念和技术。"传智播客"作为知名的技术教育机构,其课程通常涵盖全面且深入的IT知识,因此这些讲义和笔记...
在提供的压缩包文件中,"day03.txt"可能是课程笔记或讲解大纲,"struts2_04"和"struts2_02"可能包含更深入的示例代码或讲解资料,可以帮助我们进一步理解和实践Struts2的相关概念和技术。通过深入研究这些资源,...
short 16bit, -2^15~2^15-1 (2^15=32768) int 32bit, -2^31~2^31-1 (2147483648,20亿,10位有效数字) long 64bit, -2^63~2^63-1 (900亿亿,20位有效数字) float 32bit, 9位有效数字,含小数(四舍五入)(小数点算...
4. **JSP(day03).txt、JSP(day05).txt**:这是两个关于Java Server Pages (JSP)的学习笔记,可能分别对应课程的第三天和第五天。JSP是Java Web开发的重要组成部分,用于创建动态网页。文件中可能包括了JSP语法、指令...