Struts2系列入门教程---第一章 HelloStruts2

作为程序猿,Strust2是什么东西,咱也没必要啰嗦了,现在就进入到Strust2的世界吧!至于为什么要使用Struts2来开发,说白了,你要找工作,公司要求你会呗,那就开始写第一个小demo吧!

开发工具:MyEclipse2014 + tomcat 7,其实这个myeclipse和tomcat版本是无所谓的,不影响程序的开发,没有myeclipse的自己去下载破解,不懂了破解的也可以给我留意,这里我就不讲了!

第一章 创建XML版本的Struts2小案例

还记得自己当初刚接触Sturts2的时候,所有开篇案例都是先让你下载Struts2的jar包,说实话,当时,对着教程一步一步来,感觉过程相当繁琐,真实痛苦不堪,往事不堪回首,对于新手来说真的是很受打击和挫折,那么,我们就来一个简单一点的吧,也不用下载jar包了,直接使用MyEclipse生成吧!

1.打开myeclipse  新建项目  名字就叫做HelloStruts2,注意不要如果你使用的是web3.0以上的 请不要直接点击finish,而是应该一路next到这个地方,然后勾选上web.xml,在finish!要不然你的项目下是没有web.xml这个文件的。然后什么都不要做,选中项目右键,在resource栏中先将项目的编码格式改成utf-8的,默认是使用gbk的,当然你也可以把myeclipse的workspace修改成utf-8,那么以后你在myeclipse中新建的所有的项目都是utf-8格式的了,至于为什么要使用utf-8,相信大家都碰到过中文乱码问题吧,虽然这样并不能从根本上解决乱码问题,但至少能避免一些莫名其妙的乱码问题,至少在编程这一行,对于咱们的中文是很不友好滴,这个习惯大家一定要养成,编程中是一项细心活,好了,废话不多说,咱们继续教程。

2.在package explorer中选中新建的项目,然后点击myeclipse

在然后将鼠标放在project facets上  在右边会出现一个选择框,然后选择Install Apache Struts(2.x)facets  会弹出Web Struts 2.x的对话框,然后点击next,这里勾选*.action,那么Struts2就会处理所有带action后缀的URL链接。然后finish,如此我们便将struts.xml文件创建好了,在你的src资源文件夹下面就会多出一个struts.xml的文件,同时,web.xml文件中也会自动生成过滤器的代码,这个过滤器,使用struts2的核心过滤器,当时我都自己手动新建的,然后这个内容一直都是记不住,估计也没人去记,大家都是使用模板文件,然后复制粘贴的,现在通过使用这样方法工具给我们自动生成了,就轻松方便很多了。


3.接下来,在webroot下面创建jsp文件,名字随便去,符合编程规范就行,我这里叫做login.jsp,内容如下:


4.编程Struts2的action,新建WelcomeStruts2Action类,包名随便去,符合java包命名规范就行,具体内容如下!这里需要注意一点的是类中的属性名一定要和在页面标签中调用的属性名一致,就是说这里定义的属性是username,那么在标签中调用的时候也是使用username,然后生成对属性声明setter和getter方法!类中就一个execute方法,返回的是一个字符串,待会需要根据返回的字符串值来进行页面的跳转,你们可以仔细看看,在其他的什么地方还使用到了这个返回的字符串,找到了,就应该会对struts2的流程有了一个更好的理解,所以这里我就不提示了,自己找找,找到了就应该都明白了!



5.编写welcom.jsp文件,用来将信息显示出来,同样也是使用的标签。没什么好特别注意的地方,内容如下



6.配置struts.xml文件。这里我们重点说明一下,因为教程就是讲解xml开发。先看看文件的内容:


文件中前面三行代码,不用关注,自动生成的。

重点说一下struts标签的内容。package标签,name属性,没什么意义,不需要太多关注,随便取,namespace属性,用来解决重命名的,例如一个b/s系统下  有前台登录界面和后台登录界面,都叫login.jsp,那么此时当我访问的时候到底是访问哪个登录界面,此时就可以使用namespace属性来区分了,因为使用此时当我访问界面的时候,需要在url中添加上namespace的属性值。我这里namespace属性的值是Struts2,所有我的登录url地址中需要加上Struts2

7.查看结果显示


8.整个项目的结构如下:如果有小伙伴没有成功的,请对比我的文档结构看看是不是所有文件都有。


这里,我们成功的获取到了登录界面的username的值,很简单吧!大家可以先熟悉一下流程,仔细看看程序,就应该能大致的清楚struts2的工作流程了!如果有不懂的地方,可以给我留言,有喜欢的朋友,请点赞,明天在讲解Struts2注解方式的入门程序。由于本人能力有限,若有错误之处,还请大家告知我!一起进步,一起成长

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、准备工作及实例 3 1.解压struts-2.1.6-all.zip 3 2.六个基本包 3 3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何使用alt+/提示 4 6.实例 4 7.开启struts2自带的开发模式常量 6 8.vo传参模式 7 9.ModerDriven传参模式(不建议采用) 7 10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7.Action中的method属性 12 8.使用ForwardAction实现页面屏蔽。 13 8.使用default-Action配置统一访问 14 小结Action 14 9.使用通配符 14 10.使用0配置:ZERO Annotation 15 11.Result配置详解 15 探讨type类型: 16 Type类型值 16 作用说明 16 对应类 16 chain 16 用来处理Action链 16 com.opensymphony.xwork2.ActionChainResult 16 dispatcher 16 用来转向页面,通常处理JSP 16 org.apache.struts2.dispatcher.ServletDispatcherResult 16 redirect 16 重定向到一个URL 16 org.apache.struts2.dispatcher.ServletRedirectResult 16 redirectAction 16 重定向到一个Action 16 org.apache.struts2.dispatcher.ServletActionRedirectResult 16 plainText 16 显示源文件内容,如文件源码 16 org.apache.struts2.dispatcher.PlainTextResult 16 freemarker 16 处理FreeMarker模板 16 org.apache.struts2.views.freemarker.FreemarkerResult 16 httpheader 16 控制特殊http行为的结果类型 16 org.apache.struts2.dispatcher.HttpHeaderResult 16 stream 16 向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据。 16 org.apache.struts2.dispatcher.StreamResult 16 velocity 16 处理Velocity模板 16 org.apache.struts2.dispatcher.VelocityResult 16 xslt 16 处理XML/XLST模板 16 org.apache.struts2.views.xslt.XSLTResult 16 全局result: 17 动态Result:了解 18 12.异常处理 18 三、在Action获取Scope对象 19 方式一、与Servlet解耦合的非IOC方式 20 方式二、与Servlet解耦合的IOC方式 21 方式三、与Servlet耦合的非IOC方式 21 方式四、与Servlet耦合的IOC方式 22 四、OGNL与ValueStack(VS) 22 1.值栈入门 22 2.OGNL入门 24 3.普通方法访问 24 4.静态方法访问 24 5.默认类Math的访问 24 6.调用普通类的构造方法 25 7.集合对象初步 25 8.集合对象进阶 25 9.N语法top语法 26 10.获取Stack Context中的信息 26 11.总结$ # %的区别 27 12.总结OGNL[重点] 27 五、拦截器 28 1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 32 4.使用默认的execAndWait拦截器 33 5.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值