JAVA技术综合面试题目.docx
- 文档编号:7693779
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:14
- 大小:25.38KB
JAVA技术综合面试题目.docx
《JAVA技术综合面试题目.docx》由会员分享,可在线阅读,更多相关《JAVA技术综合面试题目.docx(14页珍藏版)》请在冰点文库上搜索。
JAVA技术综合面试题目
目录
1技术综合面试2
2Struts框架2
3Spring框架3
4AJAX技术4
5Hibernate框架5
6框架综合运用5
7J2EE初级题目6
8J2SE初级题目7
1Struts框架
1.Struts框架的整体运行流程
在WEB启动时就会加载并初始化ActionServlet。
ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中.当ActionServlet接收到一个客户请求时:
一、检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效。
二、如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交表单数据保存到ActionForm对象中。
三、根据配置决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法。
四、如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionError对象,就表示表单验证成功。
五、ActionServlet根据ActionMapping实例包含的映射决定将请求转发给哪个Action。
如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。
六、Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。
七、ActionForward对象指向的JSP组件生成动态网页,返回给客户。
2.ActionServlet在Struts框架中的总体作用功能是什么
ActionServlet是struts框架的总控制器,处理客户端请求并决定由那个action处理请求。
3.Struts框架的后缀名一般为.do,后缀名能不能更改,如果能更改的话,如何进行更改后缀名
后缀名可以更改。
通过修改web.xml中的
4.如何在Struts-config.xml中配置数据源以及获取数据源
在struts中配置oracle数据源需要四个包:
commons.pools,commons.dbcp,Class12.jar,struts_legacy.jar,把它加到WEB-INF下的lib目录下就可以了,然后这段写在struts-config.xml文件的标签
oracle: thin: @localhost: 1521: databaseName"/> 5.Struts-config.xml文件action配置中的attribute属性和name属性有什么区别 attribute: 制定与当前Action相关联的ActionFormBean在作用域里的名称 name: 指定和当前Acion关联的ActionFormBean的名字。 该名称必须在form-bean元素中定义过。 6.Struts中的Action是不是线程安全的? 如果不是有什么方式可以保证Action的线程安全? 如果是,说明原因 不是.为了确保action的线程安全,最好的办法就是不要在action里定义实例变量 7.Action的Execute方法有几个参数,这几个参数的具体作用是什么 ActionMappingmapping: Action里的配置属性信息 ActionFormform: 与该Action相关联的ActionForm对象 HttpServletRequestrequest: 该Action接收到的请求信息 HttpServletResponseresponse: 该Action返回的响应信息 8.Action的Execute方法的返回值是什么类型,有几种方式可以返回此类型 返回值类型: ActionForward 1).mapping.findForward(“Forward的名称”); 2).newActionForward(“jsp组件的路径”); 9.ActionFrom中对于错误消息的存取是如何存取的,页面上面是如何显示ActionFrom中存放的出错消息 10.普通的Action对于消息的存取是如何实现的,页面上面是如何显示Action中存放的消息 11.普通的ActionForm和动态的ActionForm有什么区别,在动态的ActionForm中如何设定一个日期类型的属性 12.动态ActionFrom是以什么方式存取表单控件的值的。 要使用动态ActionForm取得一个控件的值是如何取得 13.普通的Action与DispatchAction的区别是什么 14.Struts框架中常用的有HTML/Bean/Logic标签,这些标签的主要功能是什么 15.HTML标签中的name属性代表什么功能,为什么可以省略不写 16.Struts标签中name和property两个属性的作用和区别 17.请简述J2EE平台体系中标签的体系结构 18.请简述自定义标签的步骤 19.如何在自定义标签中获取ServletContext,HttpSession,HttpServletRequest这些JSP页面常见的对象 20.Servlet2.4版本中新增加了一个标签为简单标签,要实现简单标签的话,必须实现标签中的哪一个方法,该方法有没有返回值 21.Struts框架如何实现国际化的步骤 22.如何实现页面中HTML标签的初始值设置 23.Struts框架的综合运用开发过程中,一般会使用ActionForm和JavaBean,这两个Bean能不能通用? 如果不能的话请简述原因 24.如何操作Oracle表中CLOB和BLOB字段 2Spring框架 1.Spring框架分为哪七大模块,各模块的主要功能作用是什么 2.Spring框架中的三大核心思想是什么 3.IOC的概念以及在Spring容器中如何进行IOC的操作。 4.Spring容器是如何管理Bean的生命周期的(如Bean的初始化方法,Bean的销毁方法) 5.DI的概念以及在Spring框架注入有几种方式。 使用构造注入对象,必须要注意什么问题,当设值注入与构造注入同时存在时,执行的先后流程顺序 6.使用DI注入时,Property代表什么意思,如果property引用的是其他Bean的话,如何注入,如果引用是字符串的话,如何设置。 7.在Spring框架中获取连接池有几种方式。 当JNDI与DBCP同时存在时,会不会出现问题,如果不能同时存在的话,请说明原因 8.在使用Spring的JDBCTemplate操作数据时,必须要往模板中注入哪些对象,同时模板要不要手动关闭数据库连接 9.JdbcTemplate的QueryForList方法得到List集合,请问List集合中每一个对象为什么数据类型,在JSP页面使用EL表达式如何取值。 10.AOP的概念以及使用AOP机制有什么好处。 Java编程中实现AOP有几种方式 11.Spring框架中的事务处理有几种。 请分别阐述两者的区别 12.编程式事务的总接口是什么? 使用编程式事务需要用到哪几个Spring事务的核心类对象 13.Spring的声明式事务能不能为普通的类产生代理接口,能不能在代码中使用Try/Catch能捕获异常,如果不可以,请说明原因 14.使用TransactionProxyFactoryBean为Bean产生事务物理时,需要哪几个属性值的设置 3AJAX技术 1.什么是AJAX技术,为什么要使用AJAX 2.什么是XMLHttpRequest对象,以及如何在不同的浏览器创建XMLHttpRequest对象 3.AJAX在客户端时。 如何发送文本的GET和POST请求,以及如何接收服务端传送回来的文本数据 4.AJAX在客户端时如何发送XML数据,服务端如何接收XML数据以及解析。 服务端如何发送XML数据到客户端,客户端如何进行解析。 5.在AJAX中,如何解决文本与XML的发送与接收的编码与解码 4Hibernate框架 1.Hibernate框架的工作流程 2.Hibernate框架中的核心接口有哪些,这些接口的具体功能是什么 3.Hibernate中的Session对象表示什么? 它与Web程序中的Session是一样的机制吗 4.Hibernate.cfg.xml配置文件中,应该包含哪些具体的配置内容 5.简述Hibernate的主键机制,针对Oracle数据库,有几种主键机制可以适用 6.请简述Hibernate中cascade,inverse,constrained几个属性的区别 7.Hibernate有几种数据查询方式,这几种数据查询方式的优缺点 8.Hibernate中的延迟机制的原理,以及Hibernate中数据有几种延迟加载方式? 9.Hibernate中Load和Get两种方法查询数据的区别 10.Hibernate如何实现对象之间一对一的映射。 一对一的映射有几种方式 11.Hibernate如何实现对象之间的一对多映射。 并且如何对Set集合中的列表数据进行排序 12.Hibernate如何实现对象之间的多对多的映射 13.Hibernate框架中,如何实现对象数据之间的内连接操作 14.Hibernate框架中,如何实现对象数据这间的左外连接操作 15.如何在Hibernate中实现对数据的批量删除和批量更新 5框架综合运用 1.Struts框架中如何实现多配置文件的运用 org.apache.struts.action.ActionServlet /WEB-INF/struts-config_lxw.xml,/WEB-INF/struts-config_lsr.xml,/WEB-INF/struts-config_yck.xml,/WEB-INF/struts-config_wjl.xml 2.Struts框架与Spring框架的结合方式有几种,请简述每个方式的特点 3.Struts框架结合Spring框架时,Spring框架可以采用多配置文件,请问结合时,Spring的多配置文件有哪几种方式 4.普通的WEB工程(如Servlet)如何调用Spring中的Bean对象 5.Struts框架所对应的Action类的实例与Spring框架Action类的实例是如何关联的,以及在Action中要调用Spring中的业务接口,应如何注入 6.Spring框架结合Hibernate框架的方式有几种? 7.Spring框架中使用HibernateTemplate时,需要往HibernateTemplate注入哪些对象? 8.HibernateTemplate操作HQL语句时,如果HQL语句是包含中文字符的话,应如何处理中文问题 9.Struts,Spring,Hibernate在J2EE三层体系中运用过程中,是如何分工协作的 6J2EE初级题目 1.什么是J2EE平台架构,J2EE平台体系下面有哪些技术组件 J2EE平台架构: J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物 技术组件: HTML,CSS,javascript,servlet,jsp,javabean;Applet,EJB,JDBC,JMS,JMX,JNDI,JSF,JSP,JSTL,JTA,JavaMail,WS等等… 2.Servlet的生命周期流程 1).服务器加载Servlet 2).服务器创建Servlet实例 3).调用Servlet的init()方法 4).收到请求 5).调用Servlet的service()方法 6).将输出结果返回给客户端 7).Servlet等待下一个请求,若再次接收到请求跳到第4)步,否则到第8)步 8).Servlet调用destroy()方法,进行卸载 3.Servlet的Web.xml中的配置 … 4.什么是过滤器,过滤器的工作原理以及常用的过滤器使用场合 过滤器: 是实现了javax.servlet.Filter接口的java类 使用场合: 1).设置请求对象的字符集 2).权限控制 5.JSP有几大内建对象,这对内建对象的作用分别是什么 有9大内建对象: Page: 获取或设置当前JSP页面的对象 Request: 获取或设置当前用户请求 Session: 获取或设置当前用户的会话 Application: 获取或设置应用程序的信息 Out: 用于程序的输出 Response: 获取或设置当前返回给用户的响应 Config: 获取或设置JSP页面的配置 Execption: 获取或设置JSP页面产生的异常 PageContext: 是集大成者,可以获取该应用程序的所有对象 6.JSP有哪些动作元素,这些动作元素的作用分别是什么 include>: 包含文件 forward>: 导向到另一个资源 param>: 以键-值对的形式,为其他指令提供输入参数 plugin>: 插件指令 userBean>: 创建bean实例 setProperty>: 与useBean协作,目的将请求对象属性设置到bean对象中 getProperty>: 与useBean协作,获取bean对象的属性 7.JSP中动态INCLUDE与静态INCLUDE的区别 动态include: 语法: includepage="…"/> 发生时间: 请求期间 包含内容: 页面的输出 产生Servlet个数: 两个(主页面和被包含的页面都会成为独立的Servlet) 被包含页面可否设置影响主页面的响应报头: 不可以 被包含页面是否可以定义主页面使用的字段或方法: 不可以 被包含页面发生改变时时候需要更新主页面: 不需要 等同的Servlet代码: RequestDispatcher的include方法 静态include: 语法: <%@includefile=“…"%> 发生时间: 页面转换期间 包含内容: 文件的实际内容 产生Servlet个数: 一个(被包含的页面首先被插入到主页中,然后,得到的页面被转换成Servlet) 被包含页面可否设置影响主页面的响应报头: 可以 被包含页面是否可以定义主页面使用的字段或方法: 可以 被包含页面发生改变时时候需要更新主页面: 需要 等同的Servlet代码: 无 8.JSP页面的组成元素有哪些,这些元素的具体作用 注释元素: 用来为JSP页面进行注释 指令元素: 用来提供整个JSP网页相关的信息,并且用来设定JSP网页的相关属性 脚本元素(九大内建对象): 使开发者能直接将java代码嵌入JSP页面HTML标记中 动作元素: jsp页面的一些标记,通过解释转换成相应的java代码,达到某些功能 9.Servlet和JSP有哪些会话跟踪技术,请描述这几种会话跟踪技术的作用域范围 四种会话跟踪方式: 1.Session作用域范围: session 2.cookie: 作用域范围: request 3.隐藏表单域作用域范围: request 4.Url重写作用域范围: request 10.如何在JSP页面定义方法,在定义的方法内部能直接访问JSP的内置对象吗? 如果不能,使用何种途径可以访问 定义方式: <%publicvoidtest(){ }%> 11.请求和重定向有什么区别? JSP和Servlet的请求转发和重定向分别是如何实现的 请求转发: JSP: forwardpage=""/> Servlet: RequestDispatcher: forword(HttpServletRequest,HttpServletResponse); 1).请求转发发生在服务器端;一个web组件(如: servlet)接收到一个请求后,自身不做处理,而是转发后另一个web组件(如: servlet)处理;在服务端完成; 2).客户端地址栏地址不发生变化;两个web组件间共享request。 3).请求转发与重定相比: 请求转发相当于只是一个请求;效率更高 重定向: JSP: Servlet: HttpServletResponse: sendRedirect(Stringurl); 1).相当于在客户端浏览器地址栏中输入新地址,发送新请求;也就是说重定向发生在客户端。 2).地址栏发生变化;两个web组件间不共享request 12.JSP页面如何使用动作元素定义一个JavaBean。 以及如何对JavaBean实例中的属性进行设值和取值。 //定义userBean useBeanid=“loginBean”class=“…LoginInfoBean”> //设值 setPropertyname=“loginBean”property=“*”/> userBean> //取值 用户名: getPropertyname=“loginBean”property=“suser”/> 密码: getPropertyname=“loginBean”property=“spwd”/> 13.模式1和模式2的区别是什么,请简述两种模式的优点和缺点 模式1和模式2的本质区别在于处理用户请求的位置不同 模式1: 优点: 方便、简单 缺点: 将代码暴露在页面上,不安全且不好维护 模式2: 优点: 层次分明,分工明确,好维护 缺点: 业务逻辑较复杂 14.JSP和Servlet是如何实现MVC架构模式 Model: JavaBean View: JSP Controller: Servlet 15.JSTL是什么以及为什么要使用JSTL JSTL(JSPStandardTagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库 为了解决JSP开发的以下四个问题: 1).jsp维护难度增加; 2).出错提示不明确,不容易调试; 3).分工不明确;(即jsp开发者是美工,也是程序员); 4).最终增加程序的开发成本; 16.EL表达式中有哪些隐藏对象 pageContextPageContext实例对应于当前页面的处理 pageScope与页面作用域属性的名称和值相关联的Map类 requestScope与请求作用域属性的名称和值相关联的Map类 sessionScope与会话作用域属性的名称和值相关联的Map类 applicationScope与应用程序作用域属性的名称和值相关联的Map类 param按名称存储请求参数的主要值的Map类 paramValues将请求参数的所有值作为String数组存储的Map类 Header按名称存储请求头主要值的Map类 headerValues将请求头的所有值作为String数组存储的Map类 cookie按名称存储请求附带的cookie的Map类 initParam按名称存储Web应用程序上下文初始化参数的Map类 17.RequestScope.username与Param.username的区别是什么? RequestScope.username: 从request作用域中取username Param.username: 从参数中取username 18.JSTL和C: ForEach标签中,var,items,varStatus各自代表的含义是什么? Var: 每次循环的当前对象 Items: 要遍厉的对象 VarStatus: 运行状态的对象 19.如何在Tomcat中配置虚拟目录和连接池 /jn0809/WebService/WebRoot"> maxWait="2000"maxIdle="20"maxActive="100"username="ssh"password="ssh" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc: oracle: thin: @127.0.0.1: 1521: oracle"/> 20.什么是JNDI,以及如何使用JNDI来获取WEB容器中的连接池 JNDI(JavaNamingandDirectory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 技术 综合 面试 题目