Struts2的使用

记录下以前学过的struts2,2019.11。

Struts的工作流程:

在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在就返回请求路径无效信息;
-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;

背景:

struts2是一个基于MVC设计模式的Web应用框架,采用拦截器的机制来处理用户的请求,这样的设计使得业务逻辑控制器能够与ServletAPI完全脱离开。仅通过servlet提取表单数据,需要频繁调用getParameter方法。提取数据后需要进行数据类型转换并设置到javabean中。使用struts2能减少提取数据过程中繁琐的步骤,将表单数据直接注入到javabean,极大的提高了网站的开发效率。
在学生信息管理系统中,学生基本信息拥有大量的数据,如果仅仅通过servlet来提取表单数据,将产生诸多冗余代码。我们希望利用struts2框架来完成表单数据的注入。

任务:

1.1搭建struts2的开发环境。能获取并导入struts2框架所需要的jar包(P1)。
1.2能利用struts2接收表单数据。能设计录入学生基本信息的表单和javabean,在用户提交表单后,通过struts2将表单数据注入到javabean中(P2)。
1.3 展示数据处理结果。完成1.2的任务后,利用struts2跳转到处理结果页面,提示用户信息已收取到(P3)。能设计一个地址模型,封装学生的地址信息,在接收到表单数据后,利用struts2的数据类型转换功能,将地址数据注入到地址javabean(M1)。能对接收到的表单数据进行校验,检测数据是否符合规范(例如,学生年龄不能超过120岁)(M2)。能通过json格式的数据,传递处理结果并在页面中展示出来(D1)。

1.3展示数据处理结果。检测数据是否符合规范
学生年龄不能超过120岁
执行失败提示:
在这里插入图片描述

执行成功:
在这里插入图片描述

代码

使用model传值:
1.建立一个model类Uesr来存储数据
2.一个UserAction要继承ActionSupport来操作

在这里插入图片描述
在这里插入图片描述
jsp页面:
name属性:传值时需要使用对象.参数名的方式进行传递.
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值