从搭建Struts2 开发环境说起

无名小卒o2

无名小卒o2

2016-02-19 10:34

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的从搭建Struts2 开发环境说起懂设计的网友们快点来了解吧!

Struts2

Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点:

1  在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,Struts2的应用可以不依赖于Servlet API和struts API。 Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。

public class OrderListAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

throws Exception {

}

}

2 Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。

3 Strut2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。

4 Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等

5 Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。

6 提供了全局范围、包范围和Action范围的国际化资源文件管理实现

搭建Struts2开发环境

1.找到开发Struts2应用需要使用到的jar文件

开发Struts2最少需要的jar文件

struts-core-2.x.x.jar:Struts2框架核心类库

xwork-2.x.x.jar:XWork类库,Struts2在其上构建

ognl-2.6.jar:对图像导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象的属性

freemarker-2.3.x.jar:Struts2的UI标签模板使用freeMarker编写

commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录

commons-filteupload-1.2.1.jar文件上传组件,2.1.6版本后必须加入文件

2.编写Struts2的配置文件

Struts2默认的配置文件为struts.xml,该文件需要存放在WEB-INF/classes下,该文件的配置模板如下:

?xml version="1.0" encoding="utf-8"?

!DOCTYPE struts PUBLIC ".//Apatche Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apatche.org/dtds/struts-2.0.dtd"

struts

/struts

3.在Web.xml中加入Struts2 MVC框架启动配置

在struts1.x中,struts框架是通过Servlet启动的。在struts2中,struts框架是通过Filter启动的。他在web.xml中的配置如下:

filter

filter-namestruts2/filter-name

filter-classorg.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class

!-- 自从Struts 2.1.3以后,下面的FilterDispatcher已经标注为过时

    filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class -- 

/filter

filter=mapping

filter-namestruts2/filter-name

url-pattern/*url-pattern

/filter-mapping

在StrutsPerpareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。

Struts.xml配置中包的介绍

package name="itcast" namespace="/test" extends="struts-defult"

action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute"

result name="success"/WEB-INF/page/hello.jsp/result

/action

/package

找它需要开发的jar文件  需要解压:struts-2.3.8-all.gz

或者struts-2.3.8-apps.gz找到struts-2.3.8-allstruts-2.3.8apps 下面的文件如下:

 
提供了一个空白的项目struts2-blank 我们就可以在这个项目上进行开发struts2.

如果开发的过程中需要其他的jar的文件的支持 怎么办?

  需要到struts-2.3.8-allstruts-2.3.8lib 中找相应的jar文件。

struts2-blank.war项目 怎么解压  --  复制到tomcat中的webapps中 启动tomcat即可

在apache-tomcatbin 找到  startup.bat点击启动

观察:

可以打开浏览器IE

   输入  http://localhost:8080/struts2-blank

找到解压后的jar文件 :apache-tomcatwebappsstruts2-blankWEB-INFlib

Bug记录:

1、java.net.BindException: Address already in use: JVM_Bind

     分析:  你使用的tomcat被第二次 或者是n次 启动    以前没有关闭 导致的一个bug

解决方法:

   关闭 已经启动的tomcat即可。

HTTP Status 404 - /demo/servlet/demo.do

      分析:找不到你请求的 url既是:servlet/demo.do

       解决方法:

             看你的url是否存在?  如果不存在 根据业务添加。       

3、

There is no Action mappend for action name demo.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

 分析:在服务器端找不到对应的demo的action

Demo.action

 /csdn/demo.action

只提示 :demo没有找到

/csdn下面没有找到 demo action 

Bug 

No result defined for action com.opensymphony.xwork2.ActionSupport and result success

展开更多 50%)
分享

猜你喜欢

从搭建Struts2 开发环境说起

编程语言 网络编程
从搭建Struts2 开发环境说起

Struts2开发 基本配置与类型转换

编程语言 网络编程
Struts2开发 基本配置与类型转换

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

struts2 session 解读

Web开发
struts2 session 解读

如何搭建J2EE开发环境

编程语言 网络编程
如何搭建J2EE开发环境

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Eclipse搭建Ruby开发环境

服务器
Eclipse搭建Ruby开发环境

struts2 spring整合fieldError问题

Web开发
struts2 spring整合fieldError问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

[JS]实现动态增加框架!未完成

[JS]实现动态增加框架!未完成

QQ邮箱表白解析

QQ邮箱表白解析
下拉加载更多内容 ↓