Java web复习要点
来源:互联网 发布:河南科技学院网络教学 编辑:程序博客网 时间:2024/05/26 02:53
1.ServletConfig与ServletContext的区别?
每个Servlet都有一个ServletConfig对象,用于向Servlet传递Servlet初始化参数,通过其可以访问ServletContext。每个Web应用只有一个ServletContext,用于访问Web应用参数。
2.GET是幂等的POST是非幂等的。
3.form表单的method属性的默认值是GET
4.请求重定向(redirect)和请求分派(forward)的区别?
redirect浏览器会重新发送新的请求(浏览器一共发送了两个请求)response.sendRedirect("urlString");forward浏览器感觉不到(只发送一个请求)RequestDispatcher view = request.getRequestDispatcher("urlString");view.forward(request,response)。
5.Servlet中有3种属性?
上下文属性(ServletContext)(线程不安全的)、会话属性(HttpSession)(线程不安全的)和请求属性(ServletRequest)(线程安全的)。线程不安全时使用时,要对使用该类型对象的属性的所有方法进行加锁(添加、修改、删除)。
6.Servlet中的8个监听者?
ServletContextListener,ServletContextAttributeListener,HttpSessionListener,HttpSessionAttributeListener,HttpSessionBindingListener,HttpSessionActivationListener,ServletRequestListener,ServletRequestAttributeListener.
7.当浏览器禁止使用cookie的时候,必须保证对所有链接进行URL重写,response.encodeURL("urlString");重定向的时候也想使用一个会话的时候使用response.encodeRedirectURL("urlString");在JSP中使用JSTL标记的<c:URL>.
8.会话绑定监听者(HttpSessionBindingListener)或者会话激活监听者(HttpSessionAcitivationListener)不用在DD中配置,只有在相应的属性类中实现相应的监听接口的相应方法。
9.JSP中的9个隐式对象?
在Servlet中有的5个对象:(HttpServletRequest)request、(HttpServletResponse)response、(ServletConfig)config、(HttpSession)session、(ServletContext)application;和4JSP特有的对象:(JspWriter,其实也是response.getPrintWriter()得到的一个子类,带有缓冲功能)out、(JspException,只有错误页面才能使用该对象)exception、(Object)page、(PageContext,页面作用域的属性存储在该对象中,同时也封装了其它隐式对象)pageContext。
因此JSP中有4种属性分别是pageContext、request、session、application。
10.通常你不需要(也不关心)页面作用域(pageContext),除非在你开发定制标记。pageContext中有2组获取/设置属性的方法:pageContext.getAttribute(String)(获取pageContext中的属性);pageContext.getAttribute(String, int)(获取对象中的属性,其中int值为PAGESCOPE、REQUESTSCOPE、SESSIONSCOPE、APPLICATIONSCOPE)。pageContext还有查找属性的方法findAttribute(String)(从小范围查询起)。
11.可以配置和获取Servlet的初始化参数,同样也可以配置和获取JSP的初始化参数
1)、配置JSP初始化参数与配置Servlet初始化参数的区别是,把<servlet>标记中的<servlet-class>标记换成<jsp-file>标记(如<jsp-file>index.jsp</jsp-file>)。
2)、在JSP声明(<%! %>)中覆盖jspInit()方法(从中获取初始化参数)。
12.JSP中3中指令简介?
1)、page指令形如:<%@ page import="foo.*" session="false" %>。定义页面的特定的属性,如字符编码、页面响应的内容类型、以及这个页面是否需要隐式的会话对象。
2)、taglib指令形如:<%@ taglib tagdir="/WEB-INF/tags/cool" prefix="cool" %>。定义JSP可以使用的标记库
13.在JSP实际开发中不允许使用scriptlet、JSP声明和表达式,而是用EL表达式代替。
14.在JSP开发过程中,使用如下配置禁止在jsp页面中使用脚本元素(scriptlet、JSP声明、表达式)
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invaild>true</scripting-invaild>
</jsp-property-group>
</jsp-config>
15.常用的标准动作标记有?
<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>、<jsp:include>
16.EL表达式中可以是“.”和“[]”,他俩的区别是?
“.”可以操作Map和JavaBean;"[]"可以操作Map、JavaBean、List和数组。而且“[]”中没有引号的值会被容器计算还有“[]”可以嵌套。"[]"比“.”强大一些。
17.EL隐式对象有哪些?
1)、作用域属性的Map:pageScope、requestScope、sessionScope、applicationScope.
2)、请求参数的Map:param、paramValues.
3)、请求首部的Map:header、headerValues.
4)、请求cookie的Map:cookie.
5)、上下文初始化参数的Map:initParam.
6)、jsp中pageContext对象的引用,不是Map:pageContext.
17.重点:EL中的隐式对象与JSP隐式对象的区别?
除了pageContext(同JSP中的隐式对象是一样的)外,其它隐式对象都是Map对象并不是那个对象本身。举例:在JSP隐式对象中,request隐式对象是HttpServletRequest类型的对象;而EL表达式的requestSocpe对象是Map类型的对象(其中只存储了在request对象中放置的属性的键值对,如在request.setAttribute("person",person),则在该Map中就有一个键名为“person”的Person对象).
18.在EL中${firstThing.secondThing}中firstThing可以为?
firstThing可以为EL隐式对象和四个(页面、请求、会话、应用)作用域的属性。
19.既然EL会在4个作用域内查找为啥还需要4个特定作用域的隐式对象呢?
防止命名冲突
20.TLD(Tag Library Descriptor)的作用是什么?
对于一个EL函数,TLD提供了定义函数的Java类与调用函数JSP之间的一个映射。
21.重点:include指令(<%@ include file="Header.jsp"%>)和<jsp:include/>(<jsp:include page="Header.jsp" />)标准动作的区别?
include指令只去的被包含页面文件的内容,并在转换之前放在包含页面里;而<jsp:include>标准动作是一个运行时调用。具体的说如果使用include指令,这与你把被包含页面直接复制到包含页面一样。而include标准动作会在运行时插入被包含页面的响应,即容器根据页面include标准动作中的page属性创建一个RequestDispacher,并应用include()方法。所分派/包含的JSP真的同样的请求和响应在同一个线程中执行。总之,include指令在转换时发生;<jsp:include>标准动作在运行时发生。通常这两种元素包含扩展名为.jspf(jsp fregment)对页面.另外<jsp:include>标准动作还可以有体来定制包含的内容,使用<jsp:param name="subTitle" value="we ****">,在被包含的JSP页面使用EL来取值形如${param.subTitle}。
22.Filter的调用顺序会按照其在DD(web.xml)声明的先后顺序被容器调用。
每个Servlet都有一个ServletConfig对象,用于向Servlet传递Servlet初始化参数,通过其可以访问ServletContext。每个Web应用只有一个ServletContext,用于访问Web应用参数。
2.GET是幂等的POST是非幂等的。
3.form表单的method属性的默认值是GET
4.请求重定向(redirect)和请求分派(forward)的区别?
redirect浏览器会重新发送新的请求(浏览器一共发送了两个请求)response.sendRedirect("urlString");forward浏览器感觉不到(只发送一个请求)RequestDispatcher view = request.getRequestDispatcher("urlString");view.forward(request,response)。
5.Servlet中有3种属性?
上下文属性(ServletContext)(线程不安全的)、会话属性(HttpSession)(线程不安全的)和请求属性(ServletRequest)(线程安全的)。线程不安全时使用时,要对使用该类型对象的属性的所有方法进行加锁(添加、修改、删除)。
6.Servlet中的8个监听者?
ServletContextListener,ServletContextAttributeListener,HttpSessionListener,HttpSessionAttributeListener,HttpSessionBindingListener,HttpSessionActivationListener,ServletRequestListener,ServletRequestAttributeListener.
7.当浏览器禁止使用cookie的时候,必须保证对所有链接进行URL重写,response.encodeURL("urlString");重定向的时候也想使用一个会话的时候使用response.encodeRedirectURL("urlString");在JSP中使用JSTL标记的<c:URL>.
8.会话绑定监听者(HttpSessionBindingListener)或者会话激活监听者(HttpSessionAcitivationListener)不用在DD中配置,只有在相应的属性类中实现相应的监听接口的相应方法。
9.JSP中的9个隐式对象?
在Servlet中有的5个对象:(HttpServletRequest)request、(HttpServletResponse)response、(ServletConfig)config、(HttpSession)session、(ServletContext)application;和4JSP特有的对象:(JspWriter,其实也是response.getPrintWriter()得到的一个子类,带有缓冲功能)out、(JspException,只有错误页面才能使用该对象)exception、(Object)page、(PageContext,页面作用域的属性存储在该对象中,同时也封装了其它隐式对象)pageContext。
因此JSP中有4种属性分别是pageContext、request、session、application。
10.通常你不需要(也不关心)页面作用域(pageContext),除非在你开发定制标记。pageContext中有2组获取/设置属性的方法:pageContext.getAttribute(String)(获取pageContext中的属性);pageContext.getAttribute(String, int)(获取对象中的属性,其中int值为PAGESCOPE、REQUESTSCOPE、SESSIONSCOPE、APPLICATIONSCOPE)。pageContext还有查找属性的方法findAttribute(String)(从小范围查询起)。
11.可以配置和获取Servlet的初始化参数,同样也可以配置和获取JSP的初始化参数
1)、配置JSP初始化参数与配置Servlet初始化参数的区别是,把<servlet>标记中的<servlet-class>标记换成<jsp-file>标记(如<jsp-file>index.jsp</jsp-file>)。
2)、在JSP声明(<%! %>)中覆盖jspInit()方法(从中获取初始化参数)。
12.JSP中3中指令简介?
1)、page指令形如:<%@ page import="foo.*" session="false" %>。定义页面的特定的属性,如字符编码、页面响应的内容类型、以及这个页面是否需要隐式的会话对象。
2)、taglib指令形如:<%@ taglib tagdir="/WEB-INF/tags/cool" prefix="cool" %>。定义JSP可以使用的标记库
13.在JSP实际开发中不允许使用scriptlet、JSP声明和表达式,而是用EL表达式代替。
14.在JSP开发过程中,使用如下配置禁止在jsp页面中使用脚本元素(scriptlet、JSP声明、表达式)
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invaild>true</scripting-invaild>
</jsp-property-group>
</jsp-config>
15.常用的标准动作标记有?
<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty>、<jsp:include>
16.EL表达式中可以是“.”和“[]”,他俩的区别是?
“.”可以操作Map和JavaBean;"[]"可以操作Map、JavaBean、List和数组。而且“[]”中没有引号的值会被容器计算还有“[]”可以嵌套。"[]"比“.”强大一些。
17.EL隐式对象有哪些?
1)、作用域属性的Map:pageScope、requestScope、sessionScope、applicationScope.
2)、请求参数的Map:param、paramValues.
3)、请求首部的Map:header、headerValues.
4)、请求cookie的Map:cookie.
5)、上下文初始化参数的Map:initParam.
6)、jsp中pageContext对象的引用,不是Map:pageContext.
17.重点:EL中的隐式对象与JSP隐式对象的区别?
除了pageContext(同JSP中的隐式对象是一样的)外,其它隐式对象都是Map对象并不是那个对象本身。举例:在JSP隐式对象中,request隐式对象是HttpServletRequest类型的对象;而EL表达式的requestSocpe对象是Map类型的对象(其中只存储了在request对象中放置的属性的键值对,如在request.setAttribute("person",person),则在该Map中就有一个键名为“person”的Person对象).
18.在EL中${firstThing.secondThing}中firstThing可以为?
firstThing可以为EL隐式对象和四个(页面、请求、会话、应用)作用域的属性。
19.既然EL会在4个作用域内查找为啥还需要4个特定作用域的隐式对象呢?
防止命名冲突
20.TLD(Tag Library Descriptor)的作用是什么?
对于一个EL函数,TLD提供了定义函数的Java类与调用函数JSP之间的一个映射。
21.重点:include指令(<%@ include file="Header.jsp"%>)和<jsp:include/>(<jsp:include page="Header.jsp" />)标准动作的区别?
include指令只去的被包含页面文件的内容,并在转换之前放在包含页面里;而<jsp:include>标准动作是一个运行时调用。具体的说如果使用include指令,这与你把被包含页面直接复制到包含页面一样。而include标准动作会在运行时插入被包含页面的响应,即容器根据页面include标准动作中的page属性创建一个RequestDispacher,并应用include()方法。所分派/包含的JSP真的同样的请求和响应在同一个线程中执行。总之,include指令在转换时发生;<jsp:include>标准动作在运行时发生。通常这两种元素包含扩展名为.jspf(jsp fregment)对页面.另外<jsp:include>标准动作还可以有体来定制包含的内容,使用<jsp:param name="subTitle" value="we ****">,在被包含的JSP页面使用EL来取值形如${param.subTitle}。
22.Filter的调用顺序会按照其在DD(web.xml)声明的先后顺序被容器调用。
0 0
- Java web复习要点
- java继承复习要点总结
- Java基础编程要点 复习必备
- JAVA高级开发技术复习要点
- 复习要点
- 复习java web之Cookie_Session
- java web笔记----html复习
- (复习)java web jsp
- 【java-web开发】spring复习
- 【java-web框架】struts2复习
- 复习C要点
- 考研英国文学复习要点
- 《电子商务概论》复习要点
- 密码学基础复习要点
- 防病毒复习要点
- c++复习注意要点
- 数据结构复习要点
- C语言复习要点
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之四
- iOS 常用公共方法(一)
- Android 使用JmDNS查找和注册设备
- Android设计模式笔记-单例模式、策略模式
- Unity3d简单的资源管理器
- Java web复习要点
- 剑指offer题解 数字在排序数组中出现的次数
- iptables网页劫持重定向
- 第十六周上机实践——项目5-二进制文件浏览器
- 沟通的艺术——情绪:感觉、思考和沟通
- java WEB 配置文件的读取
- 1066. Root of AVL Tree
- 文档发布工具mkdocs
- 解决 Previous operation has not finished; run 'cleanup' if it was interrupted