zoukankan      html  css  js  c++  java
  • Struts2请求流程图

    1.第一个Struts2入门案例
    1.找jar包
    Struts2-core
    xwork-core
    ognl
    javasist
    freemarker
    commons-lang
    commons-io
    commons-fileupload

    2.在web.xml文件中植入配置,配置了核心过滤器(XXXXFilter)

    核心过滤器的名称:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    Ctrl+Shift+T

    3.在src下创建一个struts.xml文件
    <package name="" namespace="" extends="">
    <action name="xxAction" class="类的物理地址">
    <result name="success">/index.jsp</result>
    </action>
    </package>
    4.在action包中创建一个Action类
    实现了特定接口的一个类 Action接口
    public class LoginAction implements Action{
    public String execute(){

    return "success";
    }

    }
    5.写一个index.jsp页面

    2.实现登录:认证自动装配
    3.保存用户信息:在Action中如何获取到session对象
    解耦
    耦合
    4.数据校验
    5.Struts2常用标签

    -------------------2016年9月25日09:14:36
    1.Struts2和MVC
    解析:MVC是一种模式,设计思想
    Struts2是这种模式的一种实现
    Spring MVC
    2.WebWork和Struts2关系
    解析:Struts1 官方提供的框架
    WebWork

    3.Struts2标签
    1.导入指令
    <%@ taglib uri="/struts-tags" prefix="s"%>

    2.使用
    <s:form>

    </s:form>

    4.自动装配autoaware
    1.login.jsp
    name="username"

    2.Action中的成员变量名称和登录界面中name属性值一致

    5.一个异常
    Stacktraces (栈跟踪)
    java.lang.NullPointerException 空指针异常

    cn.happy.action.LoginAction.execute(LoginAction.java:12)

    6.username password ------->user

    jsp页面
    <input name="user.username"/>
    <input name="user.password"/>

    7.洋洋说
    洋洋说,这么写太恶心,能不能界面上还是username,也能实现自动装配呢?

    解析:ModelDriven (模型驱动)
    public abstract interface com.opensymphony.xwork2.ModelDriven {
    public abstract java.lang.Object getModel();
    }
    小tip:
    1.让Action实现一个ModelDriven<UserInfo>
    2.user对象手动实例化
    3.UserInfo getModel(){
    return user;
    }

    8.Servlet API
    解析:API(Application Programming Interface) 应用程序编程接口
    就是和Servlet相关的一组接口和类

    Servlet API 文档
    接口和类以及方法的说明,描述
    xxx.chm
    9.我想在登录成功后,拿到Session,给Session保存用户名。

    1.如何在Action中获取到session对象
    2.将用户名放入session作用域

    10.获取session的两种方案
    方式一:耦合

    HttpSession session2 = ServletActionContext.getRequest().getSession();

    方式二:解耦
    Map<String, Object> session = ActionContext.getContext().getSession();

    通过注入方案:IOC


  • 相关阅读:
    Python中如何取字典中的键值
    Python中random模块的用法案例
    Python中模块import的使用案例
    Python中模块的定义及案例
    Python中from … import …语句
    Python中模块调用说明
    Python中模块、类、函数、实例调用案例
    Python中读写文件三部曲
    Python中特殊函数__str__()
    Python--网络编程-----基于UDP协议的套接字不会发生粘包
  • 原文地址:https://www.cnblogs.com/qingzhi/p/5907991.html
Copyright © 2011-2022 走看看