Struts(一)

===============================MVC====================================
MVC(Model View Controller)
    1.Model:封装数据,进行业务处理,返回处理结果
    2.View:展示界面
    3.Controller:接受用户端请求,将模型和视图联系在一起以实现用户请求的功能

思路:图片

==============================Struts===============================
介绍:
    1.Struts2是一个MVC框架。Struts1 + WebWork
    2.Struts2兼容性好
    3.http://struts.apache.org

步骤:
    1.加载类库
    2.配置Web.xml文件
    3.开发视图层页面
    4.开发控制层Action
    5.配置struts.xml文件
    6.部署、运行项目
    
    a.加载的基本jar包:
        struts2-core-xxx.jar        Struts 2框架的核心类库
        xwork-core-xxx.jar            XWork类库,Struts 2的构建基础
        ognl-xxx.jar                Struts 2使用的一种表达式语言类库
        freemarker-xxx.jar            Struts 2的标签模板使用类库
        javassist-xxx.GA.jar        对字节码进行处理
        commons-fileupload-xxx.jar    文件上传时需要使用
        commons-io-xxx.jar            Java IO扩展
        commons-lang-xxx.jar        包含了一些数据类型的工具类
        
    b.配置Web.xml
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
    </filter>
        
    <filter-mapping>
        <filter-name>struts2</filter-name>
        
        <!--  将全部请求定位到指定的Struts2过滤器中 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Struts2访问Servlet API -- (即,登录成功后,使用session保存用户信息)
    访问方式:
        1.解耦
            a.对Servlet API进行封装
                提供了三个Map对象访问request、session、application作用域
            b.通过ActionContext类获取这三个Map对象
                1)Object get("request")
                2)Map getSession()
                3)Map getApplication()

2.耦合
            a.通过ServletActionContext类获取Servlet API对象
                 1)ServletContext getServletContext()
                 2)HttpServletResponse getResponse()
                 3)HttpServletRequest  getRequest()
                 4)通过request.getSession()获取session对象
            b.通过xxx.setAttribute()和xxx.getAttribute() 功能,在不同的页面或Action中传递数据

数据校验:
    1.继承ActionSupport类来完成Action开发
        validate()方法
    2.ActionSupport类不仅对Action接口进行简单实现,同时增加了验证、本地化等支持

标签:
1.将Action的错误信息在页面输出
    <%@ taglib prefix="s" uri="/struts-tags"%>
    
    常用表单标签:
        标  签                                说   明
        <s:form>…</s:form>                    表单标签
        <s:textfield>…</s:textfield >        文本输入框
        <s:password>…</s:password >            密码输入框
        <s:textarea>…</s:textarea >            文本域输入框
        <s:radio>…</s:radio >                单选按钮
        <s:checkbox>…</s:checkbox >            多选框
        <s:submit />                        提交标签
        <s:reset />                            重置标签
        <s:hidden />                        隐藏域标签

2.使用Struts 2标签在页面中实现逻辑控制
    a.使用Struts 2的通用标签
    b.条件判断标签
    c.迭代标签

常用通用标签:
        名称                        标  签                            说   明
        条件标签                <s:if>……</s:if>                    根据表达式的值,
        判断将要执行的内容        <s:elseif>……</s:elseif>
                                <s:else>……</s:else>
        迭代                    <s:iterator>……</s: iterator >    用于遍历集合
【注意:在实际开发中为了满足用户日益多变的需求。推荐使用原生的HTML以及EL表达式和JSTL标签来完成这些功能】

时间: 2024-08-10 21:17:13

Struts(一)的相关文章

struts(IDEA)的应用

目标 任务,完成以上功能. 第一步:模拟组长建project 1.建立一个空白工程(里面是没有文件的) 2.到此,我们见到新建的工程,目录里面没有其他文件,只有.idea目录 (这个是相关配置信息,可以不管它) 3.点击托管项目到码云 4. 输入账号和密码 注意:这里是直接创建远程仓库(在码云的服务器创建,不是本地) 作用:把本地的代码,统统托管到服务器上 5. 提示提交文件,但是没有文件可以提交,因为本项目本来就是空. 6.右下角,提示创建仓库成功. 同时,仓库里面,什么代码代码都没有 8.按

Struts初探(二)

总是找不到对应的action,但别的没用到动态方法调用的都没有问题. 报异常:java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$Me 实在是搞不清楚,我还以为全半角有问题,尚学堂的现有的工程,进去操作了一下是没有问题的,struts2-core-2.1.6.jar,我这里是2.3.31了,想一下只能是这个问题了吧. 在Struts2的action配置中

深入理解struts的运行机制

在此申明本博文并非原创,原文:http://blog.csdn.net/lenotang/article/details/3336623,本文章是在此文章基础上进行优化.也谈不上优化,只是加上了点自己的想法 jar包准备 为什么会用到这两个jar包呢,因为我需要通过这个jar来解析xml配置文件. 新建项目 流程梳理 struts配置文件 <?xml version="1.0" encoding="UTF-8"?> <struts> <

struts文件上传

如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name="struts.multipart.maxSize" value="31457280"/> jsp页面 <input type="file" name="file"/> action中属性 private File fi

Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动

看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2写的.http://blog.csdn.net/luckey_zh/article/details/22995389 以代码来说话吧. 首先是index1.jsp页面 [html] view plaincopy <%@ page language="java" import=&quo

SSH—Struts(三)—执行器(Action)

前面已经介绍了Struts的基本原理和控制器ActionServlet,按照一个请求的流程经过了ActionServlet之后就要到达Action类中做具体的处理了.ActionServlet通过ActionMapping获取映射的Action对象,通过Action来完成请求的处理,最后Action返回一个ActionForward对象. Action的创建 当请求经过ActionServlet时,ActionServlet会根据请求中截取的地址搜索对应名字的ActionMapping,即Str

struts的学习

在开发工具上进行struts的配置 1)新建项目,为项目添加Struts开发支持 2)为项目添加Struts开发支持,在项目点击右键,myeclipse->Add Struts Capabilities.选择支持的struts版本 3)在项目下的WebRoot下新建一个jsp文件.在Template to use下选在2中选择的struts版本 配置hello.jsp <%@ page language="java" pageEncoding="GBK"

struts 1.x 原理

Struts 当我接触到这个框架的时候,我就在想为什么是struts,而不是什么CraigFramework.结构.支撑,这样来理解也不难怪了. 为什么需要struts? 在struts in action这本书里,struts的开发者也讲到.在有了MVC后依然需要这样一个框架来支撑开发的工作,因为有了jsp和model和ejb来处理这一套流程还需要什么? 原理 首先需要在tomcat服务器启动,而tomcat启动后.部署在tomcat中的项目启动,相应在根据项目下的web.xml文件来实例化s

struts入门实例

创建maven web项目 配置pom.xml 加入struts的依赖包 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.13</version> </dependency> 下面是pom.xml的全部配置 <project xmlns="ht

Struts2 + Spring 学习(一)搭建struts开发环境

·为Web应用增加Struts2支持 1. 登陆struts2官网下载struts2的最新版,本文所用的是Struts 2.3.16.2 我们所下载的压缩包内内容应给如下 其中,apps包含了struts2的实例应用,docs包含了struts2的相关文档,lib包含了Struts2框架的核心类库以及struts2的第三方插件类库,src包含了struc包含了struts2框架的全部源码. 2. 在Eclipse新建Web工程,将是所用到的类库放到WEB-INF/路径下 3. 编辑Web应用的w