Struts2 学习笔记 1

~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>

完。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值