×

struts2入门案例

struts2入门案例(struts2怎么学习啊,那些事重点)

admin admin 发表于2023-01-07 08:54:05 浏览33 评论0

抢沙发发表评论

本文目录

struts2怎么学习啊,那些事重点


少读、精读网络教程,坚决不读有价书籍
对于很多初学者来说,看reference这种方式他们的接受程度很低。相反的,他们反而会去转向一些书籍和网络教程。针对这些学习材料,我就不得不带着有色眼镜去看待了。
目前市场上任何的有价书籍,我认为完全没有阅读的必要。这些书籍的一大特点是贵,将花费你大量的银子。而且这些书籍错误繁多,所挑出的示例也基本上毫无实践意义。更加可悲的是,这些书籍中的很多示例,作者在写的时候根本不动脑筋,也不会包含程序开发中的一些最佳实践,甚至会给很多读者以:“程序就是这么写的”这样的误导。
网络上还有很多原版的教程,例如《XXX in Action》系列。《XXX in Action》系列的书籍在市场上深受好评。这些系列的书籍我很多都读过,我并不认为这一系列的丛书相对于框架自带的reference有什么过人之处,有某些地方的理解也带有一些作者个人的感情色彩。其实每个人写书或者写文章都会带上自己的感情色彩,这本不是什么坏事,不过既然已经有了 reference,为什么我们要舍近求远呢?当然,不得不说,这个系列的书籍还是写得相当不错的,只是相对reference而言,不如 reference来的好了。
同时,网友也提到了很多网络教程。网络教程,尤其是中文的网络教程,基本上都是网友的经验之谈,也有写成系列文章的。对于网络教程,我的意见是:少读,精读。因为网络教程是网友自发的,而我不得不说,许多网友写的网络教程是一塌糊涂,误导世人的。同时,也有很多网络写的网络教程相当不错,可以作为入门级别的参考资料。但是对于初学者来说,根本很难分辨其中的好坏真伪。完全凭借运气去赌大小,押宝押对了就对了,押错了就自认倒霉。所以,针对网络教程,最好是带着问题去读,去搜索你的答案,而不是当作核心文档来阅读。
阅读、仔细阅读、反复阅读每个开源框架自带的reference
这一点是学习一个框架最最重要,也是最最一开始需要做的事情。不过事实上,无数的程序员对此并不在意。程序员总是以种种理由不仔细阅读reference:
1. 看英文文档太吃力
应该说阅读英文文档是每个程序员的基本素质之一,这就跟调程序需要耐心一样。如果你连调试程序的耐心都没有,那么趁早放弃程序员这个行当吧。其实阅读文档,尤其是英文文档,也是程序员的基本素质,这个素质是一点一点积累培养起来的。所以,对于那些实在觉得吃力的朋友,我的建议是结合中文文档一起看。好在满江红的开源支持者为你精心做了许多很有价值的翻译,例如Spring,Hibernate等都有对应的中文文档。但是我依旧认为,看中文文档,必须和英文文档对照,否则你就可能迷失在许多的语义不匹配上。
2. reference实在太厚而抓不住思路
耐心,耐心,还是耐心。从reference的质量而言,其实多数的开源框架的reference都是相当优秀的。尤其是Struts2,基本上都是一个一个的专题wiki文章拼起来的文档。至于说到Spring,那只能培养你的耐心了。
我之所以强烈推荐大家仔细阅读开源框架自带的reference,主要基于以下的两个原因:
1. 这些自带的reference多数出自这些开源框架的作者之手。你说还有谁能够比他们自己更了解他们自己的产品呢?自己写的程序,到底有哪些优点,如何使用,自己肯定是最最清楚的,所以要说到权威,不可能有任何的文档比自带的reference更加权威。
2. 自带的reference几乎很少犯错,所以不会给你带来什么的误导信息。不仅如此,许多的reference已经为你总结了许多框架使用过程中的最佳实践。有那么好的事情,为什么我们不直接去看这些reference来获得第一手的资料呢?
当然,很多人看reference会觉得很枯燥。没关系,我的建议是,多看几遍。第一遍,你可以采取scan的方式,目的是了解框架的大概。第二遍,挑重点的章节仔细阅读,并且辅以一定的代码实践。第三遍,带着碰到的问题阅读,在文档中寻找答案。
搭建环境运行每个开源框架自带的sample项目
我不知道有多少初学者真正的去跑过每个开源框架自带的sample项目。按照我的经验来说,这绝对是一个学习的最佳途径。
以Struts2为例,Struts2的根目录下有一个apps的目录,里面有struts2-blank-2.0.11.war,struts2-showcase-2.0.11.war,struts2-portlet-2.0.11.war等war包。你只要把这些war包放到任何的application server的运行环境下即可运行。比如,你可以放到Tomcat的webapps目录下,启动Tomcat,你就可以直接访问到一个内置了众多Struts特性的项目了。
其实你可以从这些项目中获得许许多多有用的信息。不仅如此,一旦你在使用Struts2的某些特性的时候发生了无法解决的困难,你往往也能从这些项目中找到一些解决问题的方案。更加能让你放心的是,至少这些项目表达了Struts2的作者原本的意思,你只要按照它的sample来写代码,总不会错到哪里去。
在这里,我简单举例来说明你可以从这些项目中学到些什么:
1. 如果你仔细学习struts2-blank-2.0.11.war这个项目,它可以告诉你如何搭建一个最最简单的Struts2的项目;它还会告诉你,Struts2至少需要依赖哪些jar包(请以后不要再为jar包错误而苦恼);同时,也给你做出了一些范例,web.xml怎么写,struts.xml又怎么写。
2. struts2-showcase-2.0.11.war这个项目,你则可以看到Struts2的特性的大杂烩,这对于你看reference是相当有帮助的。比如说,你在看文档时看到了“文件上传“的章节,那么你就可以参考项目中的upload子目录。相当于你一边看文档,一边已经有一个现成的跑得通的例子在这里提供给你。这是不是要比那些所谓的网络教程更实际呢?
3. struts2-portlet-2.0.11.war则给出了在Portal环境下的Struts2的应用。
所以,综合来说,框架自带的项目绝对是你学习的第一手资料,你基本上不需要舍近求远得去找网络上别人写的例子,原生态,不好嘛?
自己写一个sample项目亲身体验
这一点其实不用我说,大家也应该明白。不过我还是见过不少的程序员,眼高手低。成天能够和人吹牛说这个框架怎么怎么好,那个框架怎么怎么方便。让他自己动手来用这些框架写一段程序出来,手足无措,搞了半天,就是无法跑通。
所以,实践是检验真理的唯一标准。只有自己亲自动手去实践,才能说你真正掌握了某个技术,理解了某个框架。在编写自己的sample项目时,你不妨就以最简单的User的增删改查作为你的业务场景,在实践中不断的重构你的代码,从而提升自己的水平。
带着问题debug开源框架的源码
如果你对某个开源框架的使用已经比较熟练,对其内部的原理也基本清晰了。你或许会对其中的某些设计原理产生一些问题(或许仅对勤于思考的人有效)。这个时候,我认为你可以试图去看一看开源框架的源码。
我看开源框架的源码的方式有些特殊,我喜欢在程序里做debug,来看看在开源框架的内部,到底运行了哪些类,他们是如何执行的。我坚决反对逐个包逐个包的去看源码,这毫无意义。因为这相当于把一个肢体进行了分解,一个运行状态良好的程序,你把它割裂开来,显然什么都读不懂。在程序中debug源码,你不仅可以浏览到程序执行过程中的每个类,还能查看这些类的运行状态。这才是阅读源码之道。

