Struts2学习笔记01

来源:互联网 发布:python 股票交易平台 编辑:程序博客网 时间:2024/06/06 08:27

Struts2   day01      

1.     为什么学习Struts框架

a.     Struts框架的优点:

简化开发工作量,提高开发效率

设计思想优秀(MVC)

b.     如何学习Struts框架

先重点掌握框架的使用,其次是原理性知识。

2.     MVC模式在JavaWeb中的应用。

1.     *什么是MVC(面试)

                      i.             MVC思想就是根据组件职责不同,将系统中的组件分成以下三个部分组成。

                  1.       V视图:负责与用户交互,一种是展示数据,另一种是接收数据

                  2.       M模型:负责业务处理,一种是业务逻辑模型,另一种是数据模型

                  3.       C控制器:负责协调视图部分和模型部分协同工作

2.     为什么使用MVC

企业级程序更强调结构灵活,易于拓展和升级。所以广泛选用MVC模式开发。

3.     *javaweb中如何实现MVC结构

                      i.             JavaWeb技术主要有:Servlet jsp JavaBean Filter Listener

                    ii.             V部分:JSP组件

                 iii.             M部分:JavaBean组件

                 iv.             C部分:Servlet,Filter

3.     *MVC处理流程

1.     V(请求)----->C(调用)----->M(处理并返回结果)----->C(调用)----->V(生成页面响应信息)

2.     *Struts框架的MVC实现

                      i.             原有的shoppingcart虽然符合MVC结构,但不适合大型项目的开发,因为请求一朵,shoppingchartServlet就会出现大量的if..else…,可以进行以下方式的改造,可以为shoppingchartServlet配置一个XML文件,该文件定义不同的请求和不同的Action组件的对应关系,将原有的if….else…分支处理用Action组件封装

3.     **Struts框架的处理流程:

                      i.             浏览器发出struts请求

                    ii.             请求进入struts控制器

                 iii.             Struts控制器解析XML配置文件(XML定义了请求和Action对应的关系)

                 iv.             控制器根据不同请求,调用不同的Action

                    v.             Action调用DAO处理请求,之后返回结果

                 vi.             控制器根据结果调用视图组件为用户响应

4.     了解Struts历史

Struts框架分成Struts1和Struts2,Struts1和Struts2没有必然的联系。Struts2是以webwork框架核心(xwork)为基础构建起来。

5.     *Struts基本使用

1.     引入Struts2核心开发包(5个)

                      i.             Struts2-core-2.1.8.jar:Struts 2框架的核心类库

                    ii.             Xwork-core-2.1.6.jar:XWork类库,Struts 2在其上构建

                 iii.             Commons-fileupload-1.2.1.jar: 文件上传组件,2.1.6版本后必须加入此文件

                 iv.             ognl-2.7.3.jar:对象图导航语言(ObjectGraph Navigation Language),struts2框架通过其读写对象的属性

                    v.             freemarker-2.3.15.jar:Struts 2的UI标签的模板使用FreeMarker编写

2.     在web.xml中配置下struts控制器

3.     根据请求编写Action JSP

4.     在struts.xml定义Action和请求对应关系

6.     Struts入门实例

Welcome.actionàStrutsàstruts.xmlàwelcomeActionàwelcome.jsp

Action请求可以是/welcome.action或者/welcome两种写法

===============struts.xml基本配置====================

Struts.xml放在src根目录下。

a)<struts>根元素,可以包含多个<package>元素

b)<package>元素主要用于将Action分组定义,name属性用于指定包名;extends一般指定为struts-defult ,struts-defult这个包在struts-defult.xml中定义的,其中包含了struts2运行所需的必要组件。

c)一个<package>元素可以包含多个<action>,<action>主要用于定义请求和action之间的对应关系,name属性指定请求名;class属性指定action的包名.类名

d)一个<action>元素可以包含多个<result>,<result>主要定义视图响应。Name属性与action.execute()返回值一致

==================================================

扩展HelloWorld示例

1.     隐藏jsp文件路径

通常情况下,一般将jsp文件放到WEB-INF目录下,这样做的好处,是用户只能通过action方式访问,不能通过其绝对路径来访问jsp文件,如果不放在WEB-INF目录下,是可以通过绝对路径来访问的。

2.     用action向jsp文件传递参数

在action文件里,定义一个变量,同时定义其get和set方法,在调用execute()方法时,将参数绑定在方法内,在jsp页面里,用el表达式${参数名}就可以接收到action传递的参数了。

3.     页面跳转可以采用如下配置:

<actionname=”请求名”>

<result>

Jsp

</result>

</action>

在默认情况下,<result>默认为<result  name=”success”>

第一天的学习就那么多知识,写博客也只是让自己养成一个良好的整理知识的习惯!

原创粉丝点击