sturts的学习和使用

来源:互联网 发布:全民枪战刷龙软件 编辑:程序博客网 时间:2024/06/13 22:29

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;}@Overridepublic 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如下



0 0
原创粉丝点击