Struts2 学习笔记 1

来源:互联网 发布:与连接网络相关的单词 编辑:程序博客网 时间:2024/05/27 12:21
~Struts2~

一、首先大致了解下

2007年Apache项目基金下得opensymphony项目组在世界上另外一个
开源框架openwork的基础上发布了一直到现在都非常流行的开源框架
struts2,struts2彻底解耦了servlet,不再使用servlet内核
而是开始使用更为先进的模块化可插拔设计 拦截器

struts2的改进:

    M:model        支持数据库操作,支持ejb等技术,对spring
    提供了完全支持,对用户操作数据库技术提供了非常大的帮助
    
    V:提供插件式的方式,兼容市面上几乎所有的标签等,
    即使存在新的技术,可以通过插件的形式集成在框架中,
    不再像struts1一样只支持jsp动态技术,struts2自带的
    ognl内核的struts2标签功能极为强大
    
    C:不再需要继承任何类来完成业务逻辑,不再需要
    专门设置一个类来封装表单项,内核不再是servlet基本与
    servlet解耦,使用拦截器技术多实例多线程没有线程安全问题。
    
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
commons-logging-1.0.4.jar        日志包
freemarker-2.3.8.jar                前端插件集合
ognl-2.6.11.jar                    ognl内核
                                用来支援struts2标签
struts2-core-2.0.14.jar            struts2内核包
xwork-2.0.7.jar                    openwork内核



二、接下来新建一个struts2的web项目,在项目中讲解

1,首先新建web项目,借用eclipse或idea等软件很简单~~不多说

2,修改web.xml为

<filter>  <filter-name>struts2</filter-name>  <!--   1:中央控制器  整个框架中最高级别的类,  它就类似一个软件公司的老总    struts2流程    A:打开tomcat时  当打开tomcat时struts2的中央控制器因为是  一个过滤器,则立刻加载,加载时读取  default.properties配置文件  此文件部署了整个框架中所有的重要参数,  在解析此文件之后无误时,接续解析如下三个文件  struts-default.xml,  此文件部署了整个框架中所有核心类,跳转结果集  以及struts2核心的拦截器  struts-plugin.xml,  此文件在使用第三方jar包时使用,一般不使用此文件  struts.xml  此文件由我们自己书写,这个文件部署了整个框架中  我们完成自己业务逻辑的Action实例,以及跳转  和拦截器调用等信息,类似struts1中的  struts-config.xml  此四个文件解析无误后,中央控制器开始等待  请求的提交    B:请求发送时    当请求发送,任意请求都可以被拦截,但是注意  被拦截之后,中央控制器会查询一个叫做ActionMapper的  类来查看是否能进行处理,默认情况下只能处理.action  后缀的请求,如果可以处理,则将请求转发给Action的代理类  ActionProxy,ActionProxy解析struts.xml文件如果存在  可以处理这个请求的Action则为这个Action创建一个专属的  工具类ActionInvocation,这个类专门为Action调用  拦截器以及跳转视图层  Action执行结束根据结果集跳转到视图层或者另外的Action  Struts1:ActionServlet~~~》RequestProcessor  ~~~》ActionForm~~~》Action    Struts2:FilterDispatcher~~~》ActionMapper  ~~~》ActionProxy~~~》ActionInvocation~~~》  Action    -->  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</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>

3,新建类,MyAction.java,放在com.eatok.action包下

package com.etoak.action;public class MyAction {public String execute(){System.out.println("这里是业务逻辑!!!");return "suc";}}

4,在类路径下新建struts.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><!-- name:包名,可以随便写extends:继承struts-default包也就是说我们这个文件是struts-default.xml文件的子文件--><package name="suibianxie" extends="struts-default"><!-- name:对应发送过来的请求class:我们处理业务逻辑的类的地址--><action name="helloworld" class="com.etoak.action.MyAction"><!-- name:对应业务逻辑类的返回的字符串type:结果集跳转方式默认就是dispatcher可以不写--><result name="suc" type="dispatcher">/suc.jsp</result></action></package></struts>

5,修改生成的index.jsp页面,没有的话自己新建在web-inf同级的目录下面

<body>  <%--  servlet:servlet/类名  struts1:***.do  struts2:***.action  --%><a href="helloworld.action">你好世界</a>  </body>

6,在web-inf同级目录下新建suc.jsp

<body>    helloworld~~</body>

完。。。

0 0
原创粉丝点击