在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?

设计目标

Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。

技术优势

Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计。

二是提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈。

因为struts2有这样目标,并且有这样的优势,所以,这是我们学习struts2的理由,下面,我们在深入剖析一下struts的工作原理。

工作原理

Suruts2的工作原理可以用下面这张图来描述,下面我们分步骤介绍一下每一步的核心内容

  

  看到上面的解释,如果有困惑,先不用着急,我们先做一个实例,通过实例来理解上面的解释,我想这是对于初学者最佳的学习路线,好了,下面我就带领大家一到进入Struts2的世界。

  所谓工欲善其事必先利其器,我们需要先把Struts2的配置jar文件下载好,以便接下来的开发使用,进入Struts官网,下载你需要的Struts版本,这里我们用到的是struts-2.3.16.1,下载好Struts版本,解压,关于jar包的管理,个人建议,大家将我们经常使用的jar文件,统一分类保存在一个位置,这样方便我们后续进行jar的引用,我们知道eclipse为我提供的有一个User libraries,我们可以添加自己的libraries来管理我们的jar文件。

  下载好我们的Struts,下面我们需要下载一个Tomcat服务器,用来部署我们的Struts项目,这里需要说明的时,安装Tomcat之前必须安装JAVA jdk,否则将会出现安装不成功提示,还有一点需要说明的是,Tomcat这里建议大家安装解压版本,方便我们的接下来myEclipse的集成,做好这些准备工作,下面我们就可以开始我们第一个Struts2项目开发了。

  打开我们的myEclipse,将我们刚刚安装好的Tomcat服务器集成上,点击myEclipse上方的Window--》preferences:

  

  配置好Tomcat,下面创建一个Helloword工程,将我们的jar文件导入,这里教大家一个小技巧,这样以后我们再导入jar文件时就会方便很多,具体操作如下:

  

  

  

  导入jar文件后,我们需要配置一些我们的Struts2环境,打开我们的工程WebRoot下的WEB-INF,找到web.xml,添加Struts2的基本配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter>
<filter-name>struts2</filter-name>
<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> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

  配置好我们的web.xml,下面添加我们的Struts.xml文件,这个文件如何编写呢?答案很简单,打开我们的Struts解压文件,找到apps下的struts2-blank,解压该文件,解压后找到struts2-blank\WEB-INF\classes下的struts.xml,将这个文件拷贝到我们的工程src目录下,到这里关于Struts开发环境的配置基本完成,下面我们就一起编写一个简单的Helloword,开启我们的Struts2学习之旅。

  我们的Action文件:

public class Helloword {
public String helloword(){
return "success";
}
}

  我们的Struts配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" />-->
<!-- 设是否为调试模式 -->
<!-- <constant name="struts.devMode" value="true" />--> <!-- <package name="default" namespace="/" extends="struts-default">--> <!-- 默认访问文件 -->
<!-- <default-action-ref name="index" />--> <!-- 出错处理文件 -->
<!-- <global-results>-->
<!-- <result name="error">/error.jsp</result>-->
<!-- </global-results>--> <!-- 错误类型 -->
<!-- <global-exception-mappings>-->
<!-- <exception-mapping exception="java.lang.Exception" result="error"/>-->
<!-- </global-exception-mappings>--> <!-- 访问控制 -->
<!-- <action name="index">-->
<!-- <result type="redirectAction">-->
<!-- <param name="actionName">HelloWorld</param>-->
<!-- <param name="namespace">/example</param>-->
<!-- </result>-->
<!-- </action>-->
<!-- </package>--> <!-- <include file="example.xml"/>--> <package name="default" namespace="/" extends="struts-default">
<action name="helloword" class="com.edu.action.Helloword" method="helloword">
<result name="success">/index.jsp</result>
</action>
</package> </struts>

  最终的目录结构:

  

  到这里我们的入坑篇就为大家介绍完毕,后续内容持续更新中。。。

