Struts 学习

参考学习:https://how2j.cn/k/struts/struts-tutorial/54.html

一、Struts是什么

Struts2是一个相对流行的MVC框架。感觉就是struts2是处理访问服务器的请求的 取代了servlet。

传统的servlet/jsp实现的MVC架构,其运行机制是:jsp页面(视图view)发送消息到servlet(控制器Controller),servlet获取请求数据,处理业务逻辑,分发转向。这样的话,servlet就太麻烦了,处理请求信息和业务处理都写在servlet,而且业务逻辑全是硬编码,代码都写死了不利于维护。

Struts2框架的MVC分别对应:
V:jsp+OGNL
C:action类
M:javabean+ModelDriven

Struts2框架的控制器将“获取请求”和“分发转向”代码抽取出来写在配置文件里,这样一来,控制器(action类)就能专注于业务逻辑的处理了。

二、部署

(0)创建项目

(1)导入所需的jar包

(2)创建web.xml(放在WEB_INF)

(3)创建实体类

(4)创建动作Action用于控制

(5)配置struts.xml(放在src)

(6)创建jsp页面

三、实例(用Struts显示数据到JSP)

步骤

(1)导入所需的jar包
在这里插入图片描述
(2)创建web.xml(放在WEB_INF)
配置一个 Filter, 所有的请求都被过滤给了这个 Filter
就是Struts

在这里插入图片描述

(3)创建一个实体类Product.java

在这里插入图片描述

(4)创建一个动作ProductAction用于控制

package com.how2java.action;
import java.util.Date;
import com.how2java.bean.Product;
 
public class ProductAction {
    private Product product;
 
    public String show() {
        product = new Product();
        //重点是这里
        Date date=new Date();
        product.setName(date.toString());
        return "show";
    }
 
    public Product getProduct() {
        return product;
    }
 
    public void setProduct(Product product) {
        this.product = product;
    }
}

(5)配置struts.xml(放在src)
在这里插入图片描述
该配置表示 访问路径/showProduct会调用 ProductAction 类的 show 方法
服务端跳转到show.jsp

(6)show.jsp
通过EL表达式,取出product的name

在这里插入图片描述
(7)访问http://127.0.0.1:8080/struts/showProduct
这里把它改成了时间
在这里插入图片描述

Struts配置里面的一些解释

在这里插入图片描述
(1)name=“showProduct”:是路径名

(2)class=“com.how2java.action.ProductAction”:访问该路径时,查找的类

(3)method=“show”:执行的方法

(4)方法返回的参数是show时,会访问该结果中的页面,‘所以show()方法返回的字符串是show时,会访问show.jsp’

(5)show.jsp:方法返回show时,访问的页面是show.jsp

四、原理

  1. 访问路径 /showProduct
  2. 所有访问都被struts的filter所拦截,并进入struts的工作流程
  3. 根据配置文件struts.xml, 会执行ProductAction的show方法
  4. 在show方法中,将实例属性product指向一个新的对象,并设置名称为iphone7
  5. 服务端跳转到show.jsp
  6. 在show.jsp中,访问ProductAction.getProduct() 获取实例属性product,并显示其名称iphone7
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值