002--struts2入门

struts2入门

1、MVC设计思想

1.1、什么是MVC
  是一种设计思想,非常优秀的设计思想.根据职责不同将应用程序的组件分成三部分。
  Model模型:负责业务数据和业务处理.
  View视图:负责显示和接收用户输入.
  Controller控制器:协调模型和视图

1.2、MVC在JavaWeb中的体现
   Model:DAO,Entity,Util
   View:JSP
   Controller:Servlet

1.3 、MVC工作的基本流程
  a.客户端发请求,请求交给前端控制器处理
  b.前端控制器维护一个XML配置文件
  (XML定义了请求和Action之间的对应关系)
  c.前端控制根据请求调用相应的Action组件,执行请求处理
  d.Action处理完毕,可以将处理结果存放到Request
  e.控制器调用相应的视图JSP,进行响应处理

1.4、mvc的作用

  1.各施其职,互不干涉
    在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
  2.有利于开发中的分工
    在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控层。
  3.有利于组件的重用
    分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。

  通过以上作用大大提高开发及维护效率。

2、struts2入门

2.1、struts2使用原因

  实现了mvc思想是项目层次清晰,大大提高开发效率。

2.2、执行流程

  请求action-->web.xml(filter控制器)-->struts.xml(Action配置)-->action类方法-->struts.xml(result配置)

2.3、xml基本配置

struts是配置文件的根元素,可以包含多个package元素。

  package:作用是将Action分组管理,内部可以定义多个Action.

    *name属性:包名称.
    *extends属性:继承哪个package,一般情况下继承自struts-default.
      namespace属性:用于限定action请求名,默认值是"/"

  action:作用是定义请求和Action组件之间的对应关系

*name属性:action组件对应的请求名
                *class属性:指定action组件的实现类,包名.类名格式
                  method属性:指定要调用action类中哪个方法.默认值是execute

<result>:作用是定义响应视图
    *name属性:响应视图标识符,该标识符与action组件方法返回值对应.
      type属性:指定响应视图类型,默认值是dispatcher,请求转发

2.4、OGNL技术

  属于表达式语言,可以访pageContext,request,session,application存储范围的数据.可以简化JSP程序.

  OGNL标准结构:3个重要组成部分,一个OGNL引擎,一个是root对象,另一个是context对象.

  使用"key"格式访问root对象的属性,使用"#key"格式访问context区域需要。

User类属性:

private String name;

  UserAction属性及方法:

       private String hello;
       private User   user;
       private String[] roles;
       private List    organs ;
       private Map     map;
	public String execute(){
		hello = "Hello,cft";
		user = new User();                user.setName("cft");
		roles = new String[]{"超级管理员","系统管理员"};                organs = new ArrayList();                organs.add("广东省级机构1");                organs.add("广东省级机构2");                map = new HashMap();                map.put("rolesize",roles.length());                map.put("organsize",roles.size());
		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("msg", "Hello Request");
		return "success";
	}

  访问root对象的基本类型属性: 

<s:property value="hello"/>

  访问root对象的对象类型属性

<s:property value="user.name"/>

  访问root对象的数组类型属性:

<s:property value="roles[0]"/>

  访问root对象的List类型属性:

<s:property value="organs[1]"/>

  访问root对象的Map类型属性:

<s:property value="map.rolesize"/>
<s:property value="map[orgasize]"/>

  访问context对象基本类型属性:

<s:property value="#request.msg"/>

2.5 、Action如何使用request,session,application  

 Action实现以下Aware接口:

  RequestAware
  SessionAware
  ApplicationAware
  ServletRequestAware
  ServletResponseAware
  ServletContextAware

3、demo构建

时间: 2024-11-26 06:35:13

002--struts2入门的相关文章

STRUTS2入门笔记

1.1.开发Struts 2程序最少需要的JAR如下: struts2-core-2.x.x.jar :Struts 2框架的核心类库      xwork-core-2.x.x.jar :XWork类库,Struts 2在其上构建      ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性      freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeM

1.struts2入门程序

