现在的位置: 首页 > 综合 > 正文

itcast张孝祥struts核心基础单元笔记

2012年11月12日 ⁄ 综合 ⁄ 共 2876字 ⁄ 字号 评论关闭

感谢itcast发布的免费视频


1.       mvc模式的简要回顾

用户请求发送到web容器,web容器会调用一个servlet来处理,servlet处理后返回给web容器

 

以上为过时的信息,造成htmljava代码混淆

2struts分发请求的过程与相关配置

按照mvc设计出来的web框架

struts配置文件里面为什么不配置.do?

因为可能后缀会变化,有可能以后变成.htm

可以用逗号分割出多个配置文件

action中配置项可以使用通配符

 

3. struts封装请求参数的过程与相关配置

ActionServlet将参数封装成formbean

Formbean中属性与htmlform中的元素的name对应

Formbeanvalidate方法)验证失败,返回input视图

Validate属性默认true,可以设置为false不进行validate

 

4. 分析struts返回页面的方式与请求处理流程

struts时序图

ActionServletRequestProcessor处理

 

5. 准备和搭建struts的开发环境

6. struts注册用例的需求分析与架构设计

7.完成和连结注册用例中的各个部件

            <action path="/RegUserUI" type="cn.itcast.strutsdemo.user.web.struts.actions.RegUserUI">

              <forward name="success" path="/reguser.jsp"></forward>

            </action>

8. ActionMapping类的作用与原理分析

xml中的元素都变成了一个类

配置文件中对应的类:FormBeanConfig,ActionConfig

9. URL路径与EL表达式的应用问题

<a href="${pageContext.request.contextPath }/RegUser.do">register</a>

10. html_link标签的应用及相关面试攻略

<html:link action="/RegUserUI">good</html:link>

这里有好处的是当后缀名改变时不用改代码

 

为什么用jstl,因为jstl是标准,比较通用,但是我也用struts标签

 

11. struts相关的部分面试题分析

说说对struts的理解

struts是一个遵循MVC模式的WEB层框架,说白了,它就是一个大大的servlet这个servlet的名字叫ActionServlet.web.xml文件中把某一组请求映射给这个servlet.通常使用*.do形式,也就是影射给了struts框架。当这个ActionServlet接受请求以后,它将吧这个请求交给一个Action处理,不同的请求交给不同的Action处理,一个请求路径到底对应哪个Action,这是在struts-config.xml配置的。Struts-config.xml的名称和路径可以在ActionServlet的参数忠进行配置,并且可以配置城多个文件,以逗号分割。ActionServlet把请求交给Action之前,会把请求参数封装成一个formbean,formbean校验有问题时,就返回到错误提试的页面,当没有问题时,才传递给Action去处理。Action处理后返回的结果视图用一个ActionForward对象表示,ActionForward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml配置文件为jsp页面设置的逻辑名,这样可以实现Action程序代码与返回的jsp页面名称的解耦,此外,struts提供了国际化支持和一些非常方便的标签,使得一些页面开发任务得到了简化。

 

Action元素中有那几个属性必须设置?

Type path

 

12. html_link标签的URL重写功能分析

<html:link>好处

不用关心web应用程序的路径和ActionServlet的影射路径

可以自动附加jsessionid参数进行url重写

可以对参数信息进行url编码

 

13. html_link标签生成的URL附加参数

提前将参数放在web编两中

request.setAttribute(“name”, “张小项”);

<html:link action=”/RegUserUI” paramId=”username” paramName=”name” >link</html:link>

从对象取属性

<html:link action=”/RegUserUI” paramId=”nwo” paramName=”now” paramProperty=”time” >link</html:link>

多个参数的传递

web变量中存一个map(person)

<html:link action=”/RegUserUI” name=”person” >link</html:link>

 

14.html_optionsCollection标签的设计思想

<option value=”1”>deve</option>

<option value=”2”>sale</option>

 

直接集合

request.setAttribute(“depts”, depts);

<html:optionsCollection name=”depts” value=”id” label=”name”>

 

对象里面的集合

<html:optionsCollection name=”corp” property=”department” value=”id” label=”name”>

 

15logic_forward标签与全局forward的应用

<logic:forward name=”” /> //name<forward>标记的name需要全局forward

16. _logic_redirect标签与两种跳转方式的比较

forward站内,href站外

17. _struts中的一些基本注意事项

Action是单实例和线程不安全的,在Action最好不要有可读写的成员变量。

Struts-config.xml文件中得<action>元素的path属性中没有.do,原因是影射到struts的路径可以不是.do

Struts-config.xml文件中得<action>元素的path属性必须以/开头,forward路径也是

18. html_rewrite标签生成指向actionURL

<html:rewrite action=”/RegUserUI”/>//生成超连接地址

<form action=” <html:rewrite action=”/RegUserUI”/>” method=”post”>

19. Action中使用response输对象出数据

out.printaction中不要返回forward,返回null;

抱歉!评论已关闭.