1.Servlet API中forware()和redirect()的区别?
a、浏览器显示:
重定向会改变URL地址,请求转发不会改变URL地址。
b、资源共享:
重定向不可以资源共享,请求转发可以。
c、功能:
重定向可以用URL绝对路径访问其他Web服务器的资源,而请求转发只能在一个Web应用程序内进行资源转发,即服务器内部的一种操作。
d、效率:
重定向效率低,相当于再一次请求;请求转发效率相对较高,跳转仅发生在服务器端。
2.什么情况下调用doGet()和doPost()?
答:默认情况是调用doGet()方法,JSP页面中的Form表单的method属性设置为post的时候,调用的为doPost()方法;为get的时候,调用deGet()方法。
3.request.getParameter()和request.getAttribute()的区别?
答:
a、request.getParameter()获取的类型是String;
request.getAttribute()获取的类型是Object
b、request.getPrameter()获取的是POST/GET传递的参数值和URL中的参数;
request.getAttribute()获取的是对象容器中的数据值/对象
c、request.setAttribute()和request.getAttribute()可以发送、接收对象;
request.getParamter()只能接收字符串,官方不开放request.setParamter()(也就是没有这个方法)
setAttribute()和getAttribute()的传参原理:
setAttribute()是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另外一个页面时,
应用服务器会把这块内存拷贝到另一个页面所对应的那块内存中。这个就可以通过getAttribute()获取到相应的参数值或者对象。
4.JSP有哪些内置对象?作用分别是什么?
答:JSP一共有9个内置对象:
request:负责得到客户端请求的信息,对应类型:javax.servlet.http.HttpServletRequest
response:负责向客户端发出响应,对应类型:javax.servlet.http.HttpServletResponse
session:负责保存同一客户端一次会话过程中的一些信息,对应类型:javax.servlet.http.httpsession
out:负责管理对客户端的输出,对应类型:javax.serlvet.jsp.jspwriter
application:表示整个应用环境的信息,对应类型:javax.servlet.servletcontext
config:表示ServletConfig,对应类型:javax.servlet.servletconfig
exception:表示页面中发生的异常,可以通过它获得页面异常信息,对应类型:java.lang.exception
pagecontext:表示这个JSP页面上下文,对应类型:javax.servlet.jsp.pagecontext
page:表示当前JSP页面本身。
5.JSP有哪些动作?作用分别是什么?
答:JSP一共有以下6中基本动作
JSP:include (当页面被请求的时候引入一个文件)
JSP:forward (将请求转到另一个页面)
JSP:useBean (获得JavaBean的一个实例)
JSP:setProperty (设置JavaBean的属性)
JSP:getProperty (获得JavaBean的属性)
JSP:plugin (根据浏览器类型为Java插件生成object或者embed两种标记)