没有合适的资源?快使用搜索试试~ 我知道了~
java技术面试题.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 32 浏览量
2022-07-14
03:24:25
上传
评论
收藏 231KB PDF 举报
温馨提示
试读
37页
java技术面试题.pdf
资源推荐
资源详情
资源评论
1/37
目 录
1 Struts 框架 .............................................................. 2
2 Spring 框架 .............................................................. 8
3 AJAX技术 ............................................................... 14
4 Hibernate 框架 .......................................................... 17
5 框架综合运用 . ........................................................... 24
6 J2EE初级题目 ........................................................... 27
7 J2SE初级题目 ........................................................... 33
2/37
1 Struts 框架
1. Struts 框架的整体运行流程
在 web 应 用 启 动 时 就 会 加 载 初 始 化 ActionServlet ,ActionServlet 从
struts-config.xml 文 件 中 读 取 配 置 信 息 , 把 它 们 存 放 到 各 种 配 置 对 象 , 例
如:Action 的映射信息存放在 ActionMapping 对象中 .
当 ActionServlet 接收到一个客户请求时 , 将执行如下流程 .
A. 检索和用户请求匹配的 ActionMapping 实例 , 如果不存在 , 就返回请求路径无
效信息 ;
B. 如果 ActionForm 实例不存在 , 就创建一个 ActionForm 对象 , 把客户提交的表
单数据保存到 ActionForm 对象中 ;
C. 根 据 配 置 信 息 决 定 是 否 需 要 表 单 验 证 . 如 果 需 要 验 证 , 就 调 用
ActionForm 的 validate() 方法 ;
D. 如 果 ActionForm 的 validate() 方 法 返 回 null 或 返 回 一 个 不 包 含
ActionMessage 的 ActionError 对象 , 就表示表单验证成功 ;
E. ActionServlet 根据 ActionMapping 所包含的映射信息决定将请求转发给哪
个 Action, 如果相应的 Action 实例不存在 , 就先创建这个实例 , 然后调用
Action 的 execute() 方法 ;
F. Action 的 execute() 方法 返回一个 ActionForward 对象 ,ActionServlet 再把
客户请求转发给 ActionForward 对象指向的 JSP 组件 ;
G. ActionForward 对象指向 JSP 组件 生成动态网页 , 返回给客户
2. ActionServlet 在 Struts 框架中的总体作用功能是什么
A. 在 web应用启动时 ActionServlet 从 struts-config.xml 文件中读取配置信息 ,
把它们存放到各种配置对象,例如 :Action 的映射信息存放在 ActionMapping
对象中。
B. ActionServlet 是整个 struts 框架的骨干,也是主要的控制部件,它能够处
理客户 request 并且决定由哪个 Action 处理客户 request 。它象一个 Action
工厂,创建基于客户 request 请求的 Action 类的对象
( ActionServlet 是 struts 框架的总控制器,处理客户端请求并决定由那个 action 处
3/37
理请求。 )
3. Struts 框架的后缀名一般为 .do ,后缀后能不能更改, 如果能更改的话, 如何进行更改
后缀名
可以更改,在 web.xml 中把
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
中的 url-pattern 值改成你想要的后缀名就可以了。
4. 如何在 Struts-config.xml 中配置数据源以及获取数据源
<data-sources>
<data-sourcekey="SQL" type="org.apache.commons.dbcp.BasicDataSource">
<set-propertyproperty="driverClassName" value=" 相应的驱动名 " />
<set-property property="url" value=" 相应数据库的 url" />
<set-property property="username" value=" 用户名 " />
<set-property property="password" value=" 密码 " />
</data-source>
</data-sources>
Key 绑定在 ServletContext 上的 DataSource 实例的索引键 ,若不设定
则缺省为 Action.DATA_SOURCE_KEY,如果在应用程序中有多于一个
的 DataSource ,则必须设置 Key 的值。
DriverClassName 所 用 的 JDBC 驱 动 类 ( 必 须 的 ) 如 :
com.microsoft.jdbc.sqlserver.SQLServerDriver
url 所 用 的 JDBC 的 URL( 必 须 的 ) 如 :
jdbc:microsoft:sqlserver://xg088:1433
MaxCount 同时打开的最大连结数,缺省值为 2( 可选的 )
MinCount 同时打开的最小连结数,缺省值为 1( 可选的 )
User 连结到数据库的用户名 ( 必须的 )
Password 连结到数据库的密码 ( 必须的 )
Description 关于 DataSource 的描述信息 ( 可选的 )
ReadOnly 如果设为 true ,则表示该连结是只读的,缺省为 false 。( 可选的 )
LoginTimeout 创建连结的最大允许时间,以秒为单位。 ( 可选的 )
AutoCommit 如果为 true ,则每次 execute 之后会强制回滚。缺省为 true 。( 可
4/37
选的 )
在 action 中只要继承了 org.apache.struts.actions.Action 及 子 类 ,即 可 通 过
getDataSource 方法获得数据源,代码如下:
// 多个数据源
DataSource datasource = this.getDataSource(httpServletRequest, "key 值");
// 单个数据源
DataSource datasource = this.getDataSource(httpServletRequest);
5. Struts-config.xml 文件 action 配置中的 attribute 属性和 name属性有什么区别
attribute :指定与当前 Action 相关联的 ActionForm Bean 在作用域里的名称
name:指定和当前 Acion 关联的 ActionForm Bean 的名字。该名称必须在 form-bean 元
素中定义过。
Struts 中的 Action 是不是线程安全的 ?如果不是有什么方式可以保证 Action 的线程安
全?如果是,说明原因
不是线程安全的。
为了确保 action 的线程安全 , 最好的办法就是 不要在 action 里定义实例变量
6. Action 的 Execute 方法有几个参数,这几个参数的具体作用是什么
一共有 4 个参数
ActionMapping mapping 获取映射
ActionForm form 获取表单
HttpServletRequest request 获得请求
HttpServletResponse response 获得响应
7. Action 的 Execute 方法的返回值是什么类型,有几种方式可以返回此类型
Action 的 Execute 方法的返回值的类型是 ActionForward ,返回此类型的方法有三种:
1、通过 new一个 ActionForward ,传入它要去的页面的路径;
2、通过 mapping.findForward() 的方法,通过 action 配置中的 forward 属性来找
到相应跳转的页面;
3、通过 mapping.getInputForward() 的方法,根据 action 配置中的 input 属性来
查找。
8. ActionFrom 中对于错误消息的存取是如何存取的,页面上面是如何显示 ActionFrom
中存放的出错消息
5/37
ActionForm 中的错误消息是 通过 ActionForm 中的 validate 方法来进行验证的 ,
validate() 方法 会传回 ActionErrors 对象,ActionErrors 可以储存 ActionError 的讯
息,这时 ActionServlet 就不会继续进行接下来的工作, 而是导回 structs-config.xml
所设定的位置,并 forward 至 input 属性所设定的位置 。
页面上是通过 struts 提供的 <html:errors> 标签来显示出错消息的。
9. 普通的 Action 对于消息的存取是如何实现的,页面上面是如何显示 Action 中存放的
消息
Action 对于消息的存取是通过 ActionMessages 来实现的,ActionMessages 以一个
HashMap存储 ActionMessage.Map 中的 key 是一个标识 , 其对应的 value 是一个 List 对
象, 所有的 ActionMessage 存储在 List 中. 也就是说 key 标识了一组 ActionMessage.
页面上是通过 struts 的<html:messages/> 的标签来显示的。
10. 普通的 ActionForm 和动态的 ActionForm 有什么区别, 在动态的 ActionForm 中如何设
定一个日期类型的属性
1. 动态的 ActionForm, 由 actionform 继承而来 , 之所以有这个东西是因为 , 它特点
是不需要 FormBean,而是在 struts-config.xml 中通过 form-property 来设置 form 的
表单字段属性 . 优势是减少在大型开发过程中 formbean 的增加而显得程序臃肿 , 给维护
和升级带来极大的不便 .
2. 需要注意的是 : 在 JSP或 Action 中访问动态 ActionForm 时与标准的 ActionFrom
有所不同 , 标准 ActionForm 为每个属性均提供了一对 getXXX()/setXXX() 方法 , 通过调
用 getxxx()/setxxx() 方法即可读取或设置 ActionForm 某个属性 . 而 DynaActionForm
则把所有的属性保存在一个 Map类对象中 , 只能通过 get() 和 put() 来存取其属性值 .
如, 从动态表单实例中读取会员的注册信息 :
String username=form.get("username").toString();
String password=form.get("password').toString();
String phone=form.get("phone").toString();
在动态的 ActionForm 中,要设置一个日期类型的属性,有 两种方式 :
1. 直接将数据类型设置为 java.sql.Date ,但是在页面上必须输入 yyyy-mm-dd 格
式的日期才能行。
2. 将类型设置为 java.lang.String ,不过后台需要转换 。
剩余36页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功