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

2. struts2框架在struts1和webwork基础之上的发展全新的框架

3.struts2 解决的问题:

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

--update功能--创建updateservlet

-

-

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

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

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

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

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

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

在类里面写不同的方法

二.Strutr2的入门案例

1. 导入jar包

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

2. 创建action

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

--创建一个类继承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属性值是否一样

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

Struts2 概述的更多相关文章

  1. Struts2概述

    -------------------siwuxie095 Struts2 概述 1.Struts2 是应用在 Java EE 三层架构中的 Web 层的框架 2.Struts2 是在 Struts1 ...

  2. Struts2概述及与Struts1的对照

    Struts2 概述 1,仍然是一个基于请求响应的MVC框架 2,Struts2不是Struts1的升级 3,Struts2与Struts1的体系结构差距非常大 4,Struts2採用了还有一个MVC ...

  3. Struts2框架学习第一章——Struts2概述

    本章要点 —  Web应用的发展 —  Model 1和Model 2 —  MVC思想 —  MVC模式的优势 — 常用MVC框架及其特征 —  Struts 1的基本结构及其存在的问题 —  We ...

  4. 第1章-Struts2 概述 --- Struts2和MVC

    (一)Struts2和MVC的关系图: (1)控制器---FilterDispatcher 用户请求首先达到前段控制器(FilterDispatcher).FilterDispatcher负责根据用户 ...

  5. Struts2笔记02——Struts2 概述(转)

    原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Struts2是基于MVC设计模式的一种流行.成熟的We ...

  6. Struts2学习第二课 Struts2概述

    Struts2是一个用来开发MVC应用程序的框架,它提供了Web应用程序开发过程中的一些常见问题飞解决方案: -对来自用户的输入数据进行合法性验证 -统一的布局 -可扩展性 -国际化和本地化 -支持A ...

  7. 1:1 Struts2概述

    jar包下载

  8. 一、Struts2的概述

    一.Struts2概述 是什么? Struts2是一个M(模型---域--范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非 ...

  9. Struts2入门1 Struts2基础知识

    Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...

随机推荐

  1. LigerUi折叠与展开

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  2. vue中$emit 和$on 和$set的用法

    1.$set的用法:给 student对象新增 age 属性 data () { return { student: { name:"里斯'} } } 直接给student赋值不会触发视图更 ...

  3. bootbox.js官方文档中文版

    bootbox.js官方文档中文版简介:Bootbox.js是一个小型的JavaScript库,基于Bootstrap模态框开发,用于创建可编程的对话框. 不像原生的alert等对话框,所有的Boot ...

  4. solr创建业务域以及指定中文分析器IK

    第一步:把中文分析器添加到工程中. 1.把IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下 2.把扩展词典.配置文件放到solr工程的WEB-INF/classes目录下 ...

  5. Windows下解压分卷压缩方法

    各种压缩分卷格式 rar分卷格式是*.part1.rar,*.part2.rar 等等. 360分卷压缩出来的文件的名字是*.zip.001.*.zip002 等等. WinZip分卷压缩出来的文件名 ...

  6. malloc调用后经历了什么?

    进程生成虚拟地址空间,有堆地址,由于是虚拟地址,所以没有做内存碎片化处理,只是在虚拟内存不够的时候调用brk,进行堆大小的调整,然后申请到虚拟内存是页,同MMU映射到物理地址,然后并不是每个页都预先加 ...

  7. Centos6.5建立本地YUM源

    很多情况下公司的服务器是不允许连外网的,那么安装软件的时候就很不方便了,这里就需要建立一个本地YUM源了. 文件位置:/etc/yum.repos.d/    后缀一定是.repo结束. 下面我们搭建 ...

  8. Geckofx 45 正确模拟键盘输入的事件绑定方法

    var inputs = selection.GetElementsByTagName("input").Select(p => p as Gecko.DOM.GeckoIn ...

  9. gitlab4.0_安装

    一,安装环境 OS:redhat7.4 二,安装依赖包 yum -y groupinstall 'Development Tools'  ===>待验证 yum -y install pytho ...

  10. 工厂模式&策略模式。

    抽象.封装,具体事情做得越多,越容易犯错误.这每个做过具体工作的人都深有体会,相反,官做得越高,说出的话越抽象越笼统,犯错误可能性就越少.好象我们从编程序中也能悟出人生道理.(百度百科) 不断抽象封装 ...