struts2学习笔记(1)

主要作用:将请求与页面区分开

配  置:

    下载struts 2.0,在安装路径D:\项目学习\三大框架视屏\struts-2.3.24-all\struts-2.3.24\apps 中解压struts2-blank.war

    将目录D:\项目学习\三大框架视屏\struts-2.3.24-all\struts-2.3.24\apps\struts2-blank\WEB-INF\lib下的所有jar包复制到WebRoot->WEB-INF->lib中

显示提示:(按下Ctrl+/)

    在目录D:\项目学习\三大框架视屏\struts-2.3.24-all\struts-2.3.24\lib下解压struts2-core-2.3.24.jar

    在myeclipse中如下配置:(location为解压后struts2-core-2.3.24中struts-2.3.dtd)

    

web.xml的配置:

    在目录D:\项目学习\三大框架视屏\struts-2.3.24-all\struts-2.3.24\apps\struts2-blank\WEB-INF下打开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>
          <url-pattern>/*</url-pattern>
      </filter-mapping>

    粘贴到myeclipse的web.xml </web-app>的上方

struts.xml的配置:

    在解压完的文件夹内找到struts.xml,路径为D:\项目学习\三大框架视屏\struts-2.3.24-all\struts-2.3.24\apps\struts2-blank\WEB-INF\src\java

    将struts.xml复制进web project的src目录下,将其struts中的内容全部注释,然后再改写其中内容

struts.xml的改写:    

    <struts></struts>中的内容:

        <constant name="struts.devMode" value="true" />
        <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="..." method="...">
        <result name="SUCCESS">
        /Hello.jsp
        </result>
        </action>
        </package>

    ①namespce即为访问的action前面的地址,访问此页面网址为http://localhost:8080/struts2/hello(.action),等价于http://localhost:8080/struts2/Hello.jsp

       namespace默认为"",即action前面无论加什么都可以访问

    ②一般packagename与namespace相同,方便区分,例:<package name="hello" namespace="/hello" extends="struts-default">

     此时访问的页面为http://localhost:8080/struts2/hello/hello.action

    ③ 在<action name="user" class="com.struts2.add.AddAction" method="add">中,class是调用com.struts2.add包中的AddAction.java,method是调用的方法

        method也可以不用写,即动态方法调用(DMI)

src中的java程序:

    要继承ActtionSupport类,实现返回值为String的方法:

        public String add(){
            return SUCCESS;
        }

通配符:

    优点:只用配置一次struts.xml,只要按约定命名,就无需再改动

    <action name="*_*" class="com.struts2.add.{1}Action" method="{2}">

    <result>/{1}_{2}_success.jsp

    </result>

    </action>

    ①*可任意匹配,{i}为第 i 个 * 的值,{1}Action为类名,{1}应大写

传值:

    在调用的方法中写:

   public class AddAction extends ActionSupport {
      private String msg;
      public String getMsg() {      
          return msg;
      }
      public void setMsg(String msg) {
          this.msg = msg;
      }
      public String execute(){
          msg="what are you 弄啥嘞?";
          return SUCCESS;
      }
    在jsp页面写:

    ${msg}

时间: 2024-10-10 08:20:56

struts2学习笔记(1)的相关文章

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/

struts2学习笔记(8)-------struts2的ajax支持

struts2支持一种stream类型的Result,这种类型的Result可以直接向客户端浏览器响应二进制,文本等, 我们可以再action里面生成文本响应,然后在客户端页面动态加载该响应即可. 直接看例子: public class LoginAction { private String user; private String pass; private InputStream inputStream; public InputStream getInput(){ return inpu

Struts2学习笔记(OGNL表达式)

Struts2学习笔记(OGNL表达式) Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言: Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python.Ruby和Smarttalk等)的一些起特性: Velocity,严格来说不是表达式语言,它是一种基于Ja

Struts2 学习笔记(概述)

Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通

struts2学习笔记(一)

一.struts2和struts1的区别 1.Action类 a) Struts1要求Action类继承于一个抽象类,Struts1普遍使用抽象类编程而不是接口 b) Struts2的Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去实现常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以作为Struts2的Action对象. 2.线程模式 a) Struts1的Act

struts2学习笔记(7)------------ognl表达式

OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言. Struts2自行维护一个特定范围的"银行",Action将数据放入其中,而JSP页面可从中取数据,表面上似乎看起来像是jsp可以直接访问Action数据.. 当Action属性不再是简单的值,而是某个对象,数组,集合时,就需要使用ognl表达式来访问这些对象,数组,集合内的数据了. 1)ognl的stack Conte

Struts2学习笔记1

一.下载struts2.0.1 http://struts.apache.org/downloads.html,下载struts-2.0.1-all.zip,这个压缩包中包括了开发struts2所需的struts2-core.jar核心包以及其他struts2所依赖的JAR文件,另外另一些struts2的演示样例程序以及一些HTML的API文档. 二.试用struts2.0.1 1. 新建一个WEBproject,将struts-2.0.1-all.zip压缩包中的lib文件夹下的全部jar文件

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

struts2学习笔记(6)------配置struts2中的异常处理

我们平常的异常处理是直接在方法中手动捕捉异常,当捕捉到特定异常后,返回特定逻辑视图名.这样的缺点是代码与异常处理耦合太多,一旦要改变异常处理方式,需要修改代码! struts2提供给了一种更好的方式来处理异常------声明式的方式管理异常处理,我们可以通过再方法里将出现的异常throw出去,抛给struts2框架处理,然后再struts2中默认开启着异常映射功能,该功能在struts-default.xml中配置的一个拦截器,如下: <interceptor name="exceptio

struts2学习笔记(三)—— 在用户注册程序中使用验证框架

实现目标: 1.使用验证框架对用户注册信息进行验证 2.验证用户名.密码.邮箱不能为空 3.验证用户名.密码长度 4.验证邮件地址格式 具体实现 一.Struts2应用的基础配置 这里不做详细阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件中 1.查看用户注册程序中的所有页面,找到所有可以显示的文本内容,将它们分离出来放到资源文件中. 2.与相关的Action类同名,以.preperties为扩展名,与Action类位于同一个包中,只能由该Action访问 R