Struts--------------Struts2------------------>Hibernate ---------------->iBatis(MyBatis)--------spring-------------------->springmvc-------->MyBatis-plus
2000年 2006年 2001年 2002年 2003年 2015年 2016年
HIbernate是主流的ORM框架Object Relation Mapping 对象关系映射,将面向对象映射成面向关系
1.框架概述
2.三层架构与Struts2
3.MVC与Struts2
4.案例中存在的一些问题
所谓框架:就是把一些繁琐的重复性代码封装起来,使程序员在编码中把更多的经理放到业务需求的分析和理解上面
特点:封装了很多细节,程序员在使用的时候会非常简单
三大框架:struts,Hibernate,spring(SSH)
springmvc,mybatis,spring(SSM)
三层架构:
MVC
M:model模型,封装数据,javabean
V:view 视图,展示界面.jsp
C:Controller控制器,控制程序流程
Struts1.x的基本开发流程与之前使用的DispatcherServlet功能类似的
在Struts1.x的时代里面还没有所谓的Annotation配置支持,如果要使用struts1,建议生成web.xml
开发步骤:
1.StutsProject
2.记得要 选择web.xml
3.所谓的开发框架实际就是一组开发程序jar包,那么在MyEclipse里面可以直接为项目配置这些jar包,
选择项目,而后点击右键,选择MyEclipse的项目支撑,这个红色的地方就是struts支持的地方
4.进入struts配置页面
随后的界面里面需要定义一些配置信息,这些配置信息包含如下内容:
1.Servlet的处理路径:Struts1.x中的Servlet路径是一个经典的"*.do";
2.随后要求输入项目的程序包,本次设置为:cn.mldn.demo
这个时候会发现自动创建有一个文件""ApplicationResources"
3.随后会询问用户要使用的开发包,struts的开发包没有多少个,默认就好
4.项目建立完成后会自动在项目中出现一下内容
1>会自动的讲Struts1.x的开发包配置到CLASSPATH之中
2>在WEB-INF目录会先自动创建一个struts-config.xml文件,这个是struts的核心配置文件
3>在src目录下(最终会输出到WEB-INF/class下)存在有一个ApplicationResources.properties
5.建立一个login.jsp页面
1>在建立这个页面的时候稍微有一些不同,将使用Struts1.x提供的标签完成
范例:程序代码
此时发现定义表单的时候所使用的形式不太一样了,因为它使用标签处理,为了方便回填
<form>:
<input type="text">:
<input type="password">:
5.配置错误信息,修改ApplicationResources.properties文件
6.后面开始编写处理程序,但是Struts1.x的处理程序是分为两种类型:Action(负责跳转的,与Servlet相同),ActionForm(进行数据验证时用的)
随后会首先进入到创建ActionForm的操作对话框,在这里输入以下的内容
1>Use case:表示本次操作的模块名称,输入"mylogin"
2>随后会自动出现一个name的"myloginForm",它是在struts-config.xml
3>让这个ActionForm继承"org.apache.struts.ActionForm"类
4>此Action类继承"org.apache.struts.action.Action"父类
5>随后设置inputSource为login.jsp
6>首先在MyloginActionForm中编写如下代码
a.首先可以发现建立的数学都会自动生成setter和getter方法
b.数据验证的代码操作要求写在validate方法里面
此方法主要进行用户输入数据的验证,如果现在输入的数据有错误,则将错误信息保存在ActionMessage对象,可以同意保存在ActionErrors,如果在返回的是null
或者ActionError返回的没有包含任何错误信息,那么会将请求继续交给Action进行处理,否则会返回一个错误路径
mapping:表示所有的映射信息,此类一般不适用
request可以接受用户的请求参数
ActionErrors:如果返回为null火蟑螂里面保存的错误信息为0,那么表示正确
7.开发Action程序,一旦代码执行到了Action之后,那么就表示数据验证已经通过了,一定是符合要求的数据
1>在struts-comfig.xml文件里面配置跳转的路径,现在假设成功或者失败都调整到login.jsp
8.此时既然有可能出现错误信息,那么在login.jsp页面里面使用一个标签输出:
<html:errors/>
${msg}
此时一个最为基础的struts1.x的应用就实现了,但是可能最大感受开发结构很规矩,代码编写很受限,
4.总结:
Struts作为MVC开发框架的先河,在其影响之后产生了:JSF,Webwork,一定要记住:Struts是工作显示层与控制层的框架,他不涉及业务层和数据层的框架
1.vo的数据传递
2.实现Action的错误跳转
3.具体内容
此时的项目里面所有的数据都是分开传递的,但是在实际开发之中,所有的数据最好都是采用vo类进行传递
所以Struts1.x里面支持参数与vo类的转换
范例:顶一个一个Member.java的vo类
3.具体内容
只要一说到文件上传的操作,就应该离开想到以下几点问题
1>上传文件的表单一定要进行封装
2>需要使用一些上传组件,帮助用户简化上传的难度
3>对于被封装的表单与不封装的表单取得参数内容的操作形式不同
如果你现在的项目使用mvc开发(不适用开发框架),那么一定使用SmartUpload上传
使用的开发框架(Struts,springmvc)都使用的是apache的FileUpload上传组件完成,这个组件进行了足够多的封装操作,以简化用户的使用难度
现在的Struts1.x里面使用的也是FileUpload上传组件
如果要想上传,那么在定义表单的时候要使用文件选择框以及表单封装
Struts开发步骤:
1.写jsp页面
2.请求维了struts处理,这个时需要导入struts开发包
3.在web.xml文件中配置struts的actionServlet处理所有.do请求
4.在WEB-INF下目录中加入struts的工作配置文件:struts-config.xml
5.在struts的工作配置文件:struts-config.xml,配置actionServlet收到register请求后,调用ReigsterAction处理,并把请求中的数据封装到registerFor中
6.编写封装数据的RegisterFormBean和处理请求的RegisterAction
7.编写显示全局消息的message.jsp
标签:xml,JAVA,框架,struts,学习,Struts1,jsp,Action From: https://www.cnblogs.com/miwaiwai/p/17992635