重要声明:此次学习struts2使用的版本为:struts-2.3.15.3,如果是用的其他版本出现的问题可以联系我。 一、 1、首先就是打开myeclipse创建工程名为: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添加: 特此说明:以后项目中如果用到复制的东西,尽量去复制,而不要自以为是的去拼写,初学者很多时候遇到的问题都是英文单词拼写错误所致。拼写需谨慎啊。
. G" T! w6 J* J) {% n/ i) C9 J1 [ struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* /*:了解servlet都知道,这是一种接收请求的形式,此处配置的意思:访问本项目的所有请求都会交给StrutsPrepareAndExecuteFilter进行处理。也就是struts2进行控制处理。 4、配置struts.xml 路径:struts-2.3.15.3\apps\struts2-blank\WEB-INF\classes 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、至此项目正常运行。 8 k* }# ?$ ~6 H# d/ g8 E
二、只要按着这几步配置下来基本struts就能配成功。 三、经验之谈: 1、项目中文件和类名以及其他命名时,最好使用英文,不会的可以去有道翻译。 2、能复制的东西,最好不要去自己拼写,如果非要拼写那么就多检查几遍,初学者在写程序时出现错误首先就应该查看拼写的地方。 3、Src下的action类最好以Action结尾 4、项目中遇到bug,千万不要着急,要从头分析项目,一条一条代码的捋。终会找到 问题的所在。 关于struts2的配置本来是不计划着讲的,但毕竟是初次这样写文,并没有思路。通过这篇配置的讲解,发现通过项目讲解知识点也是种不错的模式。所以在以后的struts2学习中会按照这种方式讲解,期间我会加入容易出错的地方的讲解以及个人分析问题和解决问题的经验。如果大家有遇到解决不了的问题可以和我联系,一块解决。
% Q$ g& D; C8 [* x4 ` S. { j9 r |