struts2(1)介绍及快速入门

10 篇文章 0 订阅

目录

struts2介绍

struts2快速入门

1.下载struts开发包

2.解压struts开发包

3.创建一个web工程,导入jar包这个导入的jar包是实例程序中的blank中的基本jar包

4.创建一个action

5.配置struts.xml  struts2的配置文件

6.配置web.xml  struts2核心过滤器的配置

struts的工作步骤 


struts2介绍

struts2是一个机遇mvc涉及模式的web应用框架,它本质上相当于一个servlet,在mvc涉及模式中,struts2作为控制器(controller)来建立模型与视图的数据交互,struts2是struts的下一代产品,是在struts1和webwork的技术基础上进行了合并的新的struts2框架。其全新的struts2的体系结构与struts1的体系结构差别很大。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的涉及也使得业务逻辑控制器能够与servletAPI完全脱离开,所以struts2是webwork的更新产品,虽然从struts1到struts2有这太大的变化,但是相对于webwork,struts2的变化很小。

struts1  基于servlet  线程不安全

struts2的优势:

1.提供exception处理机制

2.result方式的页面导航,通过result标签很方便的实现重定向和页面跳转

3.通过简单、集中的配置来调度业务类,是的配置和修改都非常容易。

4.提供简单、统一的表达式语言来访问所有的可供访问的数据

5.提供标准、强大的验证框架和国际性框架。

6.提供强大的、可以有效减少页面代码的标签

7.提供良好的ajax支持

8.拥有简单的插件,只需要放入相应的jar包就能扩展struts框架,比如实现自定义的结果类型、自定义标签。

常见的web层框架

struts1

struts2

webwork

springmvc

web层框架都会有一个特点,就是基于前段控制器模式来实现的。

 

struts2快速入门

1.下载struts开发包

https://struts.apache.org/

2.解压struts开发包

apps 官方提供的示例程序

docs官方api

lib struts核心库

src源码

3.创建一个web工程,导入jar包这个导入的jar包是实例程序中的blank中的基本jar包

4.创建一个action

HelloACtion

package cn.ycsj.hiber.test;
public class HelloAction {
    public  String Hello(){
        System.out.println("hello,world");
        return  "success";
    }
}

5.配置struts.xml  struts2的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="hello" namespace="/hello" extends="struts-default">
        <action name="HelloAction" class="cn.ycsj.hiber.test.HelloAction" method="Hello">
        <result name="success">/Hello.jsp</result>
        </action>
    </package>
</struts>

这个文件中定义了类文件和访问地址的拼接,这个简单的配置拼接的地址是localhost:8080/StrutsTest/hello/HelloAction  如果这个action返回success 就转发到Hello.jsp页面

6.配置web.xml  struts2核心过滤器的配置

<?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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!--将struts2 核心过滤器配置到web.xml-->
<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>

在struts2.5版本以后需要删除ng,org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter否则会报错。

通过访问localhost:8080/StrutsTest/hello/HelloAction  可以看到控制台打印出来消息并且页面转发到Hello.jsp页面。

这样一个最简单的struts2流程就已经通了。

struts的工作步骤 

服务器启动加载web.xml配置文件中的过滤器,这里是对所有的请求都进行过滤。----------->过滤器处理请求的url ---------->   将url拆分为namespace命名空间和action  ------------>查询struts中定义的namespace --------->查询对应namespace下的action name 如果对应--------->根据配置的class找到对应的action对象 根据反射创建实例 获取其中的方法、执行方法------>根据返回值转发或者重定向。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值