Struts2:核心拦截器、配置文件、业务Action、控制组建、标签库!(通过Java封装出来的一种结构,运用上了java的面向对象和特点,不是独立技术,建立在web技术之上的一种MVC框架模式,由webwork演变而来)
什么是MVC?
Model(模型层):在web应用中,主要控制业务的流程,状态的处理,JavaBean
Controller(控制层):模型层和视图层沟通的桥梁,将模型层数据调用然后放入到作用域中,返回给视图层
View(视图层):JSP/HTML,代表与用户交互的界面,把控制层的数据返回在页面中进行展示
通过URL请求控制层(Action收集用户发送过来的请求参数)-模型曾-存入数据库!本质原理是HttpServletRequest/HttpServletReeponse
九大隐式对象 application session request pageContext | reponse out | config | page
1.struts2 : 下载地址: http://struts.apache.org/
struts2-core-2.3.16.3.jar --核心包
xwork-core-2.3.16.3.jar
freemarker-2.3.19.jar --jsp
commons-fileupload-1.3.1.jar ---文件上传的包
commons-io.2.2.jar --处理IO流
commons-lang3-3.1.jar
commons-logging-1.1.3.jar --处理日子
2.核心拦截器web.xml-心脏部位-配置拦截器,servlet--拦截请求的监听器作用域
web.xml配置文件
<!-- struts2的核心拦截器:本质就是实现Filter -->
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>strtus2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.拦截======request.getRequestURL----struts.xml---一定放在src目录下
<struts>
--改了配置文件不需要重部署
<constant name=""struts.devMode"" value="true"></constant>
--改变默认编码
<constant name=""struts.i18n.encoding"" value="UTF-8"></constant>
<!-- package包可以继承的-获取struts2的默认功能-->
<package name="struts2default" extends="struts-default">
<action name="login_*" method="{1}" class="com.shf.login.LoginAction">
<result>/loginSuccess.jsp</result>
<result name="fail">/login.jsp</result>
</action>
</package>
类的入口方法execute(),Action类的默认方法、不需要去继承ActionSupport
4.总结:根据url找到struts.xml如果有name和url匹配的name,就找到对应的类,调用方法 (action="login.action")