**Struts2的入门步骤(重点掌握开发的步骤,尤其要记住拷贝哪些配置文件)** 0. 需求:编写JSP的页面,超链接,点击超链接发送请求,让框架某个类中的某个方法执行了. 1. 步骤一:下载Struts2的开发包 * http://struts.apache.org/download.cgi 2. 解决struts-2.3.15.3-all.zip包 * 解压后会看到有包和一些文件,大家需要掌握包相关的信息 * apps -- Struts2框架提供了一些应用. * libs -- Stru

Struts2入门(1)

---恢复内容开始--- 一丶Struts2基础学习总结 Struts2是在WebWork2的基础开发而来,它相比于Struts1的优点在于以下几点: 1.Strust2没有像Struts1那样跟Servlet API耦合度很高. 2.Struts2提供了拦截器,利用拦截器可以进行AOP编程. 3.Struts2提供了很强大的类型转换. 4.Struts2提供了多种表现层技术,虽然常用的只有JSP. 5.Struts 2 的输入校验可以指定方法进行校验. 6.Struts 2 提供了全局范围.包

Struts2入门(一)——配置文件

一.前言 1.了解三大框架 什么是框架? 框架是一种规范,一种规则,一种把技术组织起来的规则,这就是框架. 什么是三大框架(SSH),Struts.hibernate和spring的作用是什么? Struts主要负责层的显示,spring利用IOC和AOP来处理控制业务(负责对数据库的操作),hibernate主要作用是数据的持久性到数据库. Struts的处理流程: 在Struts 2下载文件Struts-core-2.5.2.文件中(注意:不同jarStruts核心控制器的名称不同),Str

struts2入门程序

1.搭建struts2环境开发的步骤 搭建struts2环境时,我们一般需要做一下几个步骤的工作: 1.  创建javaweb工程 2.  找到开发struts应用所需要使用的jar 3.  创建jsp文件 4.  创建action文件 5.  编写struts2的配置文件 6.  在web.xml中加入struts2 MVC框架启动配置 开发struts2中需要使用的基本jar包: 关于struts2的提示: 我的myeclipes默认的struts2提示只到2.1,如果需要有2.3的提示,有

Struts2入门这一篇就够了

前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Servlet能够完成的事,我们为啥要用框架呢?? 框架帮我们封装了很多常用的功能 把Web带过来的参数自动封装到JavaBean中[以前,我们刚开始学的时候是单个单个来获取参数的,后来我们又使用了BeanUtils写工具方法来帮我们封装].现在,我们使用了Struts2的话,那么框架内部就能帮我们封装

struts2入门---ActionContext

1.开发环境搭建 2.简单应用 我们在index.jsp里面这样写: <a href="TestActionContext.action?name=zhoujing&age=21">Test ActionContext</a> <% if(application.getAttribute("date") == null) application.setAttribute("date", new Date())

struts2入门之拦截器

1.拦截器的执行时间:在action对象创建之后,在具体的方法执行之前: 2.拦截器底层实现原理:用到AOP思想和责任链模式:AOP:面向切面编程,通俗的讲就是当某个功能模块要增加某一项功能时,尽可能不去修改源代码而是通过其他的方式来达到相同的效果,比如通过配置文件等方式:责任链模式和过滤链模式有点相似,过滤链模式是指比如,一个请求由多个过滤器进行过滤,每个过滤器进行放行之后才能到下一个过滤器,最后实现目的:但是责任链模式,比如要执行多个操作,有添加,修改,删除三个操作,首先执行添加操作,添加操

简单的谈一下struts2入门(一)

Struts2的配置文件: 下面是它的配置顺序 web.xml Default.properties Struts-default.xml Struts-plugin.xml Struts.xml <package name="one-package" extends="struts-default"> <action name="one" class="cn.struts2.action.OneAction"

简单的谈一下struts2入门

1:Struts的由来 Struts1 - > 2000~2007 火,第一个非常成功的MVC框架 . 高耦合.高度的依赖于Servlet容器. 2003开始就有了很多的其他的MVC框架 Webwork  - struts2 Jsf - SUN springmvc 记住关键的一个概念就是Struts2是webwor升级版本 下载struts2 http://struts.apache.org/ Apache Struts is a free, open-source, MVC framework