struts2是什么?
struts是一个严格按照MVC分层思想,把客户端和服务端响应流程编写的开发框架。
MVC分层原理
这是现在最基本的分层方式,结合了SSH架构。
1.Pojo层就是对应数据库表的实体类。
2.Dao层就是使用了hibernate连接数据库、操作数据库(CRUD)。
3.Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。
4.Action层:引用对应的service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接收页面传递的请求数据,也可以做些计算处理。
以上的hibernate、struts,都需要注入到spring的配置文件中,spring把这些联系起来,成为一个整体.
客户端和服务端响应
客户端发送一个request(请求),按照controller(控制层),service(业务层),dao(数据持久层),pojo(dao层里面有数据,pojo里面有内容,所以它们两个称为‘模型层’)编写代码,处理客户端和服务端之间交互的框架。
Struts和XWork的关系
Struts和xWork随着时间的推移Struts发现了bug,所以xWork就火了,但是过了不久也发现了bug,所以就出来的Struts2同样也发现了bug,又出来个Springmvc因为配置比较繁琐,随后又出来Springboot.(虽然Struts2虽然过时了,但是还有很多的老公司在用SSH.)
Struts的开发步骤
配置环境的开发:
切换工作空间:File–Switch WorkSpace
配置工作空间编码:Window–preferences–搜索 Workspace
修改jsp文件编码 Window–preferences–搜索 jsp
设定jdk,tomcat
设置文字大小:Window–preferences–搜索 text点击colors and Fonts点击Basic点击Text Font
Struts的文件:
apps:里面包含的Struts2的一下例子
docs:里面包含Struts2的开发文档API
lib:Struts2的开发jar包
src:Struts2的源代码
Struts2一些重要运行的jar包:
Struts2-core.xxx.jar Struts2运行的核心jar包
Xwork-core.xxx.jar Struts2依赖的Xwork jar包
Ognl-xxx.jar 导航语言,类似el表达式
Freemarker-xxx.jar 包含的模板引擎
Common-logging.jar 日志jar包
Common-fileupload-xxx.jar 上传文件的jar包
Common-io-xxx.jar 跟上传有关
Common-lang3.xxx.jar 通用类
Struts2执行原理
当我们发送一个请求,首先是经过了web.xml中的StrutsPreparedAndExcuteFilter,这个过滤器过滤所有的请求,然后在Struts.xml中,根据请求的Action的名字找到对应的Action(这个action是路径),根据method找到对应的方法。当方法执行之后,根据返回值,找到struts.xml中的result,根据result名字找到对应的jsp路径.