JavaEE部分面试题

1.jsp九大内置对象

  1. pageContext(相当是servlet的pageContext对象,作用是从当前上下文存取值,)值可以存入request等域中,存取的方法是
pageContext.setAttribute("key",value,域)
  1. request(“相当于servlet的request对象,它包含了请求头信息,也可以用来获取cookie”)

  2. session(“主要用来存放会话消息,”)

  3. application(“存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。”)
  4. response(“主要用于响应,提供了设置响应头,响应体,以及重定向等重要方法”)
  5. out(主要用来向页面输出信息)
  6. page(当前jsp的servlet示例)
  7. exception(显示异常)
  8. config(该对象用于存取servlet初始化参数)

2.Servlet的生命周期
当web项目载入servlet的时候调用init方法创建servlet,通过调用service方法实现,根据提交方法来调用不同的doxxx方法,结束servlet服务,调用servlet的destory方法结束,(比较常考,通常要求画图表示)

3、采用什么测试方法(是用工具测试?还是手动测试?)?
通常我们采用工具测试,使用debug,在使用dubug的时候主要就是使用快捷键调试程序,这样可以看清楚程序的运行各部分流程以及参数的值的传递情况,对于参数的传递与构造会展示的清清楚楚.那么在项目完成的时候可能还要做单元测试,这时候一般使用JUnit进行单元测试

4.简答对Struts认识?
strutsStruts一词来源于在建筑和旧式飞机中使用的支撑金属架,从词义中我们大概可以看出,Struts是一个事物(Web应用)的框架。用稍微专业一些的词汇来定义,Struts是MVC框架的一个实现。

struts有自己的控制器,可以很轻易的前端jsp页面结合,它默认使用的是ognl,里面有一些前端标签 ,不过通常开发中我们一般不会使用,同时提供了技术去实现试图层,

struts的核心是Controller,Controller的核心是ActionServlet,ActionServlet的核心是Struts-config.xml,Struts-config.xml集中了所有页面的导航定义。对于大型的WEB项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的

不过struts以及过时了,现在开发中我们通常会使用struts2,或者springMVC,

5、Hibernate如何查询数据库?
Hibernate查询数据库十分简单,hibernate查询通过配置文件xxx.hbm.xml来实现数据库和对象的映射,然后通过hibernate的查询语句来访问相应的数据库,还会利用hibernate的query构建sql或者hql语句进行操作,在构建sql语句的时候,sql语句字符串的写法和普通的sql语句的操作,但是构建HQL语句的时候,查找的字段都是所操作的映射对象的属性,查找也是从对象里面查找.主要难点就是在这个构建语句的地方的处理

6.谈一下项目采用什么框架来做(社区项目)?
现在写项目通常会采用MVC设置模式来做,MVC 分为模型层(service) 视图层(view) 控制层(controler) 模型层通常会使用JavaBean用来存储数据,通常使用现在的主流框架spring来做,然后视图层通常使用jsp,大多数情况都是使用EL或者OGNL来显示数据,controler层主要使用Action来调用service层来实现数据的封装与发送.在后台的处理一般使用三层架构模式,即dao层,service层以及现实层

  1. EJB与JAVABEAN的区别? (问了多次)
    答:相同点:
    1、都可以提供getter/setter方法
    2、都是可重用的组件
    3、都可以提供属性方法等
    4、通过组装都可以构建java系统
    不同点:
    1、javabean比ejb小(ejb比javabean复杂)
    2、javabean是开发组件,而ejb是部署组件

  2. JSP的内置属性有哪些?
    1.脚本元素
    声明
    作用 :为servlet声明成员变量,成员方法和内部类

<%!AttName%>

表达式:
作用,将对象输出到页面中

<%= Object%>

脚本c
作用 :嵌套java代码
<% xxxx %>

2)指令元素:
page指令
<%@ page Context = “xxx”%>
使用这个属性和其它属性通信,它对整个jsp产生一定影响

include指令 (静态导入或静态包含)
<%includ file = “xxx”%>
作用 ,可以将另一个页面的内容导入到当前jsp页面中 ,导入的内容可以是 jsp ,html 等,有点 效率高 缺点,被导入的jsp页面发生修改需要重新编译.

taglib指令
<%taglib url=”xx”%>
作用是 用于导入标签库

动作元素:jsp自带的元素
jsp:include 动态导入
语法

<jsp:include page="xxx" fresh="true">
//属性flash表示导入另一个页面内容之前缓冲区是否要刷新

作用:将一个jsp页面动态导入到当前jsp页面中
特点:被导入的页面内容在执行阶段生成并导入到调用页面,在翻译阶段没有生成导入页面的内容.
优点:被调用的页面内容发生变化,调用的jsp不必重新编绎
缺点,效率没有静态导入高

jsp:forward (“服务器内部跳转”)
作用,从当前jsp页面跳转去其它jsp页面
语法 <jsp:forward url = "">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值