【struts2】(一)入门伊始

   之前网上商城的时候我用的是SSH框架。在那里,我们第一次接触到了struts2,下面就让我们来系统学习一下。

   对于框架的概念一直没能理解的很透彻。框架就是一个模板,框架的作用是为了替程序员完成一部分代码,从而提高我们的开发效率。structs2是又structs1和webwork整合而来,是apache旗下一个免费,开源的框架。

下面我们说一下struts2项目的搭建步骤。


1.首先要新建一个web项目。


2.导入jar包:把所需的jar包导入到webRoot下的lib文件下。


3.在web.xml里面配置上struts2的核心过滤器

<!-- 配置Struts2的核心过滤器 -->
	<filter>
	  <filter-name>struts2</filter-name>
	  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	
	<filter-mapping>
	  <filter-name>struts2</filter-name>
	  <url-pattern>/*</url-pattern>  *.action
	</filter-mapping>


4.在src下添加struts2的配置文件——struts.xml(文件名不能改,这是规则!!)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
  	
</struts>

至此struts2环境搭建完成。

下面我们来实习一个struts2的第一个小例子。

5.在src下创建一个Action类,比如HelloAction类吧。

package cn.tgb.action;
public class HelloAction {

	public String execute(){
		System.out.println("hello struts2");
		return "success";
	}
}
这里需要注意的是struts2默认执行的是execute方法,他是public并且返回String的。在servlet中,默认执行的service方法,并且有参数HttpServletRequest和HttpServletResponse,并且无返回值。

6.在配置文件中配置Action类——struts.xml。

<!-- extends必须写,直接或者间接继承struts-default ,name自定义-->
    <package name="hello" extends="struts-default" >
    	<!-- name是请求名称,不要写/;class对呀action完全限定名=包名+类名 -->
    		<action name="hello" class="cn.tgb.action.HelloAction">
    		<!-- result是结果集 name和对应action中的方法的返回值匹配,默认是success -->
    			<result name="success">/index.jsp</result>
    		</action>
   </package>

这样struts2的一个小例子就编写完成了。

   由于有网上商城的基础,所以对struts2中的一些配置理解的比较快。现在对于struts2的理解就是封装了servlet的一些方法,使我们在使用属性时不用再去一一去取。struts2只要属性名称对应,就可以传递相应的值。当然,这只是现阶段的理解,欢迎大家斧正。

对于struts2的执行流程,个人理解是这样的:当用户提交一个请求,服务器(可以是Tomcat或者Jboss之类)接受,并且交个struts2的核心过滤器来进行处理,struts2的过滤器调用struts2的一系列处理器来进行处理,(如解析struts.xml配置文件,和用户提交的请求对比,如果找不到返回404,如果找到进行下一步处理。)直到调用对应的Action类中的execute方法,执行完后再进行一系列处理到核心过滤器。由核心过滤器返回给服务器,服务器对浏览器进行相应的响应。



不当之处,欢迎大家指导!


评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值