SSH学习第一课

       JAVA web开发的三大框架SSH。分别是struts2、hibernate和spring。

       其实,掌握JAVA语言,是内功,是一切的基础,而三大框架只是提供了一种框架模式,来让我们减少代码量,更便捷的进行开发。如果用了过多时间去研究框架,反而是舍本逐末了。

       话虽然这么说,但框架还是要学的,三大框架中,我们从struts中学起。

       与其说是struts,不如说是struts2。因为现在struts已经用的很少了,基本上都是使用struts2。

       struts2可不是struts的加强版,它本质上是另一个更优秀框架WebWork的加强版。struts2借助了struts的名气和WebWork的名气,成为了新一代的被广泛使用的框架。

       那struts2用来干啥的呢?是用来实现MVC模式的。MVC这个概念的提出,就是为了让显示、控制和实现相分离。struts2就是MVC模式的一个实现。

       要了解struts2的运作原理,首先要了解一些struts2的常识。这就作为第一课的内容吧!

       web.xml:这个文件是web项目的配置文件。当客户端输入地址,访问某个项目时,web容器会读取这个配置文件。这个是web开发的常识。那它跟我们的struts2有什么关系呢?很简单,还记得我们需要曾经在web.xm中配置过滤器么?其实啊,在这个文件里,我们也需要配置一个过滤器。让所有访问这个项目的请求,都必须经过这个文件来过滤。

       这个文件就叫做StrutsPrepareAndExecuteFilter。这你就知道了,当你的项目中,配置好了struts2。那么,你只需要在web.xml中写上这个过滤器,那你的项目就自然成为了一个struts2的项目了。

       struts.xml:完成上面一步之后,所有的请求就都会经过struts2的控制了。可是struts2怎么来控制分发请求呢,这里,你就需要找到位于web-inf/classes下的struts.xm文件了,顾名思义,它是struts2的一个配置文件。那这个配置文件里包含有哪些内容呢?

       首先是头信息,这个咱们可以忽略掉。那剩下就是主体了。我们可以看到首先是进行了分包。用package标签,将一系列的action标签包含起来。这是怎么回事呢?请看下面分解!

       package:如同我们在java中所学到的那样,package是用来分包的。一个package中,包含有很多的action。它将一类的action都放到一个包里面,以防我们使用起来混淆。package包含有三个属性。分别是:

       name:指明包的名字。

       extends:指明它的继承关系,它可以去继承别的包的公共action。

       namespace:这个是客户端在url请求中,需要在action前输入的。没错,如果看到这里你就知道了,客户端将不再访问直接的文件,而是通过服务器地址+上下文地址+package的namespace+action的name作为URL来进行请求。

       action:action实际上就是MVC模式中的C。它来对用户的请求进行分发。当一个用户URL指向这个action的时候,它会根据自己的参数来实现C的功能。有哪些参数呢?

       name:这个是写在URL中的。没有这个name,谁知道你这个action是谁呀。

       class:嗯,这就是struts2中最精髓的部分了。它代表着struts2是将请求分发到何处。在这个标签内,你需要写你的class的路径。(即从classes往下的路径)。当一个用户的请求来了之后,就会根据这个action指定的class,而去往这个MVC中的M(模型)。

       method:如果你读懂了上面所述的一切,那你就该想想,到了这个class中之后,发现有若干个方法怎么办。肯定需要一个method来指定执行哪个方法吧。当然,这个属性可有可无,如果没有这个属性的话,struts2会默认执行其中的execute方法。

       result:这个标签其实是action中的一个子标签,它还拥有一个常用的属性叫做name。这就是struts2的另外一个精髓了。按照struts2的规定,用户请求经过action分发后执行的方法,必须要返回一个string值。这个string就和result的name属性是对应的。在result标签中,我们写入一个JSP或者HTML的文件地址。作为最后向用户展现的界面。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值