java jsp面试题及答案_jsp和servlet面试题及答案 2018-05-11

1 JSP的内置对象有哪些?

request:request表示HttpServletRequest对象。取客户端表单域信息及cookie, header, 和session

session:表示请求的javax.servlet.http.HttpSession对象,session一个用户或者多个用户共享同一变量

application:表示javax.servlet..ServletContext对象,用来存放容器级的变量.

response:表示httpServletResponse对象,对客户端响应返回文本,并用来写cookie

out:向客户端打印HTML文本

page:表示从该页面产生的一个servlet实例

pagecontext:当前jsp页面的上下文环境,可以得到request,session,application等对象,在自定义标签中使用得多

config:表示javax.servlet.Httpconfig对象,用于存取servlet的初始化参数

exception:异常,当iserrorpage=true,产生一个exception对象,基类是javax.servlet.jsp.JspException类

2 Java web中有几种上下文

request,session,application

要么就是

ServletContext, SctionContext, ServletAction\context

3 PageContext和ServletContext有什么区别?Application,session,request的区别?

ServletContext是容器上下文,指当前的一个web应用的上下文

pageContext  javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.

application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。

session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。

request:请求作用域,就是客户端的一次请求.

4Jsp取出的结果集很大,如何实现分页?

5jsp页面之间对象传递的方法

传递方法有:page,request,session,application,其中cookie是保存在客户端的,是用来解决HTTP无状态问题。

6,getRequestDispatcher()与sendRedirect()的区别

response.sendRedirect("/a.jsp"):sendRedirect表示重定向,是在浏览器端运行的,传递的参数只能在url里,或者放在session里,无法使用request.setAttribute()传值,只适合无值跳转

request.getRequestDispatcher(/jsp路径或者servlet路径).forword(request,response),浏览器地址栏不变化,使用url中带parameter,session,request.setAttribute传值.

7jsp有哪些动作?作用分别是什么?

jsp:include在页面被请求的时候引入一个文件。

includ两种方法的实现 :

有两种实现方法,动态,静态。

动态:用于包含动态页面,并且可以随时检查页面的变化,采用jsp:include动作可以实现

静态,适合于包含静态页面,不检查页面的变化,采用include伪码实现

jsp:useBean寻找或者实例化一个javaBean

jsp:getProperty输出某个javaBean属性

jsp:setProperty设置某个javaBean属性

jsp:plugin根据浏览器类型为java插件生成标记

jsp:forward把请求转发到一个新的页面

8JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

(1)都是java类,jsp是servlet的扩展,jsp用于页面表现层servlet用于逻辑控制

(2)setvlet中没有内置对象,jsp中的内置对象都是必须通过HttpServletRequest对象HttpServletResponse对象及HttpServlet对象得到

(3).jsp是servlet的一种简化,使用jsp只需要完成程序员需用输出到客户端的内容,jsp中的java脚本如何镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个类的service方法用于生成对客户端的响应

9serverlet的生命周期及各阶段的作用

(1)初始化阶段:调用init()方法

(2)响应客户请求:调用service()方法

(3)终止:调用destroy()方法

10java web两种跳转方式分别是什么?有什么区别?

response.redirect("/url")

1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用传递参数。2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。

11cookie和session区别?

(1)cookie数据存放在客户的浏览器上,session数据放在服务器上

(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session

(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE

(4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

12举例说明session的使用情景.

session是用来保存用户信息,解决http协议无状态的问题,需要配合cookie使用

13怎么设置session的超时问题?

第一种方法:

HttpSession session = request.getSession(true);

session.setAttribute("user", user);

session.setMaxInactiveInterval(30);

注意:单位是秒,设置为0,-1表示session永不超时.

request.getSession(true)意思是:如果session存在,则返回该session,否则创建一个新的session.

request.getSession(false)意思是:如果session存在,则返回该session,否则返回null.

第二种方法:

在项目的web.xml配置文件中添加如下配置:

30

注意:单位是分,设置为0,-1表示永不超时.

第三种方法:

在tomcat的conf/web.xml配置文件中修改如下配置:

30

注意:单位是分,设置为0,-1表示永不超时.

14Tomcate如何配置web工程?

(1)、直接放到Webapps目录下

(2)、在server.xml中指定

15你在项目中用到了xml技术的哪些方面?如何实现的?

用到了数据存贮,信息配置两方面;在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络

传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参

数都存贮在XML文件中。

16J2EE是技术还是平台还是框架?

是面向企业应用的平台

17你用过哪些服务器?怎么指定内存的大小?

第一种方法:

Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:

JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'

需要把这个两个参数值调大。例如:

JAVA_OPTS='-Xms256m -Xmx512m'

表示初始化内存为256MB,可以使用的最大内存为512MB。

第二种方法: 环境变量中设     变量名:JAVA_OPTS     变量值:-Xms512m   -Xmx512m

第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:打开tomcatHome//bin//tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initial memory pool和Maximum memory pool.Initial memory pool这个就是初始化设置的内存的大小。Maximum memory pool这个是最大内存的大小 设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了

jsp三大指令

(1)page指令

(2)include指令

当多个JSP页面出现相同代码时,可以单独抽取出来这部分代码用include引入。

(3)taglib指令

配置引入Jsp的Jar

JSP的三大常用标签详解-------include、forward、param

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值