struts征程:1.初识struts2

1.struts2在开发中所必须用到的jar包导入到项目的lib目录下



2.在web.xml中配置一个过滤器,代码格式如下

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


当然,大家应该知道struts2的核心技术是基于拦截器实现的

3.写一个简单的Action

CustomerAction.java

package com.sdu.crm.action;

import org.directwebremoting.util.SystemOutLoggingOutput;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sdu.crm.dao.impl.CustomerDaoImpl;
import com.sdu.crm.pojo.Customer;
import com.sun.net.httpserver.Authenticator.Success;

public class CustomerAction extends ActionSupport  {

	private static final long serialVersionUID = 1L;

	private Customer customer;

	public Customer getCustomer() {
		return customer;
	}
	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	/**
	 * 
	 * @author fighter24h
	 * 自定义的action方法
	 * 其形式同execute方法
	 * 返回String,抛出Exception
	 * 方法名字对应struts配置文件中的method属性
	 */
	public String addCustomerInfo() throws Exception {
		return "addCustomerInfoOk";
	}

}


4.配置acton对应的strtus的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>
	<!-- package name:用来实现继承的  namespace:用来解决重名的,访问的时候充当路径-->
	<package name="action-customer-lzm" extends="struts-default"
		namespace="/customer">
		<!--
			name:action的名字,访问的使用需要用到 class:具体的action是哪个类,写全路径
			method:我们自己定义的方法,而不是执行execute方法
		-->
		<action name="addCustomerInfo" class="com.sdu.crm.action.CustomerAction"
			method="addCustomerInfo">
			<!--name:来自method的返回值,可以自定义!  -->
			<result name="addCustomerInfoOk">/index.jsp</result>
		</action>
	</package>
</struts>



原文地址:https://www.cnblogs.com/jiangu66/p/3159756.html