SSH之Struts(一)

1,Struts2框架介绍

  Struts2框架是MVC流程框架,适合分层开发。框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计。

2,Struts2框架的流程原理

1)请求先到达Filter中央控制器

2)然后为Action创建代理类

3)将各个服务存放在拦截器中,执行完拦截器后再去执行action类行action类,action类调用service,再调用dao

4)得到结果字符串,创建result对象

5)转向相应的视图。

程序流程图如下:

 3,框架的使用

框架为我们做好了封装,使用起来就按照步骤,配置几个xml文件就行。

1)导入jar包

        <!--struts-->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.33</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>
        <dependency>
            <groupId>ognl</groupId>
            <artifactId>ognl</artifactId>
            <version>3.1.29</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts.xwork</groupId>
            <artifactId>xwork-core</artifactId>
            <version>2.3.32</version>
        </dependency>

这里的jar包版本可以自己去网上搜,比如阿里云仓库这些,搜到对应的版本加载即可,当然有些版本要和使用的struts版本相适配,比如说xwork-core。

2)拷贝struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="test" namespace="/test" extends="struts-default">
        <action name="HelloWorld" class="test.action.HelloWorldAction">
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>

代码说明:访问/test/HelloWorld.action对应执行test.action包下面的HelloWorldAction类;默认情况下执行类中的execute方法,如果想指定方法,需要在<action>标签中添加method属性;<result>标签配置结果跳转路径。根据Action类中方法返回的String字符串,去匹配result标签中的name值,进行跳转。

3)在web.xml文件中配置核心控制器

这里有两种方式去创建web.xml,一种是通过一步步新建目录和文件,另一种是通过框架去创建,

项目结构里去添加个web项目。

这时会自动生成web.xml。

<?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">

    <!-- 配置框架的核心调度器 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值