重要声明:此次学习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.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、至此项目正常执行。

二、仅仅要按着这几步配置下来基本struts就能配成功。

三、经验之谈:

1、项目中文件和类名以及其它命名时。最好使用英文,不会的能够去有道翻译。

2、能复制的东西,最好不要去自己拼写,假设非要拼写那么就多检查几遍,刚開始学习的人在敲代码时出现错误首先就应该查看拼写的地方。

3、Src下的action类最好以Action结尾

4、项目中遇到bug,千万不要着急。要从头分析项目,一条一条代码的捋。终会找到 问题的所在。

关于struts2的配置本来是不计划着讲的。但毕竟是初次这样写文。并没有思路。通过这篇配置的解说,发现通过项目解说知识点也是种不错的模式。所以在以后的struts2学习中会依照这样的方式解说,期间我会增加easy出错的地方的解说以及个人分析问题和解决这个问题的经验。假设大家有遇到解决不了的问题能够和我联系。一块解决。

四、參考案例项目:http://download.csdn.net/detail/u011638419/8169915

每日一乐:

诸葛亮指挥作战。每次都单独乘坐一辆战车尾随大军。

有一次打仗。刚一开战。亮就驾车带头冲向敌方

军队一下士气大振,紧随其后,大破敌军。

战后

众人都赞:“军师神勇!”

亮道:“嚓,坡太斜,没刹住车……”

终于解释权归爱尚合伙人全部,转载请注明出处。

Struts2之配置使用的更多相关文章

  1. Struts2 基本配置

    Struts2是一个优秀的MVC框架,也是我比较喜欢用的框架.它个各种配置基本都可以集中在一个xml文档中完成.现在让我们看看如何简单几步实现常用功能. 一.搭建Struts2的开发环境 1)首先是利 ...

  2. Struts2 XML配置详解

    struts官网下载地址:http://struts.apache.org/   1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: S ...

  3. struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

    struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

  4. struts2环境配置

    struts2环境配置 struts2框架,大多数框架都在使用.由于工作需要,开始做Java项目.先学个struts2. 一.下载struts2 有好多版本,我下载的是struts-2.2.1.1. ...

  5. 在Struts2中配置Action

    在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package&g ...

  6. Struts2的配置

    Struts2的配置 Struts2可以通过Convention插件管理Action和结果映射,也可以通过使用XML文件进行管理,这两种方式各有好处:使用Convention插件管理减少了XML文件的 ...

  7. Struts2的配置和一个简单的例子

    Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...

  8. 1-1 struts2 基本配置 struts.xml配置文件详解

    详见http://www.cnblogs.com/dooor/p/5323716.html 一. struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomc ...

  9. spring+hibernate+struts2零配置整合

    说句实话,很久都没使用SSH开发项目了,但是出于各种原因,再次记录一下整合方式,纯注解零配置. 一.前期准备工作 gradle配置文件: group 'com.bdqn.lyrk.ssh.study' ...

  10. struts2基本配置详解2

    接上篇struts2基本配置详解,还有一些配置没有讲到,下面将继续. struts.xml <package name="com.amos.web.action" names ...

随机推荐

  1. Java调用jama实现矩阵运算

    Java调用jama实现矩阵运算 一.jama简介 Jama是一个基本的线性代数java包.包括一个基本的Matrix类和5个矩阵分解类. Matrix类提供了基本的线性代数数值运算的功能,不同的构造 ...

  2. Stack switching mechanism in a computer system

    A method and mechanism for performing an unconditional stack switch in a processor. A processor incl ...

  3. action中json的应用

    这篇文章重点介绍action中json数据的返回处理:假设须要看前端代码的一些特效或ajax的json接收,请看上一篇博客:http://blog.csdn.net/yangkai_hudong/ar ...

  4. 《ZigBee Wireless Networking》学习笔记【1】

    <ZigBee Wireless Networking>这本书对ZigBee技术阐释地比較全面,强烈推荐各位同仁阅读. 这本书的电子版请点击以下链接下载: 1,下图是该书中对ZigBee, ...

  5. arukas 的 Endpoint

    arukas 的 Endpoint 什么是端点 What is Endpoint arukas.io 的实例几乎每周都自动重新启动,当实例重新启动时,其端口会更改.IP地址和端口的平均寿命是一周,有时 ...

  6. 14、序列化操作,类的保存和dict转JSON

    在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bill',但 ...

  7. 【博客之星】CSDN2013博客之星--分析和预测

    本文纯属个人见解,多有得罪啊! 具体结果,还是看最后CSDN给的结果吧! 昵称 名字 题材 质量 数量 知名度 预测 阳光岛主 杨刚 Python,Clojure,SAE 很高 346+ 很大 一定( ...

  8. 原生js大总结九

    81.ES6的Symbol的作用是什么?   ES6引入了一种新的原始数据类型Symbol,表示独一无二的值   82.ES6中字符串和数组新增了那些方法   字符串       1.字符串模板    ...

  9. datagridview问题

    在winform中,取datagridview某个单元格的值,然后与另外一个值相减,如果相减等于0,结果却为-7.105427357601E-15 Convert.ToDouble(xun_dataG ...

  10. 【Codeforces Round #432 (Div. 1) B】Arpa and a list of numbers

    [链接]h在这里写链接 [题意] 定义bad list是一个非空的.最大公约数为1的序列.给定一个序列,有两种操作:花费x将一个元素删除.花费y将一个元素加1,问你将这个序列变为good list所需 ...