- 1. 以下关于JSP描述正确的是()
- 2. 在JavaWeb应用中,MVC设计模式中的V可以由()充当
- 3. 在JSP中,哪个指令用来声明JSP欲使用的标签库()
- 4. Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是()
- 5. 以下关于jsp标签描述正确的是()
- 6. 在jsp中,下列表达式正确的是()
- 7. JSP表达式语言可用于在网页上生成动态的内容并代替JSP元素,JSP表达式语言的语法是()
- 8. 以下el语法正确的是()
- 9. 在哪一个文件中描述了jsp中引入的标签库信息
- 10. 关于jstl中提供的标签以下描述不正确的是()
- 11. 在JSTL的达代标签
的使用中,哪个属性用于指定要遍历的对象集合() - 12. 以下哪一个不是jsp的内置对象()
- 13. 以下哪一个不是request对象的方法()
- 14. JSP提供了一个可以在多个请求之间持续有效的内置对象(),该对象与浏览器窗口一一对应
- 15. 在Java Web 应用中,下面关于HttpSession的说法正确的是()
- 16. 在Java Web开发中,不同的客户端需要共享数据,则数据应该存储在()中
- 17. 文件上传时,jsp网页表单
- 18. 写出至少5个request对象常用的方法
- 19. 简述请求-响应时常见的中文编码处理
如:请求时参数有中文,响应的内容有中文等。 - 20. 简述浏览器请求.html和.jsp资源时的服务器内部处理过程
- 21. 简述request,session,application 三个作用域数据存储的特点
- 22. 简述请求转发与请求重定向的特点
1. 以下关于JSP描述正确的是()
○A. 它是建立在Servlet规范之上的动态网页开发技术
○B. 它的代码由html代码与java代码组成
○C. JSP中html代码实现网页中静态内容显示,java代码实现网页中动态内容的组装
●D. 以上都正确
2. 在JavaWeb应用中,MVC设计模式中的V可以由()充当
○A. JSP
○B. HTML
○C. SERVLET
●D. 以上都可以
3. 在JSP中,哪个指令用来声明JSP欲使用的标签库()
○A. <%@ page %>
●B. <%@ taglib %>
○C. <%@ include %>
○D. <%@ import %>
4. Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是()
○A. 作用于整个JSP页面。
○B. 可以在一个页面中使用多个指令。
○C. 为增强程序的可读性,建议将指令放在JSP文件的开头,但不是必须的。
●D. 指令中的属性只能出现一次。
5. 以下关于jsp标签描述正确的是()
○A. Jsp文件中可以使用<% %> 声明方法
●B. Jsp文件中可以使用<%! %> 声明方法
○C. Jsp文件中可以使用<%! %> 调用方法
○D. 以上都正确。
6. 在jsp中,下列表达式正确的是()
○A. <% public String s=”hello world” ;%>
○B. <%=”hello world” ;%>
●C. <%=”hello world”%>
○D. 以上都正确。
7. JSP表达式语言可用于在网页上生成动态的内容并代替JSP元素,JSP表达式语言的语法是()
○A. {EL expresion}
●B. ${EL expresion}
○C. @{EL expresion}
○D. #{EL expresion}
8. 以下el语法正确的是()
○A. ${param.uname.length()}
○B. ${10*10 ne 10}
○C. ${requestScope.id == sessionScope.id}
●D. 以上语法都正确
9. 在哪一个文件中描述了jsp中引入的标签库信息
○A. xml
●B. tld
○C. txt
○D. jsp
10. 关于jstl中提供的标签以下描述不正确的是()
○A.
○B.
●C.
○D.
11. 在JSTL的达代标签的使用中,哪个属性用于指定要遍历的对象集合()
○A. var
●B. items
○C. value
○D. varStatus
12. 以下哪一个不是jsp的内置对象()
○A. out
○B. application
●C. servletContext
○D. exception
13. 以下哪一个不是request对象的方法()
○A. getParameter()
○B. getRequestDispatcher()
○C. getAttribute()
●D. forward()
14. JSP提供了一个可以在多个请求之间持续有效的内置对象(),该对象与浏览器窗口一一对应
○A. request
○B. response
●C. session
○D. application
答案解析:
共享。
15. 在Java Web 应用中,下面关于HttpSession的说法正确的是()
●A. Servlet容器负责创建HttpSession对象
○B. 浏览器负责创建HttpSession对象
○C. 浏览器负责为HttpSession分配唯一的ID
○D. HttpSession对象的ID值,由程序员进行分配
16. 在Java Web开发中,不同的客户端需要共享数据,则数据应该存储在()中
○A. session
●B. application
○C. request
○D. response
17. 文件上传时,jsp网页表单
○A.
●B.
○C.
○D.
18. 写出至少5个request对象常用的方法
答案解析:
getParameter(‘uname”) 获取单一请求参数
getParameterValues(“hobby”) 获得一组同名请求参数
setCharacterEncoding(“utf-8”) 设置请求参数的中文编码
getSession() 获得Session
getRequestDispatcher() 获得转发对象
setAttribute() 转发前设置携带的数据
getAttribute() 获得转发携带的数据
getRequestURL() 获得请求全路径 http://localhost:8080/atm/login.jsp
getRequestURI() 获得请求相对路径 /atm/login.jsp
getContextPath() 获得请求工程名 /atm
getServletPath() 获得请求名 /login.jsp
getMethod() 获得请求方式 GET 或 POST
getServletContext() 获得servlet上下文对象,可以全局共享数据
getCookies() 获得请求携带的cookie信息
解析: 不要死记硬背,要通过之前的程序编码,先尝试记忆有哪些应用操作(文字),在尝试记忆对应的编码,可以通过多编码来增强记忆。
19. 简述请求-响应时常见的中文编码处理
如:请求时参数有中文,响应的内容有中文等。
答案解析:
前提: 确保整个程序的编码格式统一。
Idea设置程序中(文件)的中文编码
html网页需要设置中文编码
jsp 网页需要设置中文编码 <%@ page pageEncoding=”utf-8” %>
请求:
post方式请求,需要在java代码获取参数前使用
request.setCharacterEncoding(“utf-8”)方法设置中文编码
get方式请求,早先需要在tomcat的系统文件中配置,tomcat7+ 默认支持中文
响应:
间接响应(转发,重定向),设置网页文件的编码即可。
直接响应
方式1: response.setCharacterEncoding(“utf-8”)
要保证与浏览器默认编码一致
浏览器默认编码GBK(不绝对)
方式2: response.setContextType(“text/html;charset=utf-8”)
设置响应内容的格式,同时设置中文编码。
解析: 自己总结一下其他的中文编码处理,比如:数据库中文处理
20. 简述浏览器请求.html和.jsp资源时的服务器内部处理过程
答案解析:
浏览器发送.html请求到服务器
服务器参考自定义web.xml,没有找到对应.html的处理
服务器再参考自带的web.xml,找到DefaultServlet
DefaultServlet根据请求路径,读取资源内容,并直接响应给浏览器
浏览器发送.jsp请求到服务器
服务器参考自定义web.xml,没有找到对应.jsp的处理
服务器再参考自带的web.xml,找到JspServlet
JspServlet根据请求路径,读取jsp资源内容,生成.java文件,类继承HttpServlet
将java代码部分写入.java文件
将html代码部分拼入.java文件
编译,访问运行
运行jsp文件生成的servlet中,将拼装后的动态数据直接响应给浏览器
解析: 以上都是服务器内部的操作,无论是否了解,都不影响编码和使用。
但如果能更好的了解底层过程,会有助于相关知识的学习和理解。
自己再多总结一些关于DefaultServlet和JspServlet相关的知识内容。
21. 简述request,session,application 三个作用域数据存储的特点
答案解析:
Request对象是HttpServletRequest类型
用来存储一次浏览器请求过程中的数据
浏览器每请求一次服务器,就会创建一个request对象。
Request对象中的数据只在一次请求-响应过程中可用。
数据可以是从浏览器传递过来的,使用getParameter方法获取
数据可以是过程中后加入的,使用setAttribute存,使用getAttribute取。
一次浏览器请求可以在程序内部多次转发,使用同一个request对象。
所以在转发的多个servlet中,request数据共享。
Session对象是HttpSession类型
用来存储一次会话(一个浏览器的多次连续请求)过程中的数据。
浏览器第一次请求服务器时会产生session
通过cookie+sessionId实现后续请求传递相同的sessionId
从而获得相同的session
Session的数据可以在浏览器请求的多个servlet中共享
使用setAtrribute存数据,使用getAttribute取数据。
Application对象的类型是ServletContext
存储的数据在服务器运行期间都有效,并且所有浏览器用户共享
可以使用setAttribute和getAttribute设置和获取全局信息
也可以在web.xml中通过
使用getInitParameter()获得全局初始化参数
22. 简述请求转发与请求重定向的特点
答案解析:
forward(转发) redirect(重定向)
RequestDispatcher类 HttpServletResponse类
rd.forward(req,resp); response.sendRedirect(“path”);
转发是在服务器内部完成 重定向是服务器告知浏览器
浏览器不知道 让浏览器重新再发一个请求
服务器内部传递req resp 服务器需要解析新的请求 获得新的req resp
最终的展示可以获取请求的信息 刚才的req没有了 刚才的参数获取不到
(一次请求) (两次请求)
转发的时候浏览器URL不会改变 重定向的时候浏览器的URL会发生改变
