Struts2学习笔记01

1、cookie和session的区别
2、struts学习笔记
① struts属性驱动和模型
② action当中指定业务方法的调用
③ 管理处理结果
④ 访问servletAPI
– 耦合度高 使用的是servlet当中的方法
– 耦合度低 使用的是action当中的方法
⑤ struts2 是在struts1和 webwork的基础之上研发出来的新的MVC框架。是一个开源框架。
3、配置struts过滤器,进行拦截请求
① 建项目
② 导入jar包(大概10个)
③ 配置struts.xml

<struts>
    <package name="hello" namespace="/" extends="struts-default" > <!--默认继承与struts-defult-->
        <action name="hello" class="cc.ccoder.study.HelloWord" method="execute">
        <!--action当中的name相当于servlet中的url-patten class当前action处理的是哪一个类 method默认处理的是类中的哪一个方法-->
            <result>/index.jsp</result> <!--处理结果-->
        </action>
    </package>
</struts>
配置struts.xml的时候需要创建一个java类来处理action。并且在<result>当中默认设置为success
public class HelloWord {

private String msg;
    public String getMsg() {
        return msg;
    }

    public String execute(){
        msg = "hello world";
        return "success";
    }
}

④ 配置web.xml
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
在web.xml当中需要配置过滤器,并且设置拦截。在filter-mapping当中设置连接的地址。这是struts自定义的过滤器,是整个struts的入口。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd";
version="3.1">
     <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>
</web-app>

4、属性驱动
① struts属性驱动是指在jsp页面当中name需要在action当中对应。

/welcome.jsp

在action当中method对应的是class当中将要进行处理拦截的方法名字。
/welcome.jsp
这里result的name是上面method进行拦截的方法当中的return中的名称。如果不写默认情况下是success。
public String userLogin(){
System.out.println(“用户名:”+username+” 密码:”+password);
return “hehe”;
}
需要注意的是method当中bean命名需要和form表单当中的名称保持一致。

5、模型驱动
action当中属性名为对象(模型)

public class UserAction {

    private User user;

    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }

    public String userLogin(){
        System.out.println("用户名: "+user.getUsername());
        System.out.println("密码 "+user.getPassword());
        return "success";
    }
}
在struts当中配置的和属性驱动一致的。
<action name="userAction" class="cc.ccoder.study.UserAction" method="userLogin">
    <result>/welcome.jsp</result>
</action>
跟属性驱动不同的是,在form表单当中name属性需要指明为action当中的对象的属性。
如下面代码所示:name=user.username
<form action="userAction" method="post">
    <input name="user.username">
    <input name="user.password" type="password">
    <input type="submit" value="登录">
</form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>