Struts2学习笔记(未完待续)

Struts2是在WebWork2基础发展而来的。和struts1一样,struts2也属于MVC框架。不过有一点需要注意的是:尽管struts2和struts1在名字上差别不是很大,但是struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2?主要是因为struts2有以下优点:                                                                     1>在软件设计上,struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,struts2的应用可以不依赖Servlet API和struts API。Struts2的这种设计属于无侵入式设计,而struts1却属于侵入式设计。 

1 public class OrderListAction extends Action{
2     public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,
3         HttpServletResponse response) throws Exception{}
4   }

2>Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
    3>Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在struts1中,如果我们要实现同样的功能,就必须想struts1的底层实现BeanUtil注册类型转换器才行。
    4>Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等
    5>Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。
    6>提供了全局范围、包范围和Action范围的国际化资源文件管理实现

搭建Struts2开发环境
搭建Struts2环境时,我们一般需要做以下几个步骤的工作:(一下文件都可以在下载的struts2的文件夹中可以找到,找不到的可以联系我。QQ:434551893)
     1>找到开发Struts2应用需要使用到的jar文件,拷贝到WEB-INF下/lib目录下
     2>编写Struts2的配置文件
     3>在web.xml中加入Struts2 MVC框架启动配置
添加源码文件(建立jar文件对应的源码):右键点击之前添加的struts2-core-2.3.24.1.jar文件,选择Properties --> Java Source Attachment --> External Folder,然后选择源码位置struts-2.3.24.1\src\core\src\main\java
添加文档文件:右键点击之前添加的struts2-core-2.3.24.1.jar文件,选择Properties --> Javadoc Location --> URL--Browse  找到struts-2.3.24.1\docs\struts2-core\apidocs OK!          
快速提示设置:先在本地解压一个lib文件夹下边struts2-core-2.3.24.1.jar文件,里边可以看到dtd文件。然后打开window --> Preferences --> 搜索catalog  选中XML Catalog  点击Add  Location:本地dtd文件位置,Key Type:选择URI,Key:struts2.xml配置文件中的http://struts.apache.org/dtds/struts-2.3.dtd

时间: 2024-12-15 03:27:46

Struts2学习笔记(未完待续)的相关文章

w3school之JavaScript学习笔记-未完待续

在前端测试过程中,少不了听到开发说到JS,JS在webJavaScript 是浏览器脚本语言(简称JS),主要用来向HTML页面添加交互行为. 学习网址:http://www.w3school.com.cn/js/js_intro.asp 写入HTML输出 document.write("html元素") 对事件作出反应 <button type="button" onclick="alert('Welcome!')">点击这里<

w3cschool之HTML学习笔记-未完待续

由于html标记语言是网页自动化测试所必须要掌握的,所以重新学习html语言(这似乎是我第四次学习html,这次得坚持了) 学习网址:http://www.w3school.com.cn/html/index.asp HTML 指的是超文本标记语言 (Hyper Text Markup Language),用来描述网页的.Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们.浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容. HTML文档是由HTML元素定义的.HTM

Less学习笔记(未完待续)

     作为 CSS 的一种扩展,Less 不仅完全兼容 CSS 语法,而且连新增的特性也是使用 CSS 语法.这样的设计使得学习 Less 很轻松,而且你可以在任何时候回退到 CSS(摘自官网) 1.变量    Less通过@来定义变量:Less中的变量为完全的常量,所以只能被定义一次 @base: #f938ab; div { background: @base; padding: 50px; } p { color: #ff0; } 2.混合(Mixin) 混合可以将一个定义好的clas

BootStap学习笔记(未完待续)

移动设备优先:  为了让开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的head之中添加viewport meat标签:如下: <metaname="viewport"content="width=device-width, initial-scale=1.0"> 响应式图像: 通过对图像添加class="img-responsive"可以让图像对响应式布局设计的更好: 伪元素 http://www.w3school.

Scala学习笔记(未完)

1.for循环格式for(i <- 1 to 10){print(i)} 2.懒加载 lazy val a = 1; 直到用时才会加载 3.方法的声明格式 def(x:Int,y:Int) : Int ={} 最后一个冒号后面是返回类型,不加则没有返回值 4.默认参数 def loadConf(conf : String = "default"){ print(conf)} 如果不传入参数 ,则默认使用default的数值 5.变长参数 def sun(elems: Int*){

sql语句学习及索引学习,未完待续,补充增删改查

1,查询出last_name 为 'Chen' 的 manager 的信息. select * fromwhere employee_id = ( selectfrom employees where'Chen') 2,查询每个月倒数第2 天入职的员工的信息 select last_name, hire_date where hire_date = last_day(hire_date) – 1 3,查询平均工资高于 8000 的部门 id 和它的平均工资. SELECT department_

脚本编辑$RANDOM 和 case语句 (笔记) 未完待续

$RANDOM 个人理解是一个用来生成随机数的一个变量 ,由此编写一个脚本 [[email protected] script]# cat random.sh #!/bin/bash # declare -i MAX=0 declare -i MIN=0 for I in `seq 1 10`; do MYRANDOM=$RANDOM [ $I -eq 1 ] && MIN=$RANDOM if [ $I -le 9 ]; then echo -n "$MYRANDOM,&quo

文件查找命令find (笔记)未完待续

之前所学的grep egrep fgrep 都是用来查找文本中的某个字符匹配的 现在来学一下查找文件命令 locate find locate 此命令是非实时查找文件,它是根据全系统文件数据库进行查找的, 仅用模糊匹配,非精确查找 locate filename 即可实现查找其它相关文件 但是注意有时候如果系统是刚安装的有可能还没建立此数据库,使用该命令会提示查找不到数据库 不过不用担心使用updatedb即可自动生成数据库,生成数据库的时候有时候会很慢,这个根据用户的 磁盘上所放的东西多少决定

我的Java问题集(1)(重点、难点、疑点)未完待续...

学习Java这么久了,总算也了点笔记,一个一个字码的哟! 1.Java中的int等类型变量既然已经有默认值为0,为什么还会出现没有初始化,编译出错呢? 一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值: Boolean false Char '\u0000'(null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d 如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他

把握linux内核设计思想系列(未完待续......)

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 把握linux内核设计思想(一):系统调用 把握linux内核设计思想(二):硬中断及中断处理 把握linux内核设计思想(三):下半部机制之软中断 把握linux内核设计思想(四):下半部机制之tasklet 把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择 把握linux内核设计思想(六):内核时钟中断 把握linux内核设计思想(七):内核定时器和