没有合适的资源?快使用搜索试试~ 我知道了~
详细的描述了Struts的原理和配置,并对Struts初始化作了简单介绍
资源详情
资源评论
资源推荐
由 fish 整理制作 QQ 275892462
1
Struts 学习笔记
Model1 和 Model2 设计模式简介:
1.以 JSP 的开发模型,称为 Model1 (JSP +JavaBean)
1> 业务逻辑和表示逻辑混合,不利维护与重用。
2> HTML 中嵌入大量 Java 代码。
3> 验证,流程控制,更新程序的状态全部在 JSP 中完成。
2.基于 MVC 模式的框架
1> MVC 将问题进行分解。
2> 模型包含应用程序的核心功能,模型封装了应用程序的状态。它对视图和控制器一
无所知。
3> 视图提供模型的表示,他是应用程序的外观。视图可以访问模型的读方法,但不能
访问写方法。此外,他对控制器一无所知。
4> 控制器对用户的输入做出反应,他创建并设置模型。
Struts 框架概述
1. 浏览器:
Web容器将对来自 Http 的每个请求创建一个 request 对象,并用一个 response 对
象做出响应。
2. 控制器
控制器接收来自浏览器的请求,在 Struts 中,是由一个 Servlet 来充当控制器的
角色,Struts-config.xml 文件配置控制器。
3. 模型
在 Struts 中,由 Action 类充当业务逻辑的包装器,ActionForm 是程序的状态。
4. 视图
JSP 文件
Struts 框架组件
1. Action 类控制导航流
2. ActionServlet 根据 URL 来决定哪个 Action 类
被用于处理请求,Action 可以校验输入,并访
问业务层以便从数据库检索信息。
3. Action 需要知道页面提交了哪些内容,所以由
ActionServlet 根据请求 URL 来决定将请求参数
绑定到哪个 ActionForm 中,并传入 Action。
4. Action 在完成业务逻辑后,返回一个 ActionFoward
对象,ActionServlet 根据 ActionForward 对象中的
路径来调用页面,完成响应。
5. Struts 将这些信息绑定在一个 ActionMapping 对象中,一个 ActionMapping 对应一个请求
URL ,当请求路径到达的时候,ActionServlet 就会查询 ActionMapping 对象,
ActionMapping 对象将告诉 ActionServlet 哪个 Action 类会被调用,哪个 ActionForm 类被
用于传递页面数据以及哪些 ActionForward 将被用于转向。
6. 有关 Action, ActionForm, ActionForward 等信息,Struts 通过一个配置文件,
struts-config.xml 来定义。
由 fish 整理制作 QQ 275892462
2
解析 Struts 配置文件
1. 解析应用程序部署文件 web.xml 元素
1.ActionServlet 类的配置元素。
在 web.xml 文件中添加如下<servlet>元素配置 ActionServlet 类的代码如下:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
解释说明:
<servlet-name>子元素:该 ActionServlet 的名称,用于配置文件中其他部分对其进行
引用。
<servlet-class>子元素:该 ActionServlet 所属类的路径。
<init-param>子元素:各处所需要的初始化参数。
<load-on-startup>子元素:应用程序启动时,即在接收到任何客户端请求前,创建该
Servlet 实例的数目,迷人为 0 个。这种操作可以提高应用程序第一次被调用时的响
应速度。但是,如果创建数目过多会消耗服务器资源。
2.请求 ActionServlet 类的配置元素
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
解释说明:
<servlet-mapping>元素主要的作用是指定 Acction 类请求处理的 URL 地址
<url-pattern>*.do</url-pattern>表示处理所有*.do 格式的 URL。
3.部署 Struts 标签库路径的配置元素
<taglib>
<taglib-uri>struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-bean</taglib-uri>
由 fish 整理制作 QQ 275892462
3
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
解释说明:
<taglib>元素对标签库描述文件指定别名
<taglib-uri>元素给出了标签库德标识,以供本应用程序中的 JSP 页面中引用。
<taglib-location>元素给出了标签库文件的实际保存位置。
使用该标签库德 JSP 页面需在文件开头使用页面指定元素<taglib>指定先前配置
过的<taglib-uri>,引入该 URL 所标识的标签库,具体语法格式如下:
<%@ taglib uri="struts-html" prefix="html" %>
<%@ taglib uri="struts-bean " prefix=" bean " %>
<%@ taglib uri="struts-logic " prefix=" logic " %>
4.其他常用元素的配置
1> 配置欢迎文件列表的元素
给配置用于指定当用户输入网站地址时,默认进行的主页位置及名称,默
认为 index.jsp,在 web.xml 文件中配置欢迎文件列表的元素内容如下:
<weblcome-file-list>
<weblcome-file>/welcome.jsp</weblcome-file>
</weblcome-file-list>
2> 配置错误处理元素
在 Struts 应用程序运行的过程中,如果抛出的错误或者异常,在 Struts
本身提供的通用错误处理机制无法解决时。则将抛给 Web 容器,而如果 Web
容器也没有进行处理,则默认显示在浏览器页面中。
为了避免用户看见错误提示信息,可以在配置文件中使用<error-page>,
指定在发生错误时应该转到的页面,具体应用代码如下:
<error page>
<error page>404</error page> <!—关于路径错误的配置-->
<location>/404.jsp</location>
</error page>
或者
<error page>
<error page>505</error page> <!—关于路径错误的配置-->
<location>/505.jsp</location>
</error page>
另外,也可以使用类似的方法捕获 Java 抛出的异常,此时应使用
<error-type>指定要处理的异常类型,具体代码如下:
<error page>
<error page>java.lang.Exception</error page>
<location>/exception.jsp</location>
</error page>
由 fish 整理制作 QQ 275892462
4
2. 解析 Struts 配置文件 struts-config.xml 元素
Struts-config.xml 文件位于 Struts 应用的 WEB-INF 目录下,与 web.xml 文件为同级
目录,是整个 Struts 的核心组件,其中主要包括 ActionForm 的配置元素<form-bean>, 数
据源的配置元素<data-sources>,Action 的配置元素<action>等。
1. 数据源的配置元素
<data-sources>
<data-source key=”dataSource”
type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName"
value="net.sourceforge.jtds.jdbc.Driver"/>
<set-property property="url"
value="jdbc:jtds:sqlserver://localhost:1433/db_database03"/>
<set-property property="username" value="sa"/>
<set-property property="password" value=""/>
<set-property property="driverClass" value="true"/>
<set-property property="readOnly" value="false"/>
<set-property property="autoCommit" value="false"/>
<set-property property="minCount" value="1"/>
<set-property property="maxCount" value="10"/>
</data-source>
</data-sources>
<data-source key=”dataSource” type="org.apache.commons.dbcp.BasicDataSource">
key属性指定了该数据源的名称(也可以不用设置),
type=”org.apache.commons.dbcp.BasicvDataSource”指定了该数据源的类型。
该类型 是 Struts 配置使用的第三方数据源组件。
<set-property property="driverClassName"
value="net.sourceforge.jtds.jdbc.Driver"/>
<set-property property="url"
value="jdbc:jtds:sqlserver://localhost:1433/db_database03"/>
<set-property property="username" value="sa"/>
<set-property property="password" value=""/>
指定了该数据源的数据库驱动类型(driverClassName),数据库访问路径(url),访
问数据库的用户(username)和密码(password).
注意:在 struts-config.xml 文件中配置数据源时,设置属性名称是固定的,不
能够修改,一旦修改为其他名称,系统将出现错误。
2. ActionForm 类的配置元素
ActionForm
就是一个简单的 JavaBean,用于保护用户输入的数据,只要配置好
之间转发和属性的对应关系,Struts 就会把输入参数自动存储到 ActionForm 中。
剩余19页未读,继续阅读
bird198398
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Docker容器配置进阶
- tensorflow-gpu-2.7.4-cp37-cp37m-manylinux2010-x86-64.whl
- 多段线、 圆、弧转多段线(仅我可见)
- tensorflow-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- yeyue-p8Yi4-ve4a83792.apk
- tensorflow-gpu-2.7.3-cp38-cp38-manylinux2010-x86-64.whl
- 五相感应电机矢量控制模型MATLAB
- RGLED (1) (1).circ
- IMG_20240427_215747.jpg
- python下前端WEB学习笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0