Struts2框架学习
适合新手学习Struts2框架,里面涵盖了Struts2的基本配置、使用重点和一些有用的实例,对于准备深入学习Struts2框架的新手很适合。
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
【Struts2框架】Struts2总结
Struts2总结:1.Actiona)namespace(掌握)b)path(掌握)c)DMI(动态方法调用-感叹号加方法名)(掌握)d)wildcard(通配符的配置)(掌握)e)接受参数(掌握前两种)f)访问request等(掌握Map,IOC方式)g)简单数据验证(掌握addField和2.Resulta)结果类型(掌握四种,重点两种)b)全局结原创 2015-08-03 09:36:38 · 909 阅读 · 0 评论 -
【Struts2框架】第八节上传-利用struts2实现上传功能
Struts2的文件上传将表单的method属性设置为post,将enctype设置为multipart/form-data。将enctype设置为multippart/form-data,浏览器将采用二进制流方式处理表单数据。Struts2的文件上传默认使用jakarta的commons-fileupload文件上传框架,依赖commons-fileupload-1.2.1.原创 2015-08-03 09:34:39 · 2024 阅读 · 0 评论 -
【Struts2框架】第七节类型转换-类型转换原理和自定义类型转换器实例
1.类型转换原理类型转换是struts拦截器来实现的。类型转换的意思是能够把参数转换成action里面所需要的类型。转换不了可以使用自己写的转换器(但几乎不用自己写)。在struts的传参过程中,我们已经不知不觉的在使用类型转换了例如:http://localhost:8080/Struts2_upload/type/test?name=jack&age=9在htt原创 2015-07-30 21:44:59 · 3474 阅读 · 0 评论 -
【Struts2框架】第六节拦截器-拦截器的几个小实例
在看拦截器的小例子的前我们先来看看sturts2的原理struts2自己是有拦截器的,通过拦截器可以拦截用户请求,并作出处理拦截器作用有很多,譬如:1.Action里面有个属性,这个属性我想在action执行之前改成别的值,可以用拦截器解决。2.比如每个人执行action之前,我可以查看他们有没有这个权限执行这个action。如果不设置拦截器,你要在每种action原创 2015-07-28 20:51:46 · 1573 阅读 · 0 评论 -
【Struts2框架】第六节拦截器-拦截器介绍和总结
一.拦截器概念Strrurs拦截器是可插拔式的拦截器:如果我们要使用某个拦截器,只需要在配置文件中应用该拦截器即可。Struts拦截器由struts-default.xml,struts.xml等配置文件中进行管理。Struts2中已经默认启动了大量通用功能的拦截器(这些拦截器以name-class对的形式配置在struts-default.xml文件中),只要我们配置Acti原创 2015-07-27 16:09:33 · 1892 阅读 · 0 评论 -
【Struts2框架】第五节声明式异常处理-处理异常的过程
如何抓到异常的?步骤:(以之前写的小样例为例)如果CategoryService中的list方法出错(category_表不存在):public List list()throws SQLException{ Connection conn=DB.createConn(); String sql="select * from category_"; PreparedSt原创 2015-07-27 15:58:06 · 1503 阅读 · 0 评论 -
【Struts2框架】第四节Struts标签-通用标签简述与常用标签大例子
一.通用标签简述1.通用标签 a)property b)set i.默认为action scope,会将值放入request和ActionContext中 ii.page、request、session、appliaction c)bean d)include(对中文文件支持有问题,不建议使用,如需包含,改用jsp包含) e)pa原创 2015-07-27 15:43:16 · 1626 阅读 · 0 评论 -
【Struts2框架】第三节OGNL表达式-projection投影
projection(投影):俗话说就是过滤,就是过滤器把符合条件的过滤出来struts.xml: /ognl.jsp OgnlAction4.java:package cn.edu.hpu.ognl;import java.util.ArrayList;import cn.edu.hpu.mode.User;import原创 2015-07-26 18:14:33 · 1275 阅读 · 2 评论 -
【Struts2框架】第三节OGNL表达式-OGNL表达式例子2
1.OGNL静态访问例子struts.xml: /ognl.jsp IndexAction1.java:package cn.edu.hpu.action;public class IndexAction1 { public String execute(){ return "success"; }}S.java原创 2015-07-26 18:10:29 · 1382 阅读 · 0 评论 -
【Struts2框架】第三节OGNL表达式-OGNL表达式例子
Object Graph Navigation Language:对象图导航语言,就是用点来访问成员变量例1:struts.xml: /ognl.jsp OgnlAction1.java:package cn.edu.hpu.action;import com.opensymphony.xwork2.ActionSupport;public cla原创 2015-07-26 18:02:13 · 1919 阅读 · 0 评论 -
【Struts2框架】第二节Result-向结果传参数
重定向需要传值的原因就是栈值不共享struts.xml: /result3.jsp?t=${type} ResultAction2.java:package cn.edu.hpu.action;import com.opensymphony.xwork2.ActionSupport;public class ResultAction2 ext原创 2015-07-23 20:26:58 · 4078 阅读 · 0 评论 -
【Struts2框架】第二节Result-动态结果集
动态结果集可以在action中指定要跳转的页面(${}是OJNL表达式,不是EL表达式)struts.xml: ${r}ResultAction.java:package cn.edu.hpu.action;import com.opensymphony.xwork2.ActionSupport;public class ResultAction extend原创 2015-07-23 20:23:58 · 2195 阅读 · 0 评论 -
【Struts2框架】第二节Result-Global_Results_全局结果集
Global_Results_全局结果集,定义了一个大家都可以使用的结果集。例子: /Hello.jsp /User_Add_success.jsp /User_Add_error.jsp /User_Add_success.jsp /User_Add_er原创 2015-07-23 20:21:39 · 4988 阅读 · 4 评论 -
【Struts框架】第二节Result-结果类型_result_type
Result类型 dispatcherredirectchainredirectActionfreemarkerhttpheaderstreamvelocityxsltplaintexttiles前四种比较常用结果类型实验:前台页面:<%String path = request.getContextPath();Strin原创 2015-03-19 20:02:46 · 1336 阅读 · 2 评论 -
【Struts框架】第一节Action-模块包含和defaultAction
1.模块包含:struts.xml:里面可以这么写说明在struts.xml包含了一个login.xml文件login.xml:<!DOCTYPE struts PUBLIC "-//apache Software Foundation//DTD Struts Configuation 2.0//EN""http://struts.apache.org/dt原创 2015-03-19 20:00:25 · 1406 阅读 · 1 评论 -
【Struts框架】第一节Action-struts访问request等引用方法三和四
方法三:取得真实类型的request,session,application用得比较少的方法:package cn.edu.hpu.getValue;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSess原创 2015-03-13 11:36:27 · 1189 阅读 · 13 评论 -
【Struts框架】第一节Action-struts访问request等引用方法二
取得Map类型的request,session,application(最常用的开发方式):LoginAction2.java:package cn.edu.hpu.getValue;import java.util.Map;import org.apache.struts2.interceptor.ApplicationAware;import org.apache.stru原创 2015-03-13 11:32:37 · 1276 阅读 · 1 评论 -
【Struts框架】第一节Action-struts访问request等引用方法一
取得Map类型的request,session,application:LoginAction1.java:package cn.edu.hpu.getValueimport java.util.Map;import com.opensymphony.xwork2.ActionContext;public class LoginAction1 {priv原创 2015-03-13 11:27:54 · 1204 阅读 · 5 评论 -
【Struts框架】第一节Action-简单的数据校验
假设要验证账号密码的正确性,把账号密码传进Action后,Action验证完毕后,如何将验证后的结果返回给静态界面(即前台)呢?Action里面又没有Servlet中的request和response等东西?方法就是:添加对于属性校验的错误信息:addFieldErroraddFieldError("XX","yyy");XX是出错的信息名称(一般是属性名),yyy是这个错原创 2015-03-13 11:24:58 · 1295 阅读 · 1 评论 -
【Struts框架】第一节Action-action接受参数
Action接受参数的方式方式1:链接:javaee/user!add?name=jack&&age=21">添加用户struts.xml: /User_Add_success.jsp UserAction(写法相当于一个JavaBean):package cn.edu.hpu.action;public cl原创 2015-03-09 19:25:03 · 1354 阅读 · 2 评论 -
【Strurts框架】第一节Action-通配符
使用通配符,将配置量降到最小。在配置Action这样写: /student{1}_success.jsp{1}与*就是通配符。其中{1}指的是“*”号所代表的字符串,method="{1}"代表的就是使用StudentAction中方法名为{1}(说白了就是student后面的字符串)的方法来获取result。如:javaee/studentadd">添原创 2015-03-09 19:20:36 · 1317 阅读 · 0 评论 -
【struts框架】第一节Action-路径问题与创建Action方法
1.路径问题路径问题说明:struts中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。虽然可以使用redirect方式解决,但redirect方式并非必要。解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)或者使用myeclipse经常用的,指定bas原创 2015-02-22 13:34:26 · 1656 阅读 · 0 评论 -
【struts框架】第一节Action-NameSpace定义
namespace决定了action的访问路径,默认为"",可以接受所有路径的action。namespace可以写为/,或者/XXX,或者/XXX/YYY,对应的action访问路径为/index.action,/XXX/index.action或者/XXX/YYY/index.actionnamespace最好也用模块来进行命名namespace为空的时候,这个package包原创 2015-02-22 13:25:23 · 1599 阅读 · 0 评论 -
【struts框架】第一节Action-struts基础
struts本质:把请求与最后的结果分开(MVC)struts的基本环境:a.需要的jar包commons-fileupload-1.2.1.jarcommons-io-1.3.2.jarfreemarker-2.3.16.jarognl-3.0.jarjavassist-3.7.ga.jarstruts2-core-2.2.1.1.原创 2015-02-22 13:09:45 · 1520 阅读 · 0 评论