jsp面试题大全

jsp面试题大全

jsp面试题大全
1.forward和sendRedirect的区别?
  forward:请求转发<jsp:forward .../>或RequestDispatcher.forward;跳转到新的页面URL不变;控制的转移完全在服务器上进行,不涉及网络传输。

2.jsp有哪些内置对象?作用分别是什么?
request:请求短信息httpservletRequest
response:响应端信息httpservletResponse
session:存储用户状态信息httpsession
application:servletContext,等同getServlet.Config().getServletContext()
out:jspWriter,数据流的标准输出
exception;异常信息
pageContext:PageContext,体重获取所有在网页中可被利用的隐含对象,并且可以管理它们的属性。
page:this,该页面产生的servlet

3.jsp有哪些动作?作用分别是什么?
6种基本动作
1,jsp:include:在页面被请求时引入一个文件
2,jsp:useBean:查找或实例化一个javaBean
3,jsp:setProperty:设置javaBean的属性
4,jsp:getProperty:输出javaBean的某个属性
5,jsp:forward:把请求转到新的页面
6,jsp:plugin:根据浏览器类型为java插件生成OBJECT或EMBED标记


4,jsp中动态include和静态include的区别?
静态include是jsp转译期间,被激活;始终生成一个servlet;被包含的页面更新后,需要更新主页面。<include file="" />

动态include是jsp请求期间被激活;会生成两个servlet;被包含的页面更新后,不需要更新主页面;可增加请求参数。<jsp:include path=""/>


5.jsp的执行过程?
1,客户端发出request请求
2,jsp容器将jsp转译成servlet的源代码
3,将产生的servlet的源代码经过编译后,加载到内存中、
4,把结果response响应道客户端

6.servlet的生命周期?
web容器加载servlet,生命周期开始。通过调用servlet的init方法惊醒servlet的初始化,通过调用service方法响应请求,根据请求的不同调用不同的do**方法,响应结束,web容器调用servlet的destroy方法。


7,什么情况下调用doGet(),doPost()?
由jsp页面的form的method属性决定,method为get时调用doGet,为post调用doPost。


8,jsp和servlet有哪些相同点和不同点?
jsp是servlet技术的扩展。本质上是servlet,jsp编译后是servlet。
不同点在于:servlet的应用逻辑是java文件中,没有和html分离开;
而jsp则是java代码和html组合成jsp文件。
servlet主要用于控制逻辑,而jsp侧重于表示。

9,四种作用域
page:代表与一个页面相关的对象和属性。静态include可以共享该对象和属性。
request:代表与某个请求相关的对象和属性。
session:代表与某个用户相关的对象和属性。
application:代表与整个web应用程序相关的对象和属性。


10,在web开发过程中经常遇到输出某种编码的字符,如:ISO-8859-1,如何输出特定编码方式的字符串?

String gbkStr="";
gbkStr = new String(str.getBytes("ISO-8859-1"),"GBK");

 

12,jsp中执行浏览器cache

response.setDateHeader("Expires",0);
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");

13,jsp中设置cookie
Cookie c = new Cookie("name","tomzhang");
response.addCookie(c);

14,jsp中删除cookie
c.setMaxAge(0);

15,jsp中如何停止jsp的执行

<%
    if(条件表达式){
 //dosomething
    }else{

 return;
    }
%>


16,如何获得当前的session数?
使用HttpSessionBindingListener监听器来跟踪。


17,getSession(true)和getSession(false)的区别
request.getSession(true);如果不存在会话就创建一个新的会话(如果想把数据写入到会话中)
request.getSession(false):如果不存在会话就返回null(如果只是想读取会话中的数据)


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值