struts2的基本配置实现

struts适用于MVC开发模式。

首先要先下载必要的jar包支持导入工程。在struts2的包中某些包需要插件导入包没插件的包会出现错误。

基本功能包:

ognl-2.611.jar,

commons-logging-1.04.jar,

freemarker-2.3.8.jar,

xwork-2.0.5.jar, 

struts-core-2.0.11.2.jar 五个包就可以。

struts主要开发MVC中的controller控制层

创建action类LoginAction

下面是配置用法:框架可以将V层提交的数据自动封装进入Action 两种接受参数的方式

这两种方式在API中都有封装好的拦截器

(1)域驱动方式

1.在创建的类中定义与表单提交域中名字相同的变量

2.提供getter和setter方法

private  String name;
private String password;
public String getName()
{
   return name;
}
public String setName(String name)
{
  this.name=name;
}
public String getPassword()
{
  return password;
}
public String setPassword(String password)
{
  this.password=password;
}

(2)模块驱动

可以通过模型对象的方式封装请求参数

首先要继承接口覆盖getModel方法

 ModelDriven<Admin>
Admin为模型对象(实例化一个封装类)

private Admin admin=new Admin();

public class LoginAction implements ModelDriven<Admin>{
   
	private Admin admin=new Admin();
    AdminBiz  adminbiz=new AdminBizImpl();
	@Override
	public Admin getModel() {
		// TODO Auto-generated method stub
		return admin;
	}

选择第二种注意 提交的信息参数必须和封装的变量一一对应 并且提供getter和setter方法。

选择上面一种方式还要必须在action类中有一个public String execute()方法,该方法在访问action时被框架自动调用实现控制逻辑。

接下来就要配置了,新建一个struts.xml文件在src目录下才能使用

默认情况下都要继承struts-default.xml中的struts-default包,其中定义了许多必要的的对象。

<?xml version="1.0" encoding="UTF-8"?>
<struts>
 <package name="com.icer.action" extends="struts-default">
    <action name="Login" class="com.icer.action.LoginAction">
     <result name="success">/index.jsp</result>
     <result name="fail">/index.jsp</result>
    </action>
 </package> 
</struts>
在index.jsp中的提交action=“Login”是struts配置中的name

当有多个sturts.xml文件时可以让最开始的父类继承struts-default其他只要继承这个父类xml就可以。如下

<struts>
	<constant name="struts.ui.theme" value="simple"></constant>
	<constant name="struts.action.excludePattern" value="/dwr.*,/dwr/.*,/dwr/test/.*" />
	<package name="default" namespace="/" extends="struts-default">
		<action name="valcode" class="org.icer.easygo.action.common.ValcodeAction">
			<result type="stream">
				<param name="contentType">image/jpeg</param>
				<param name="inputName">input</param>
			</result>
		</action>
	</package>
	<include file="struts-user.xml"></include>
	<include file="struts-category.xml"></include>
	<include file="struts-product.xml"></include>
	<include file="struts-cart.xml"></include>
</struts>
struts-user.xml
<struts>

	<package name="user" namespace="/user" extends="default">
		<action name="user*" class="useraction" method="{1}">
			<result>${nextpage }</result>
			<result name="success_red" type="redirect">${nextpage }</result>
		</action>
	</package>

</struts>



最后要在项目的web.xml中定义struts的过滤器

<!-- 配置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>
   </filter-mapping>







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值