struts2简单入门

1.struts2的简介和作用

       struts2是基于MVC框架的web框架,用在三层架构中的web层。

1.1  优点:

      strut2是基于filter实现的,在高并发访问时,可以避免线程不安全问题(servlet的线程不安全问题没有解决方法,只能通过避免定义类变量来防止)。可以自动封装参数,参数检查,页面结果的处理(转发或重定向),国际化处理,表单的防止重复提交

1.2  struts2与servlet的区别:

     1>.strust2 是基于mvc模式对servlet的一种封装,servlet是java基于j2ee的是一种实现技术

     2>.Servlet是单实例多线程的,而Action是多实例多线程的。因为多实例,所以每个请求会产生不同的Action和ActionContext对象,因此线程是安全的。同时因为Action是多实例的,所以Action中可以有成员变量,因为多实例不会公用。而Servlet是单实例多线程,所以一般情况下不会定义成员变量,因为共用同一个成员变量可能出现线程安全的问题。

2. struts2的简单搭建

  2.1导包

2.2 编写action类

/**
*struts2的创建方式:
*	1.编写一个普通类
*	2.类继承ActionSupport(推荐使用,此类实现了Action接口,并提供了许多的默认方法)
*	3.实现Action接口
 */
public class Demo1 extends ActionSupport {
	public String test1() {
		System.out.println("hello world!!!");
		return "success";
	}
	/**
	 * 方法的返回值:
	 * 	success  代表成功
	 * 	none     代表页面不跳转
	 *  error    代表跳转到错误页面
	 *  input    数据校验时跳转到路径
	 *  login    跳转到登录页面
	 */
}

2.3 在src目录下编写struts.xml文件(struts2的主配置文件) 。

<?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>
		<package name="demo" namespace="/demo" extends = "struts-default">
			<action name="demoAction" class="com.dsx.day1.test.Demo1" method="test1">
				<result name="success">/day1/hello.jsp</result>
			</action>
		</package>
	</struts>

2.4 在web.xml中 配置struts2的核心过滤器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>strutsDemo</display-name>
  <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>
  </filter-mapping> 
</web-app>



<!--  
根据struts2的版本进行配置,否则会出现bug,在我的另一篇博客中有介绍
      <filter>
         <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>
      <filter-mapping>
         <filter-name>struts2</filter-name>
         <url-pattern>/*</url-pattern>
      </filter-mapping> -->

2.5测试结果,访问http://localhost:8080/strutsDemo/demo/demoAction,控制台打印hello world!!!并页面跳转到hello.jsp.说明测试代码编写成功。。

简单入门的回顾,继续struts2的进阶。。。

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值