sturts的学习和使用

Struts 框架 Action 普通Java类替代Servlet

Intercepter 普通Java类替代 Filter 过滤器

配置模式开发(配置文件)

专门应用于 控制器层 
Struts2开发的标准流程
  
 资源:1、框架所需要的jar文件库
 2、框架的核心配置文件
  
 步骤1:创建一个 Web Project ,(特别注意,Web Module Version一定选择 2.5版本,禁用默认的3.0)
  
 步骤2:导入框架的jar包文件库。(导入到项目中的/WEB-INF/lib文件夹下)
  
 步骤3:在src目录下创建一个“资源文件夹”,将框架的核心配置文件模板放入到该文件夹下
  
 步骤4:修改项目web.xml文件,添加Struts2框架的请求过滤器,让网络项目的所有请求同意使用Struts2框架进行过滤处理
  
  
 Action 动作类标准开发流程
  
 步骤1:创建一个程序包package
 企业标准:四个部分组成
 公司/组织的性质 名称 项目名称 包名称
 com org edu chinasofti 工程同名 包名称.子包的名称
  
 包名称必须小写,中间使用英文的.分隔
  
  
  
 步骤2:创建Action动作处理类(Java类,该类必须继承 ActionSupport父类)
 类的命名规范:骆驼命名法(驼峰命名发)
  
 步骤3:在struts.xml核心配置文件中注册配置Action动作类 


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>

sturts.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>
	<constant name="struts.devMode" value="false"/>
	<constant name="struts.encoding.i18n" value="UTF-8" />
	<constant name="struts.DynamicMethodInvocation" value="false" />
	<package name="default" extends="struts-default" namespace="/">
		
		<action name="sayHelloAction" class="com.kang.action.HelloHandler"/>
		<action name="register" class="com.kang.action.RegisterAction"/>
		<action name="login" class="com.kang.action.LoginAction">
		  <result name="success"  >jsp/success.jsp</result>
          <result name="error">/jsp/login.jsp</result>
                  
		</action>
	</package>
</struts>

Action

public class LoginAction extends ActionSupport {
	private String username;
	private String password;
	
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public String execute() throws Exception {
		
		
		ActionContext actionContext = ActionContext.getContext();
        Map session = actionContext.getSession();
      
		Object nmerr=session.get("error");
		if(nmerr!=null){
			int me=(int) nmerr;
			if(me==3){
				
				System.out.println("账号已锁定");
				return NONE;
			}
		}
		System.out.println(username);
		System.out.println(password);
		
		
		if("admin".equals(username)&&"123".equals(password)){
			return SUCCESS;
		}else{
			Object err=session.get("error");
			if(err==null){
				session.put("error", 1);
			}else{
				int e=(int) err;
				++e;
				session.put("error",e );
			}
			return ERROR;
		}
		
	}

	
}

<action name="login" class="com.kang.action.LoginAction">
 <result name="success"  >jsp/success.jsp</result>
                 <result name="error">/jsp/login.jsp</result>
                  
</action>

name为访问路径  :login.action

<form name="hello" action="login" method="post">
请输入你的账号:<input type="text"  name="username"><br/>
请输入你的密码:<input type="password"  name="password"><br/>
<input type="submit" value="提交">
</form>


class为action类的地址

result 为返回结果所跳转的界面      name指action方法中返回的值

lib如下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值