zoukankan      html  css  js  c++  java
  • Struts2 概述

    1. struts2应用在javaee三层结构中web层框架

    2. struts2框架在struts1webwork基础之上的发展全新的框架

    3.struts2 解决的问题:

    用户管理的crud操作  ---添加功能--创建添加servlet

    --update功能--创建updateservlet

    -

    -

    初步解决 -解决的方法创建:BaseServlet解决

    1. 写到底层反射代码实现

    Struts2可以解决.目前是优的方案

     

    Struts2封装了过滤器   拦截请求 到执行类action中不同的方法

     

    用户管理的crud操作-->过滤器  ---------------> 执行类里面的add方法

                       不同的操作,           执行类里面的update方法

    在类里面写不同的方法

    .Strutr2的入门案例

    1. 导入jar

    apps,找到示例程序,复制lib下的jar

    2. 创建action

    之前访问servlet的时候 都会执行servletservice()方法

    --创建一个类继承httpservlet 重写里面的方法

    --web.xml中 配置servlet的访问路径

     

    访问action.每次访问action的时候,默认会执行execute方法

    --配置action的访问路径

     

    Public  class  HelloAction{

    Public  string  execute(){

     Return “OK”;

    }

     

    }

    3. 配置action类的访问路径

    3.1创建struts2核心配置文件

    核心配置文件的名称和位置是固定的

    位置:必须在src下面,名称 struts.xml

    3.2引入dtd约束

    <struts>

     <package  name=”hellodemo” extends = “struts-default” namespace = “/”>

        Action--name-->访问的名称

    <action  name=”hello”  class=”HelloAction de lujing”>

    配置方法返回值到页面

    <result  name=”ok”>hello.jsp</result>

     

    </action>

     

    <package>

    </struts>

     

    访问路径: 都可以

    http://127.0.0.1/StrutsTwo/hello

    http://127.0.0.1/StrutsTwo01/hello.action

     

    web.xml中配置struts2过滤器

     StrutsPrepareAndExecuteFilter

     

    /*

     

     

    请求的流程:

    请求--->web.xml--中的过滤器 --

    过滤器创建:在服务启动的时候创建. 执行init方法

    init方法主要加载配置文件  -包含自己创建的和struts自带的配置文件

    Struts.xml  peizhi action

    Web.xml  peizhi guolvqi

                              -

    第一步-

    获取请求路径

    得到路径中hello

     

    第二步

    src下找到strus.xml文件,对文件进行使用dom4j解析

    得到xml文件中的内容

    拿着hello值到 xml文件中找action标签,匹配name属性值是否一样

     

     

    第三步

    匹配name,相同-----找到name属性所在的action标签中另一个属性class

    得到action的全路径---使用反射实现功能

      

    使用反射是action中的方法来执行

    方法的返回值 action 标签--result---去匹配---在配置的页面中显示结果

     

    反射的代码:

    1. 得到class    Class  clazz =Class.forName(“action的全路径”);
    2. 得到名称是execute的方法  Method m = clazz.getMethod(“execute”);
    3. 让这个方法执行  Object obj = m.invoke();

     

     

    第四步

     

    得到action的返回值

    struts.xml文件中,找到action标签里面的result标签,匹配result 标签的name属性值是否一样

    如果一样,跳转到配置页面.

     

  • 相关阅读:
    使用phpize安装php模块
    centos如何卸载软件
    修改centos环境变量
    linux系统安装php扩展
    php单入口session处理
    session阻塞机制,解决方法
    uploadify插件的使用
    php图片上传代码
    validate插件的使用
    datepicker使用
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/9604993.html
Copyright © 2011-2022 走看看