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属性值是否一样

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

 

posted @ 2018-09-07 15:33  春眠不觉笑  阅读(276)  评论(0编辑  收藏  举报