sturuts2框架


如果以前学习过其它的MVC框架,如struts1,spring mvc,webwork, 那就好办,直接在apache的官方网站下载apache的struts2的包,里面包括API,examples,lib都有,把例子代码放进tomcat里运行就可以了,接着一一看效果,根据代码学习,掌握得很快。apache官方网站:www.apache.org 打开后发现显示很乱,apache就这样,看似乱七八糟的网站,东西都是精华。在主页找到struts的链接,进去后接着就可以看到struts1 struts2,选择struts2就可以找到相应的下载了。建议:如果英文比较好,一边看一边练习,还是比较好学的。
如果以前没有MVC方法的学习或使用经验(个人感觉你应该没怎么学习或使用过MVC),那就需要一步步来学习了,首先,在网站上找一个struts2的入门教程,文档类的也好,视频类的也好,搭建起第一个实例,慢慢领会里面的设计思想与编程思路,吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识。此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合(其实这个内容跟Struts2没多大关系,但有一些细节,需要掌握一下)。
OK,最后说说追求Struts2大神级别的童鞋,当学会了基本使用以其原理,接着可以阅读Struts2的源代码,了解Struts2的一些内部机制有利于更灵活的配置Struts2,如配置文件的位置,相关参数的配置(因为Struts2很多东西是默认配置的,开发人员并不知情,也就是业内所说的缺省配置),了解了这一些,一个大牛Struts2程序员就诞生了,你可以相当自入的开发并且能够对大家常谈的Strusts2的性能问题也做一些适当的优化(当然只是适当,有些东西是无法改变的,得到的开发的快捷,必须失去一些性能上的优势)
亲,希望对您有帮助,期待您的采纳哦~~~~~~

