struts2笔记之第一讲

[align=center][size=large]Struts2笔记之第一讲[/size][/align]

前言:学技术以来,已经三年了,感觉struts2好多知识点变成了模棱两可,为了净化自己的内心,使自己在知识领域有所建树,我要学会专研,下面就从struts2基础开始学起,也希望读者朋友们和我共进步。

一、struts2环境搭建:
需要注意sturs2需要运行在jre1.5及以上版本

二、第一个例子--登陆
1、创建java web项目
2、引入sturts2的依赖包,将依赖包拷贝到WEB-INFO/lib下
*commons-logging-1.0.4.jar
*freemarker-2.3.15.jar
*ognl-2.7.3.jar
*struts2-core-2.1.6.1.jar
*xwork(拦截器机制)-core-2.1.6.jar
*commons-fileupload-1.2.1.jar

3、在web.xml配置文件中,配置StrutsPrepareAndExecuyteFilter或FileterDispatcher(完成页面流转的配置)

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuyteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>

4、提供struts2配置文件struts.xml,放到src下

<?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>
<!-- 需要继承struts-defaluts包,这样就拥有基本的功能 -->
<package name="struts2" extends="struts-default">
<action name="login" class="com.struts2.LoginAction">
<result name="success">/login_success.jsp</result>
<result name="error">/login_error.jsp</result>
</action>
</package>
</struts>


5、LoginAction.java文件
package com.struts2;

public class LoginAction {
private String username;
private String password;

/**
* struts2 默认调用这个方法,返回字符串
* @return
* @throws Exception
*/
public String execute() throws Exception{

if("admin".equals(username) && "admin".equals(password)){
return "success";
}else{
return "error";
}

}

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


}

6、建立jsp(login.jsp login_success.jsp、login_error.jsp)
login.jsp核心代码(把代码拷贝到body下面即可)


<form action="login.action">
用户:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="登陆">
</form>


login_success.jsp核心代码 (把代码拷贝到body下面即可)
${username},登陆成功

login_error.jsp核心代码 把代码拷贝到body下面即可)
登陆失败

三、struts2小特性
7、创建struts2的Action,struts2的 action可以不用继承struts2框架中的任何类,也不用实现struts2框架中的任何接口,所以struts2的Action可以是一个POJO(纯粹的java对象)
所以Struts2的Action测试更容易。

struts2缺省方法名称:public String execute() throws Exception;
8、在Action中提供getter和setter 方法,便于收集数据(这样收集数据的模式一般可以称为属性驱动模式)

9、struts2流程描述:一个请求过来要到达filter(名称:strutsPrepareAndExecuteFilter struts准备和执行的一个filter),这个filter会在里面判断你是不是一个action,不是action直接出去dofilter,是action
创建代理,然后在代理里执行一系列拦截器,(细点说然后在创建actioninvocation) 拦截器执行完调用action,action调用完之后根据转向信息,生成一个result对象,然后调用result对象的execute方法
转到视图,视图完了之后 拦截器出栈,然后response给浏览器
10、struts2与struts1最大的区别
最重要的对比 strust2是多例的,struts1单例的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值