struts2续

来源:互联网 发布:内控风险控制矩阵 编辑:程序博客网 时间:2024/05/29 01:55

同样,请参照《Struts 2完全学习手册》


struts2中action吃掉了数据javaBean的定义,调用业务javaBean,应该是作为新的Model存在;而action联合注解或action.xml的result作为Controller,控制页面跳转.


struts2中action被称作业务控制器。


分清楚一个概念:服务器响应是显示在html中的。浏览器显示的也是html(可以用firefox打开*.jsp试试就明白了)。客户端通过html的填写url、form提交、点击href等操作向servlet(如JSP的<%%>、servlet、action)发送请求,然后在本页面接收响应(ajax,forward,都是在本页面url中显示),或响应结果是跳转到新的页面(如重定向,url改变)。


利用struts2框架,动手写个小东西


--------------

使用时,复制到Web应用的WEB-INF/lib目录下(会自动显示在reference libraries)。

       

        还记得struts1吗,它是配置在<servlet>中的,因为struts的核心控制器是ActionServlet,参数是struts-config.xml,映射是任何.do为后缀的文件。客户端的action请求都会先发到ActionServlet这里。当然,jsp请求还是发给对应的jsp_servlet(这个是tomcat的conf/web.xml配置的)。可以这么说,客户端的action请求和jsp请求,都是发给servlet(请求资源文件,如js,css呢?)。

        其实,tomcat在收到客户端的请求时,是先经过一系列filter后,才发给servlet的;响应也是经过filter,才发给客户端的。struts2就很聪明的将核心控制器作为filter处理了,(filter是加强版servlet)。


Action的name属性是不是这个Action的实例名呢?

ANS:不是!这样想,每一个请求都会得到一个action实例,这个实例是action的代理,action的name与其代理无关,name只是用来定位aciton+method的。




总结

struts的核心功能不多,框架而已。