struts2访问action一直显示404


action方法404错误是因为struts.xml中配置的路径是错误的。
struts.xml配置如下:
struts.xml文件
《?xml version=“1.0“ encoding=“UTF-8“?》
《!DOCTYPE struts PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 2.1//EN“

采用Struts2框架,完成下述简单任务(项目):实现用户注册功能要求如下: 一、 详细写出项目实现步骤,


开发工具eclipse:
1 . 新建web项目,在webcontent/web-inf/lib 目录下导入struts2jar包
2 . 在src下新建一个struts.xml文件
3 . 配置web.xml 加入如下:
《servlet》
《servlet-name》action《/servlet-name》
《servlet-class》org.apache.struts.action.ActionServlet《/servlet-class》
《init-param》
《param-name》config《/param-name》
《param-value》/WEB-INF/struts-config.xml《/param-value》
《/init-param》
《init-param》
《param-name》debug《/param-name》
《param-value》3《/param-value》
《/init-param》
《init-param》
《param-name》detail《/param-name》
《param-value》3《/param-value》
《/init-param》
《load-on-startup》0《/load-on-startup》
《/servlet》
《servlet-mapping》
《servlet-name》action《/servlet-name》
《url-pattern》*.do《/url-pattern》
《/servlet-mapping》
4. 新建三个页面首页,成功页面
index.jsp
《html》
《body》
《form action=““ method=“execute“》
《input name=“useranme“ type=“text“》
《input name=“password“ type=“password“》
《input type=“submit“ value=“提交“》
《/form》
《/body》
《/html》
success.jsp
《html》《body》注册成功《/body》《/html》

5. 写action
public void RegisterAction extends ActionSupport{
  private Strring username;
private String password;
public void setUsername(String username){this.username = useranme;}
public String getUsername() {return username;}
//..省略password set get

public void execute(){
//向数据库啊插入数据,或者模拟一个即可
return SUCCESS;
}

  }
5. 配置struts.xml
《package name=“abc“ extends=“struts-default“》
《action name=“register“ class=“RegisterAction“》
《result name=“success“》/success.jsp《/result》
《result name=“input“》/index.jsp《/result》
《/action》
《/package》
6. wancheng

struts2的入门问题、、


什么都不写 就是从 ValueStack里取值 写 #变量名 是在 ActionContext中取变量值 #request.变量名 #session.变量名 #application.变量名
在制定作用域中获取变量值