1. jsp有哪些内置对象?作用分别是什么?
一共有9个内置对象
pageContext javax.servlet.jsp.pageContext
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext àthis.getServletContext()
config javax.serlvet.ServletConfig
exception java.lang.Throwable
page java.lang.Object
out javax.servlet.jsp.JspWriter
作用:
1、pageContext 表示页容器 àEL表达式、 标签 、上传
2、request 服务器端取得客户端的信息:头信息 、Cookie 、请求参数 ,最大用处在MVC设计模式上
3、response 服务器端回应客户端信息:Cookie、重定向
4、session 表示每一个用户,用于登录验证上
5、application 表示整个服务器
6、config 取得初始化参数,初始化参数在web.xml文件中配置
7、exception 表示的是错误页的处理操作
8、page 如同this一样,代表整个jsp页面自身
9、out 输出 ,但是尽量使用表达式输出
2. jsp有哪些动作?作用分别是什么?
jsp共有以下6中基本动作
:在页面被请求的时候包含一个文件
:寻找或者实例化一个javaBean
:设置javaBean的属性,通过反射调用方法
:取得某个javaBean的属性
:把请求转到一个新的页面
:插入Applet程序的代码
:用于传参数,和forward一起使用
3. jsp 中动态INCLUDE和静态INCLUDE 的区别?
动态INCLUDE 用动作实现:
如果包含的是动态页,则先编译之后再进行处理,它总是会检查所包含文件中的变化,并且可以带参数
静态INCLUDE用<%@ include %>伪码实现:
<%@ include file=”include.jsp” %> 直接将内容先包含后处理,它不会检查所包含的文件的变化,适用于包含静态页面
4. 两种跳转方式分别是什么?有什么区别?
客户端跳转:跳转之后地址栏不改变,执行完页面后不会转向还会回来,相当于函数调用,并且可以传递request属性,实际上是对RequestDispatcher接口的封装
服务器端跳转:response.sendRedirect(),跳转之后地址栏改变,完全转向新的页面,不会再回来,相当于go to 语句。
5. 请总结一下WEB开发中的会话跟踪实现
1、 Session也是最常用的一种
2、 Cookie
3、 地址重写
4、 隐藏域
6. 在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选哪些字符
(< > & “ ‘ 空格 乘号 除号 .........)
因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作
显示效果 符号说明 实体名表示 实体编号表示
空格符
< 小于号 < <
> 大于号 > >
& 符号& & &
“ 双引号 " "
C 版权符号 &169;
R 注册商标
× 乘号 × ×
÷ 除号 ÷ ÷
‘ 单引号
7. 说明Jsp中errorpage的作用域,应用范围
表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了异常,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误页的处理,但是简单的错误页基本上都是在Jsp的开发中使用的。要想进行错误页的设置,需要满足以下两个条件:
1. 在错误能够处理的页上的page指令中,增加:isErrorpage=”true”,表示可以处理错误
2. 在每一个页面指定errorpage,执行isErrorpage为true的页面。
如果现在希望能够配置一种全局的错误处理的话,则可以在Web.xml文件中进行配置
404
/errors.jsp
java.lang.NullpointerException
/errors.jsp
一旦出现错误之后,会自动跳转到指定的页面,但是这样的跳转,永远都是属于服务器端跳转