Struts2之环境配置的更多相关文章

  1. [Struts2学习笔记] -- 环境配置

    在创建好WebProject后,就可以开始进行Struts2的环境配置,可以到Struts2官网下载,本环境使用struts-2.3.24.1版本. 首先导入必要的jar包到WebProject的/W ...

  2. struts2环境配置

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

  3. Struts2 环境配置

    1.下载struts2开发包 2.将apps中的 Struts-blank.war 解压,里面的 lib 中就是所需jar包 3.新建一个web project项目,将jar包导入复制粘贴到lib中 ...

  4. 1.Struts2简介和Struts2开发环境搭建

    一.Struts2简介: 1.什么是Struts2? 著名的SSH三大框架分别为:表现层(Struts).业务逻辑层(Spring),持久化层(Hibernate). Struts2是在WebWork ...

  5. Struts2开发环境搭建,及一个简单登录功能实例

    首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1. ...

  6. 在eclipse中进行Struts2项目的配置

    Struts2是一个比较出色的基于MVC设计模式的框架,是由Struts1和WebWork发展而来的,性能也比较稳定,现在是Apache软件基金会的一个项目,下面就来配置Struts2进行初始化的开发 ...

  7. Hibernate笔记——Hibernate介绍和初次环境配置

    Hibernate简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate ...

  8. struts2 CRUD 入门 配置

    本文介绍struts2在eclipse下的配置,实现一个具有CRUD功能的图书管理系统. 1         开发环境配置 1.1           在Eclipse中配置Struts2 1.1.1 ...

  9. MyEclipse中搭建Struts2开发环境

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53205941 冷血之心的博客) 在MyEclipse中如何搭建St ...

随机推荐

  1. AutoLayout没有相对比例布局

    怎么实现相对比例布局 比如我一个控件相对上边距的位置在整个屏幕的比例 可以用stack view来管理相对布局

  2. 职业定位(移动端、ios开发、Android开发)

    移动端 移动端webapp开发必备知识:http://www.chinaz.com/manage/2012/1128/283974.shtml 设计一款好的移动App,有哪些基本规则?http://w ...

  3. error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier

    xcode + iwatch调试错误 在工程的  Targets 下面的 三项(工程名为my):my . my Watchkit app .my Watchkit extention General ...

  4. Carthage - 一个简单、去集中化的Cocoa依赖管理器

    作为一名新时代的90后猿 在swift大势所趋的时候  怎能不会Carthage 配置它其实很简单  下面我们一步一步来 (1)打开你的终端 输入 brew update brew install c ...

  5. Docker,容器,虚拟机和红烧肉

    Docker火了,有多火你自己看看下面的统计数据就知道了 在发布4个月的时间里,下载量就超过50000次,github上收到超过4000个star,涌现了超过100个贡献者,并且有超过150个项目和超 ...

  6. RocketMQ源码 — 三、 Consumer 接收消息过程

    Consumer pull message 订阅 在Consumer启动之前先将自己放到一个本地的集合中,再以后获取消费者的时候会用到,同时会将自己订阅的信息告诉broker 接收消息 consume ...

  7. (二)Windows下Redis的主从复制

    Redis拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构.目前在同一台window下安装三个r ...

  8. 【鸡年大吉】,不知道写点啥,放个demo(小球碰撞)吧,有兴趣的看看

    最初的想法是仿写win7的泡泡屏保效果,但是对于小球的斜碰问题一直没搞明白(如果你会这个,欢迎留言或者做个demo),所以只是简单处理了碰撞后的速度,有时候会看起来很搞笑~~~funny guy 话不 ...

  9. 如何在sublime中安装使用eslint

    1:首先你需要全局安装eslint npm install -g eslint 安装完成后在控制台 输入 eslint -v 有版本号说明就可以在npm中使用了,可以检查语法的错误处,但还不能在sub ...

  10. IOS控件布局之Masonry布局框架

    前言: 回想起2013年做iOS开发的时候,那时候并没有采用手写布局代码的方式,而是采用xib文件来编写,如果使用纯代码方式是基于window的size(320,480)计算出一个相对位置进行布局,那 ...