重要声明:此次学习struts2使用的版本号为:struts-2.3.15.3。假设是用的其它版本号出现的问题能够联系我。
一、
1、首先就是打开myeclipse创建project名为:struts001
2、从下载的struts-2.3.15.3包下的lib包中复制6个jar包:
commons-fileupload-1.3.jar作用:文件上传
commons-io-2.0.1.jar作用:辅助文件上传
freemarker-2.3.19.jar作用:模板引擎
ognl-3.0.6.jar作用:支持struts2的ognl语言
struts2-core-2.3.15.3.jar作用:struts2核心包
xwork-core-2.3.15.3.jar作用:struts2的内核包
到项目路径WebRoot下的lib文件下。
3、改动项目下的web.xml加入:
特此说明:以后项目中假设用到复制的东西,尽量去复制,而不要自以为是的去拼写,刚開始学习的人非常多时候遇到的问题都是英文单词拼写错误所致。
拼写需慎重啊。
<filter> <filter-name>struts2</filter-name> <!-- 可在引用的jar包struts2-core-2.3.15.3.jar下的 org.apache.struts2.dispatcher.ng.filter找到--> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
/*:了解servlet都知道。这是一种接收请求的形式。此处配置的意思:訪问本项目的全部请求都会交给StrutsPrepareAndExecuteFilter进行处理。也就是struts2进行控制处理。
4、配置struts.xml
路径:struts-2.3.15.3appsstruts2-blankWEB-INFclasses
struts2-blank为app下的war包,可改动后缀zip然后解压
然后拷贝到src下就可以。
内容可在我上传的项目中查看。
5、在src下创建类文件名称为LoginAction,详情看上传项目中的文件。
6、在WebRoot根文件夹下创建loginUI.jsp和login.jsp,详情看上传项目中的文件。
loginUI.jsp中的form中的action要和struts.xml中配置的action中的name一样。
7、执行项目,測试,
8、出现Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
是由于缺少javassist-3.11.0.GA.jar,可在app下解压的war包中找到。本来javassist-3.11.0.GA.jar是属于ognl.jar可是后来被剥离了。所以要单独加入。
9、出现:Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
是由于缺少commons-lang3-3.1.jar同上去找
10、我使用的tomcat5所以导致jsp中el表达式失效。在页面顶部加入:
<%@ page isELIgnored="false" %>就可以。tomcat5以上不用配置.
12、至此项目正常执行。
二、仅仅要按着这几步配置下来基本struts就能配成功。
三、经验之谈:
1、项目中文件和类名以及其它命名时。最好使用英文,不会的能够去有道翻译。
2、能复制的东西,最好不要去自己拼写,假设非要拼写那么就多检查几遍,刚開始学习的人在敲代码时出现错误首先就应该查看拼写的地方。
3、Src下的action类最好以Action结尾
4、项目中遇到bug,千万不要着急。要从头分析项目,一条一条代码的捋。终会找到 问题的所在。
关于struts2的配置本来是不计划着讲的。但毕竟是初次这样写文。并没有思路。通过这篇配置的解说,发现通过项目解说知识点也是种不错的模式。所以在以后的struts2学习中会依照这样的方式解说,期间我会增加easy出错的地方的解说以及个人分析问题和解决这个问题的经验。假设大家有遇到解决不了的问题能够和我联系。一块解决。
四、參考案例项目:http://download.csdn.net/detail/u011638419/8169915
每日一乐:
诸葛亮指挥作战。每次都单独乘坐一辆战车尾随大军。
有一次打仗。刚一开战。亮就驾车带头冲向敌方
军队一下士气大振,紧随其后,大破敌军。
战后
众人都赞:“军师神勇!”
亮道:“嚓,坡太斜,没刹住车……”
终于解释权归爱尚合伙人全部,转载请注明出处。