今天我用Ecipse搭建Struts框架,并且使用Struts框架编写一个最简单的例子,相信读者能够很容易的明白。

Struts是当今Java比较流行的三大框架之一,三大框架是Struts,spring,hibernate。Struts框架也包括Struts1和Struts2,由于两个版本相差比较大,Struts1已经被淘汰,现在企业基本上全部都用Struts2,所以我当然也是用Struts2。

好,下面我详细的说明搭建过程

首先启动Eclipse J2EE版本(官方最近发布的版本),创建一个web项目Struts2

引入我们下载的Struts2的目录下的Jar包,

具体目录如下

将这些Jar包导入到项目的lib目录下

然后打开上层目录的web.xml配置文件

将filter和filter-mapping两个标签对的内容copy到Struts2项目的web.xml

然后,想下图(据图根路径看你Struts的位置)指定路径的struts.xml考到项目的src目录下

如图

打开strut.xml,将<struts>标签对中的全部内容删除或者注释,建议注释

然后从注释的部分copy一下内容到struts中

内容

<constant name="struts.devMode" value="false" /> 
 <package name="default" namespace="/" extends="struts-default">
        <default-action-ref name="index" />
        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>

然后将第一句<constant name="struts.devMode" value="false" /> 
改为<constant name="struts.devMode" value="true" />

这句话主要是说,当我们项目的action的改变时,可以立刻响应改变,不需要重启服务器

结果为

到此Strut2的配置已经完成,可以写例子了

我这里就写一个最简单的例子在网页上 打印 hello Struts2!

首先在项目的webContent目录下创建一个JSP文件index.jsp

并更改代码如下

然后将项目中的struts.xml的代码更改为

这段代码我等下再给大家介绍

ok,启动服务器,打开浏览器,输入网址http://localhost/Struts2/hello

结果为

实验成功!!!

说明:

大家看到了,现在我们访问的地址是http://localhost/Struts2/hello,并不是直接访问http://localhost/Struts2/index.jsp

我把流程画一下

当客户端访问时,服务器通过过滤器filter,然后根据action得到客户端访问的jsp页面,然后将jsp页面反馈给客户端。

无形当中把jsp和客户端分开,这样做有什么好处呢?直接访问jsp不更加简单吗,干么弄得这么复杂?

这根设计模式是一样的,复杂的东西背后带来的好处就是可拓展

大家不妨想想,如果是直接访问jsp,如果我们需要更改jsp中的内容(这是经常需要更改的部分),我个人认为除了暂时停止服务以外,然后更改代码,否则没有什么办法!但是这是很要命的!

但是我们如果引入的action这个中间层,因为客户端并没有和jsp有什么直接联系,所以只要action改变,即可立刻更换jsp,或者action不变,直接更换jsp文件,即可,不需要付出任何代价。

这就是struts的核心思想,与MVC思想非常类似。

好,我的发表到此结束。相信读者能够很轻易的体会这个思想。

struts采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架的更多相关文章

  1. 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

    微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...

  2. JSP技术的优缺点介绍

    什么是JSP?JSP可用一种简单易懂的等式表示为:HTML+Java=JSP. JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑. 网页还能通过 ...

  3. 学生信息管理系统--基于jsp技术和MySQL的简单增删改查

    web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明. 一.什么是jsp技术 首先,我们要了解什么是jsp技术. jsp技术是基于 ...

  4. 基于jsp技术的校园二手交易网站

    [项目介绍]基于jsp的校园二手商品交易网站系统使用jsp技术进行开发,项目主要实现了一整套的校园二手交易逻辑, 主要功能如下(包括但不限于,只列出主要功能): 管理员模块    |-----用户管理 ...

  5. 基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写

    基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写 专业程序代写服务(QQ:928900200) 随着社会的进步.服务行业的服务水平不断发展与提高,宾馆.酒店.旅游等服务行业的信息量和工作 ...

  6. JSP技术基础(动态网页基础)

    前言:如果说html为静态网页基础,那么jsp就是动态网页基础,两者的区别就是jsp在html的前面多加了几行而已.当然,jsp里面对java的支持度更高.要明白,js只是嵌入在客户端的小程序小脚本而 ...

  7. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

  8. 基于Java语言开发jt808、jt809技术文章精华索引

    很多技术开发人员喜欢追逐最新的技术,如Node.js, go等语言,这些语言只是解决了某一个方面,如只是擅长异步高并发等等,却在企业管理后台开发方面提供的支持非常不够,造成项目团队技术选项失败,开发后 ...

  9. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

随机推荐

  1. 【Winform】锐浪报表使用

    在发开报表时,使用了锐浪报表. 需要注意的一些细节: 1.给staticbox设置文本,通过GridppReport的变量,使用ControlByName获取到控件后进行设置文字 _report.Co ...

  2. 数据库降级-从sqlserver 2008 降到 2005

    前天遇到一个问题,是一个数据库是Sqlserver 2008的,而平台数据库库是2005的,需要把2008的数据库附加进来,试了很多办法,现在觉得最好的办法就是导出导入办法. 第一步 新建一个Sqls ...

  3. python(三)一个文件读写操作的小程序

    我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...

  4. mysql中limit的用法实例解析

    mysql中limit的用法解析. 在mysql中,select * from table limit m,n.其中m是指记录开始的index,从0开始,n是指从第m条开始,取n条. 例如: mysq ...

  5. 做了codility网站上一题:CountBoundedSlices

    在写上一随笔之前,在Codility网站上还做了一个道题(非Demo题):CountBoundedSlices,得了60分(害臊呀).今天又重新做了一下这个算法,性能提高了不少,但由于此题不是Demo ...

  6. 深入理解jsavascript的作用域

    一. JavaScript声明提前 在JavaScript中如果不创建变量,直接去使用,则报错: console.log(xxoo); // 报错:Uncaught ReferenceError: x ...

  7. 【css】web标准

    网页主要由三部分组成:结构(Structure).表现(Presentation)和行为(Behavior) 结构重点理解: XHTML 1.应用形式 ccs+div  2000 2.基于xml 和x ...

  8. 微软职位内部推荐-Pricipal Dev Manager for Application Ecosystem & Service

    微软近期Open的职位: Location: China, BeijingDivision: Operations System Group Engineering Group OverviewOSG ...

  9. ajax,json和$.each()

    json返回的时候,只需要展示部分字段,如果是 ajax从后台获取结果处理,可以使用.select() 等处理结合匿名类,生成需要的字段的匿名类json字符串,返回前端,可以使用$.parseJson ...

  10. CSS两列及三列自适应布局方法整理

    布局 自适应 两列 三列 在传统方法的基础上加入了Flex布局并阐述各方法的优缺点,希望对大家有所帮助.先上目录: 两列布局:左侧定宽,右侧自适应 方法一:利用float和负外边距 方法二:利用外边距 ...