如下是本人对struts的简单理解,只学了两天的小体会想记录下!java
关于struts本人的简单理解:web
咱们先来看下struts的apache
web.xml文件;浏览器
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Struts2</display-name> <filer>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</filter>
</web-app>
首先: 咱们得明白web.xml文件是用来干啥的, web.xml是用来配置一个filter(过滤器),让struts框架可以来处理你以后的内容。app
接下来咱们看看struts的框架
struts.xml的文件jsp
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="defualt" extends="struts-defualt">
<action name="struts2" class="org.apache.StrutsAction">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
接下来咱们得知道struts.xml文件干了啥事情,struts.jsp是用来肯定你须要调用那个Action来处理你的请求的
废话了这么多,下面就继续废话一些:下面咱们分析一下struts框架到底作了什么工做
简单点,说话的方式简单点 在用户页面好比一个简单的jsp页面中表单的<form action="struts2.action">,在跳到struts2.action中的这个请求中url
首先会去到web.xml中注册filter(过滤器)让struts这个框架可以处理你的请求,在filter中的<filtel-class="org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter">spa
的org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter(数据处理中心)处理,若是你提交的表单如是.action结尾的,就会被struts2的框架处理,*.action中的*表示code
的是你须要调用的名字。好比一个简单的jsp页面中表单的<form action="struts2.action">,.action前面的*是struts2,这说明struts2会被strut2框架调用。
web.xml发挥功力后,就轮到了struts.xml发挥做用了,struts.xml会映射决定用户会调用哪一个Action对应在struts.xml配置是:
<action name="struts2" class="org.apache.StrutsAction">
以及决定映射到什么页面对应在struts.xml配置是:
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
我都不敢相信我竟然写到这里,你也竟然看到这里!
其实前面都是一些杂杂 简单说,页面-->控制器--->页面
下面咱们来形象化一点的话:张三(至关于来自浏览器一个请求)问我(web.xml)要一个门票(使用struts框架),去博物馆(struts.xml)看展品(Action)