• Struts2应用可以不依赖Servlet api和struts api,属于无侵入式设计
  • Struts2是WebWork2基础上发展而来的,属于MVC框架
  • Struts2提供了拦截器,可进行AOP编程,实现权限拦截功能
  • Struts2提供类型转换器
  • Struts2提供支持多种表现层技术,如JSP,freeMarker,Velocity等
  • Struts2可对指定方法进行校验
  • Struts2提供全局范围、包范围、action范围的国际化资源文件管理实现

配置过程

开发Strut2最少要用到的jar包

具体可到其官网下载:http://struts.apache.org
commons-fileupload-1.3.1.jar:文件上传组件,2.1.6版本后必须加入此文件
commons-logging-1.1.3.jar:Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录
freemarker-2.3.19.jar:Struts2的UI标签模板使用freeMarker编写
ognl-3.0.6.jar:对象图导航语言,Struts2框架通过其读写对象的属性
struts2-core-2.3.20.jar:Struts2框架的核心类库
xwork-core-2.3.20.jar:Xwork类库,Struts2在其上构建

struts配置文件struts.xml应放在WEB-INF  -> class文件夹下,在开发阶段放在src下就可以了

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd">
<struts><!-- Action必须放在指定的包名空间中,package用来管理一群业务功能相同的action --><!-- name可取任意值,但必须是唯一的 --><!-- namespace可作为访问action路径的一部分,有助于减少重复代码 --><package name="hotel" namespace="/test" extends="struts-default"><!-- 两个示例action配置 --><action name="queryVipAll" class="com.dong.action.VipAction"method="queryVipAll"><result name="success">/admin/vip_manage/vipManage.jsp</result></action><action name="deleteVip" class="com.dong.action.VipAction"method="deleteVip"><result name="success" type="chain">queryVipAll</result><!-- queryVipAll为一个类 --></action></package>
</struts>

这个配置内容都一样,用到的时候可直接copy,不用每次都手写

当前用到的struts是2.3.20版本的。在Struts2中,struts框架是通过Filter启动的,在web.xml中的配置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!-- 自从Struts 2.1.3以后,下面的FilterDispatcher已经标注为过时 -->
<!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> --></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

当然如果项目后面用到自定义的过滤器,也要在这里定义

在struts.xml里打"<"没有出现提示符,原因是没有找到http://struts.apache.org/dtds/struts-2.0.dtd这个文件
这时机器没有上网,无法下载到这个文件。这时可将已在官网下载的struts-2.0.dtd文件加到
window->preference->myclipse->field and editor->xml->xml catalog
add file system
Key Type: URI
Key:  http://struts.apache.org/dtds/struts-2.0.dtd
这时如果struts.xml如果出现红叉,在<struts>后面按下回车再保存,红叉就会消失

Struts2中路径查找顺序

Action各项默认值配置

浏览器重定向就是引导用户到指定的路径。重定向到某个路径:

     <action name="redirect"><result type="redirect">/employeeAdd.jsp?username=${username}</result></action>

URL的参数为中文的话

this.username = URLEncoder.encode("中文的参数","UTF-8");

在jsp页面获取传递过来的数据

${param.username}
<%=URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8")%>

重定向到某个action:

     <action name="redirectAction"><result type="redirectAction">actionName</result></action>

重定向到别的命名空间里的action

     <action name="redirectAction"><result type="redirectAction"><param name="actionName">xxx</param><param name="namespace">/...</param></result></action>

原样输出视图的代码

     <action name="plainText"><result type="plainText">/index.jsp</result></action>
     <action name="plainText"><result type="plainText"><param name="location">/index.jsp</param><param name="charSet">UTF-8</param></result></action>

全视图

     <global-results><result name="message">路径</result></global-results>

待续

Struts2入门先知相关推荐

  1. Struts2 入门修行第一天 | 小节二

    Struts2 入门修行第一天 | 小节二 通过上一篇我们基本搭建一个 Struts2 环境成功啦,现在我们页面需要数据传递等 我们这里把第一个页面修改为一个添加数据的页面,在第二个页面显示第一个页面 ...

  2. Struts2 入门

    一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...

  3. Struts2入门这一篇就够了

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  4. Struts2入门到放弃

    写在前面------------------------------------------------------------------------- 本文章主要从三个方面来学习Struts2框架 ...

  5. struts2入门操作

    刚刚开始学习Struts2,总感觉一些入门配置记不住,在此做记录如下: 准备工作: 1.解压struts2的压缩文件: 2.在MyEclipse中创建web工程,并完成初始配置: 下面开始进行项目配置 ...

  6. Struts2入门这一篇就够了 1

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  7. Struts2 入门学习总结一

    一.Struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的 ...

  8. Struts2入门第一讲——Struts2框架的快速入门

    Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中.目前掌握Struts2框架几乎成为Web ...

  9. Struts2入门教程

    2019独角兽企业重金招聘Python工程师标准>>> http://www.chengxuyuans.com 程序员之家 一.准备工作及实例 1.解压struts-2.1.6-al ...

最新文章

  1. 8.3 matlab图形用户界面设计方法
  2. docker php nginx,使用docker快速搭建nginx+php环境
  3. 删除计算机文件的几种方法,电脑删除不了文件怎么办?教你几种好的处理方法,一学就会...
  4. android底层oem,Android中如何实现OEM
  5. 关于Chrome出现Provisional headers are shown无法正常访问的解决方案(其他firefox,360, IE访问正常) (转)...
  6. 【Deep Learning】genCNN: A Convolutional Architecture for Word Sequence Prediction
  7. 单步ARM汇编解开volatile本质
  8. php加密密码解析,php密码加密解密
  9. MySQL 添加列 修改列 删除列
  10. 计算机识别键盘流程,电脑键盘拼音打字操作过程
  11. 无线串口服务器规模,无线串口服务器讲述.doc
  12. 爬虫Selenium+Chrome 控制浏览器,打开百度网页,输入搜索关键词,点击回车,截取搜索页面
  13. 职场五大能力之学习能力
  14. python webpy启动服务
  15. jmeter 进行弱网测试
  16. python基础篇总结
  17. QMidi Pro for mac (终极多媒体卡拉OK播放器)
  18. 智能视频分析监控技术
  19. 爬取千库网ppt_初学Python-只需4步,爬取网站图片(附py文件)
  20. 蓝桥杯练习【数论基础】——一元三次方程求解

热门文章

  1. 伺服和步进电机运行产生位置偏差的原因分析?
  2. win8经典开始菜单计算机,Win8系统设置开启经典开始菜单的诀窍
  3. abcdCode代码生成器demo
  4. 详解互联网协议IPv6是什么?
  5. #learn words by steps6
  6. [Java] Java自学笔记(十一)——网络编程
  7. Android-调用自带的谷歌语音识别技术(一)
  8. 跨境物流市场现状研究分析报告 -
  9. 计算机组装与维修教学反思,计算机组装与维护课程教学反思.doc
  10. python 可视化编程 组态_python切分序列图可视化程序