大学计算机专业课《jsp》期末复习重点(第四期)

本期给大家分享关于专业课JSP方面的期末复习重点,主要从选择题、填空题、简答题等题型的考点。关于期末划重点内容仅供参考,希望内容能够帮助你~

选择 20*1 填空15*1 简答5*5 程序阅读2*10 程序设计2*10

---------------------------------------------------------------------------------------------------------------------------------

1.URL中的localhost不可以用如下那些选项来代替( D )

A. 127.0.0.1    B. 本机的ip地址 C. 本机的计算机名   D. 任意一台主机名

2. (单选题, 15分)下列各选项中,说法错误的是( B )

A. 在MyEclipse的项目结构中,WEB-INF目录中的信息是不对外发布的

B. 用户新建的JSP页面可以放置于WEB-INF目录中

C. WEB-INF目录中的lib目录通常用于放置WEB应用所需要的一些.jar或者.zip文件,例如数据库驱动程序文件。

D. WEB-INF目录中的web.xml配置文件用于项目的配置,非常重要。

3.404错误可能是(  D )

A. 未部署web应用就访问响应的URL

B. URL地址输入错误

C. 被访问的目标页面放置于WEB-INF目录中

D. 以上都有可能

4. (单选题, 15分)假设MyJSP是一个web服务目录,那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式。( D )

A. http://127.0.0.1:8080/

B. http://127.0.0.1/MyJSPn/A.jsp

C. http://127.0.0.1:8080/MyJSP/index.jsp

D. http://127.0.0.1:8080/MyJSP/A.jsp

5. (多选题, 5分)关于JSP的注释,以下描述正确的是( AB  )

A. JSP的注释写在“<%--  --%>"中

B. JSP的注释不会发送到客户端

C. JSP的注释和HTML注释一样都会发送到客户端

D. JSP注释写在"<!--  -->"中

6.关于JSP表达式,下列说法错误的是( C  )

A. JSP表达式中不能用";"结束

B. 在JSP表达式中不能出现多条语句

C. JSP表达式里的内容一定是字符串类型,其中不能包含数字和日期

D. JSP表达式的作用是将其里面内容所运算的结果输出到客户端

7.关于JSP语法,以下说法错误的是( D   )

A. JSP程序段中可以加入任何数据的Java代码

B. Java程序代码需要写在"<%  %>"中

C. 定义全局变量和方法需要写在"<%! %>"中

D. 没有写在"<%  %>"中的代码,会被解释为HTML代码

8.关于page指令,以下说法错误的是(  A  )

A. 一个JSP页面只能有一条page指令,且只能由出现在JSP页面的顶部。

B. page指令的contentType属性不能指定两个不同的值。

C. 一个JSP页面可以有多条page指令。

D. 在page指令中,import属性中可以一次导入多个包,中间用逗号分隔。

9.关于include指令,下列说法错误的是(  C  )

A. include指令可以在JSP程序中插入多个外部文件,编译时会把相应的文件包含进主文件

B. 使用include指令时,次级页面不能和包含的页面具备有如<html>、<body>、等相同的代码,否则程序会报错。

C. 使用include指令时,被包含页面可以和包含页面都定义相同的变量。

D. include指令的file属性不能省略。

10.关于include动作,下列说法错误的是(  A  )

A. include动作和include指令差不多,都是在页面请求时包含一个指定的文件。

B. 使用include动作包含页面和被包含页面可以有相同的变量。

C. include动作又叫动态包含,当包含页面的内容发生变化时会实时更新。

D. 当include动作中不包含其他元素时,只能选用“<jsp:include page='文件'"/>格式,而不能选择"<jsp:include page='文件'>”格式。

11.关于JSP的forward动作,以下说法错误的是(  C  )

A.forward动作用于请求转发,实现从一个页面跳转到另一个页面。

B.forward动作被执行后,当前页面将不在执行,转而去执行指定的目标页面。

C.当forward动作被执行以后,地址栏会显示目标页面的地址。

D. 当forward动作被执行以后,地址栏依然显示转发前的页面的地址。

12、下面不属于JSP内置对象的是( D  )

A. out对象 B. response对象    C. application对象     D. include对象

13、在JSP页面中,能够完成输出操作的内置对象是(  A  )

A. Out B. response C. request  D. config

14、可以利用JSP动态改变客户端的响应,使用的语法是(  A  )

A. response.setHeader()    B. response.outHeader()

C. response.writeHeader()   D. response.handlerHeader()

15.在J2EE中,request对象的( D )方法可以获取页面请求中一个表单组件对应多个值的用户请求数据。

A. String  getParameter(String  name)

B. String[]  getParameter(String name)

C. String  getParameterValues(String name)

D. String[]  getParameterValues(String name)

16.使用get方式提交数据、接收数据时,处理中文最直接有效的方式是( A   )

A. request.setCharacterEncoding("utf-8")

B. response.setContentType("text/html; charset=utf-8")

C. String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk")

D. response.setCharacterEncoding("gbk")

17. (单选题, 5分)以下(  A  )可用于获取session属性userid的值

A. session.getAttribute("userid")

B. session.setAttribute("userid")

C. request.getParameter("userid")

D. request.getAttribute("userid")

18.session对象的( A   )方法用于设置会话的超时时间

A. session.setMaxInactiveInterval(30)

B. session.setMaxTime(30)

C. session.getMaxInactiveInterval()

D. session.setAttribute("time", 30)

19.重定向可以使用( A   )方法

A. response.sendRedirect("login.jsp")

B. request.sendRedirect("login.jsp")

C. <jsp:foward page="login.jsp"/>

D. <forward page="login.jsp"/>

20.(多选题, 5分)以下关于request对象的描述正确的是(  BCD  )

A. request对象主要用于获取客户端的参数,不能获取其他信息,如客户的ip地址、协议名称等。

B. request对象是JSP的内置对象,不用实例化,可以直接调用。

C. request对象代表客户端的请求,主要用来获取客户端的参数。

D. 利用request对象的getParameter()方法,既可以获取表单提交的参数,又可以获取浏览器地址栏URL中的参数。

21. (多选题, 5分)以下关于response对象的描述,正确的是(  ABC  )

A. 利用response对象的sendRedirect()方法可以强制重定向

B. 通常可以用response对象来设置服务器对客户端的响应方式

C. response.sendRedirect("refresh","5");表示客户端每隔5秒刷新一次

D. request代表客户端发出的请求,而response则表示服务器对客户端的响应

22.(多选题, 5分)以下关于重定向与转发,说法正确的是( BCD   )

A. 利用forward进行请求转发与利用sendRedirect()方法进行重定向一样,服务器访问目标地址,客户端浏览器地址栏会显示新的目标地址。

B. 利用forward进行转发,目标页面可以共享request范围的数据,而利用sendRedirect()方法进行重定向的目标页面不能共享request范围的数据。

C. response.sendRedirect()方法可以重定向到站外资源,而forward只能转发到本地web应用程序中的资源。

D. forward的效率更高,因为跳转仅发生在服务器内部。

23.下面关于sessionID的描述,正确的是( ABCD  )

A. 服务器给每一个用户都分配一个sessionID,用于识别访问该服务器其他网页的是不是同一个用户。

B. 利用session.getId()方法可以获取session的ID。

C. 用户长时间不动电脑,达到session的最大时效,session会失效。

D. 可以用session.invaidate()方法,强制使session对象无效。

24、在JSP中,以下是有关<jsp:setProperty>和<jsp:getProperty>标记的描述,正确的是( B  )。

A. <jsp:setProperty>和<jsp:getProperty>标记必须在<jsp:useBean>的开始标记和结束标记之间。

B. 这两个标记的name属性必须和<jsp:useBean>标记的id属性的值相对应。

C. <jsp:setProperty>和<jsp:getProperty>标记可以用于Bean中定义的所有属性选择和设置。

D. 这两个标记的name属性的值可以和<jsp:useBean>标记的id属性的值不同。

25、JavaBean的作用域按从大到小排列正确的是( D   )。

A. application       page       request         response

B. session        page          request           application

C. public        application        session           request

D. application          session          request           page

26.在JSP中,使用<jsp:useBean>动作可以将JavaBean嵌入JSP页面,对JavaBean的访问范围不能是(   C )。

A. Page     B. request     C. response    D. application

27、给定TheBean类,假设还没有创建TheBean类的实例,以下JSP标准动作语句( C   )能创建这个Bean的一个新实例,并把它存储在请求作用域。

A. <jsp:useBean name="myBean"  type="com.example.TheBean"/>

B. <jsp:takeBean name="myBean"  type="com.example.TheBean"/>

C. <jsp:useBean  id="myBean" class="com.example.TheBean"  scope="request"/>

D.<jsp:takeBean  id="myBean"  class="com.example.TheBean"  scope="request"/>

28、在JSP页面中使用<jsp:setProperty  name="bean的名字"  property="*"/>格式,利用表单参数为Bean属性赋值,property="*"格式要求Bean的属性名字( B   )。

A. 必须和表单参数类型一致

B. 必须和表单参数名称一一对应

C. 必须和表单参数数量一致

D. 名称不一定对应

29、(  C  )标记指定访问Servlet的路径

A. <Servlet-name>   B. <Servlet-class>  C. <url-pattern>   D. <context-param>

30、在编写Servlet时需要(  C  )

A. 继承Servlet

B. 实现HttpRequestServlet

C. 继承HttpServlet

D. 实现HttpRequest

31、给定一个Servlet的代码片段如下

Public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

________________________________________

out.println("hi kitty!");

out.close();

}

运行此Servlet时输出:hi  kitty!

则应在下划线处填充如下(    )段代码

A. PrintWriter  out = reponse.getWriter();

B. PrintWriter out = request.getWriter();

C. OutputStream out = response.getOutputStream();

D. OutputStream out = request.getWriter();

32、在Servlet里,能正确获取session的语句是(    )

A. HttpSession session = request.getSession(true);

B. HttpSession session = request.getHttpSession(true);

C. HttpSession session = response.getSession(true);

D. HttpSession session = response.getHttpSession(true);

33、Servlet中,HttpServletResponse的(  C  )方法用来把一个Http请求重定向到另外的URL。

A. SendURL(    )          B. redirectURL(    )

C. sendRedirect(    )     D. redirectResponse(    )

34、public void doPost(HttpServletRequest response, HttpServletResponse response)

throws ServletException, IOException{

        request.setAttribute("name", new Integer(100));

        response.sendRedirect("show.jsp");

}在show.jsp中,“<%= request.getAttribute("name")%>"的结果为(  D  )

A. 100      B. java.lang.Integer    C. Integer     D. null

35、Servlet接受请求时,会调用(  A  )方法

A. Service  B. doGet    C. doPost   D. init

26、阅读下面的代码片段:

RequestDispatcher dispatcher = resquest.getRequestDispatcher("a.jsp");

dispatcher.forward(request, response);

关于该段代码的作用,下列( B  )叙述是正确的。

A. 页面重定向到a.jsp页面

B. 将请求转发到a.jsp页面

C. 从a.jsp重定向到当前页面

D. 从a.jsp转发到当前页面

37、当一个servlet首次被请求的时候,服务器首先会调用(  D  )方法。

A. doGet(    )    B. doPost(    )   C. doInit(    )   D. init(    )

38、在访问Servlet时,在浏览器地址栏中输入的路径是在(  D  )地方配置的

A. <servlet-name/>

B. <servlet-mapping/>

C. <uri-pattern/>

D. <url-pattern/>

填空

JSP页面是通过在HTML中嵌入Java脚本语言来响应动态请求的,JSP文件由JSP指令、HTML代码、注释、JSP表达式和JSP脚本等元素组成。

同步函数的要素:synchronized关键字,这是声明同步方法的关键。它可以放在方法的返回类型之前。

简答题

1、重定向转发的方法、联系、区别

答:重定向和请求转发是Servlet处理完数据后进行页面跳转的两种主要方式。

重定向是指页面重新定位到某个新地址,之前的Request失效,进入一个新的Request,且跳转后浏览器地址栏内容将变为新的指定地址。重定向是通过HttpServletResponse对象的sendRedirect()来实现。

请求转发是指将请求再转发到另一页面,此过程依然在Request范围内,转发后浏览器地址栏内容不变。请求转发使用RequestDispatcher接口中的forward()方法来实现。

2、内置对象的主要方法名称(详细版解释见最后)

答:(1)out对象是一个输出流,用来向客户端输出数据。

①out.print()②out.println()

(2)request对象,客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。负责获取客户端的请求然后做出响应,它实现了HttpServletRequest接口类的实例。

①getParameter②setCharacterEncoding③setAttribute④getAttribude

(3)response对象,负责用于对用户的请求做出响应,它是HttpServletResponse类的实例。

①response.setContentType方法②采用response.sendRedirect(URLurl)方法③方法addHeader或 setHeader)

(4)session对象,用于保存同一客户一次会话过程中的一些信息。它是HttpSession类的实例。

①setAttribute②getAtibute ③getAttributeNames④getCreationTime()

⑤removeAttribute

(5)application对象,实现数据共享和存放全局变量,所有用户共享此对象。

①setAttribute②getAttibue③getAttributeNames()④removeAttribue

⑤getServletnfo()

3、bean的特点、优点、作用范围、在JSP页面中使用bean的方法

答:bean特点:

(1)可以实现代码的重复利用

(2)易编写、易维护、易使用

(3)可以在任何安装了Java运行环境的平台上使用,而不需要重新编译

优点:

(1)封装性:通过封装数据和相关的操作,JavaBean提供了更好的数据隐藏和封装性。  

(2)可重用性:JavaBean可以在多个应用程序或组件之间重用。

(3)易于维护和扩展:由于JavaBean的属性和操作都是明确的,因此它们更容易维护和扩展。

(4)符合MVC设计模式:在MVC(Model-View-Controller)设计模式中,JavaBean通常用作模型(Model),负责数据的存储和处理。

作用范围:

  1. 页面范围(Page Scope):Bean在单个JSP页面内有效。
  2. 请求范围(Request Scope):Bean在单个HTTP请求内有效,包括转发和包含。
  3. 会话范围(Session Scope):Bean在用户的整个会话期间内有效。
  4. 应用范围(Application Scope):Bean在整个Web应用程序内有效。

在JSP页面中使用bean的方法:

在JSP中使用JavaBean,<jsp:useBean>定义要应用的JavaBean,然后用<jsp:setProperty>来存储属性,用<jsp:getProperty>来提取存储的属性值。

4、servlet的生命期

(1)加载:当Web客户请求Servlet服务或当Web服务启动时,容器环境加载一个JavaServlet 类。

(2)创建:容器调用Servlet的构造函数来创建Servlet对象。这一步骤确保了每个Servlet实例的唯一性。

(3)初始化:调用init方法:容器调用Servlet对象的init()方法,完成初始化操作。这需要给init()方法传入一个SerletConfg对象,ServletConfg对象包含了初始化参数和容器环境的信息,并负责向 Serle传递数据,如果传递失败,则会发生ServletException异常,Servlet 将不能正常工作。

(4)处理请求

调用service方法:当客户端请求到达时,容器调用Servlet对象的service()方法。这个方法会根据请求方式(GET或POST)将请求分发到doGet()、doPost()等具体处理方法。

多线程处理:对于每个新的客户请求,容器都会创建一个新的线程来处理请求,这样保证了并发处理的效率。

根据请求数据,Servlet生成相应的HTTP响应,通过ServletResponse对象发送回客户端。

(5)卸载

调用destroy方法:当服务器关闭或Web应用卸载时,容器会先调用所有Servlet对象的destroy()方法,关闭所有打开的资源,并进行一些关闭前的处理。确保资源的有效回收和管理。

5、过滤器的作用,方法及其功能

主要作用

(1)拦截请求和响应:Servlet过滤器可以拦截客户端发送到服务器的请求以及服务器返回给客户端的响应。

(2)处理请求和响应数据:在请求到达目标Servlet或JSP页面之前,以及在响应发送回客户端之前,过滤器可以检查和修改请求和响应中的数据。

(3)实现通用的预处理和后期处理:过滤器可以用于实现诸如身份验证、日志记录、数据压缩、加密等通用的预处理和后期处理功能。

主要方法和功能

init(FilterConfig filterConfig): 这是过滤器的初始化方法,在过滤器创建时由Web容器调用一次。该方法通常用于读取配置文件、初始化资源等操作。

doFilter(ServletRequest request, ServletResponse response, FilterChain chain): 这是过滤器的核心方法,每个请求都会触发这个方法。在这个方法中,开发者可以对请求和响应进行处理,并通过调用chain.doFilter()方法将请求传递给下一个过滤器或目标资源(如Servlet或JSP页面)。

destroy(): 当过滤器即将结束其生命周期时,Web容器会调用这个方法。它常用于释放资源、清理操作等。

不确定题型:

1、page指令的常用属性
(1)language属性 JSP程序文件使用的语言

(2)import属性 JSP页面需要导入的包

(3)info属性 info=”text”用来设置JSP页面中文本信息

(4)pageEncoding属性 更改字符集

(5)contentType属性 发送到客户端的程序文件的MIME类型和jsp页面的字符编码

2、连接MySQL数据库的方法过程(可能为简答)

(1)添加 MySQL JDBC 驱动程序。将 MySQL JDBC 驱动程序添加到 Java 构建路径Web项目的WEB-INF/lib目录中。

(2)加载数据库驱动:使用Class.forName("com.mysql.cj.jdbc.Driver")来加载MySQL JDBC驱动类。这一步是必要的因为JDBC驱动需要注册自己到 DriverManager。

(3)创建数据库连接:连接字符串:指定要连接的数据库URL,格式为jdbc:mysql://[hostname]:[port]/[databaseName如jdbc:mysql://localhost:3306/test。

(4)获取连接对象:使用DriverManager.getConnection(url, username, password)方法获取Connection对象,这个对象代表了与数据库的物理连接。

(5)创建Statement对象

创建Statement:通过Connection对象的createStatement()方法创建一个Statement对象,用于发送SQL语句到数据库。

(6)执行SQL查询

执行查询:使用Statement对象的executeQuery或executeUpdate方法执行SQL查询或更新语句。查询结果可以通过ResultSet对象进行获取和处理。

(7)处理结果集

遍历结果集:从ResultSet中逐行读取数据,这通常在一个while循环中完成,使用next()方法移动到结果集的下一行。

3、注解类的种类及用法 :(可能为填空)

servlet 的注解@WebServlet 作用:起到配置文件的作用,等价于 在 web.xml 中配置 servlet 元素中的配置。

filter 的注解@WebFilter 作用:@WebFilter 注解可以用于声明一个过滤器,指定过滤器的名称、URL 模式、 执行顺序等信息。

4、格式化标签库的用法(可能是填空)

使用taglib指令导入格式化标签:

<%@ taglib prefix="fmt" uri=" http://java.sun.com/jsp/jst/fmt" %>

数字格式化输出:<fmt:formatNumber>

日期格式化输出:<fmt:formatDate>   

详细解释:

2、内置对象的主要方法名称
答:(1)out对象是一个输出流,用来向客户端输出数据。

①out.print(),用于各种数据的输出,输出完毕后不会换行。

②out.printn(),用于各种数据的输出,输出完毕结束当前行,下一个输出语句会在下一行开始输出。

(2)request对象,客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。负责获取客户端的请求然后做出响应,它实现了java.servlet.http.HttpServletRequest接口类的实例。

①getParameter:获得客户端传送给服务器name 参数的值,当传递给此函数的参数名没有实际参数与之对应时,则返回null。

②setCharacterEncoding: 使用request 对象的setCharacterEncoding()方法设置编码方式。

③setAttribute:设置名字为name 的request 参数的值,该值由Java.lang.Object 类型的 obit 指定。

④getAttribude(String name):获取request 对象 name 参数的值。

(3)response对象,负责用于对用户的请求做出响应,它是HttpServletResponse类的实例。

①response.setContentType(Strings)方法可以动态地改变page指令的contentType属性值,JSP引擎会按照新的MIME类型将JSP页面的输出结果返回给用户。

②采用response.sendRedirect(URLurl)方法将用户重新引导回到该表单的输人页面。

③response 对象可以使用方法addHeader(String head、Stringvalue)或 setHeader(String head、Sting value)动态添加新的响应头和头的值,

(4)session对象,用于保存同一客户一次会话过程中的一些信息。它是HttpSession类的实例。

  可以通过 URL重写来实现session对象的唯一性。

①setAttribute(Sting key、0bject obj),session对象可以调用该方法将参数 0bject 指定的对象obi添加到 session对象中,并为添加的对象指定一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。

②getAtibute(String key),获取session对象含有的关键字是key的对象。由于任何对象都可以添加到session对象中,因此用该方法取回对象时,应强制转化为原来的类型 。                        ③getAttributeNames( ),,session对象调用该方法产生一个枚举对象,该举对象使用nextElements()遍历session中的各个对象所对应的关键字。

④getCreationTime(),session对象调用该方法可以获取该对象创建的时间,单位是毫秒。

⑤removeAttribute(Stringname),session 对象调用该方法移除关键字 key 对应的对象。

(5)application对象,实现数据共享和存放全局变量,所有用户共享此对象。

①setAttribute(String key、0bject obj),application 对象可以调用该方法将参数 obj指定的对象添加到 application 对象中,并为添加的对象指定一个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。

②getAttibue(String key),获取 application 对象含有的关键字是 key的对象。由于任何对象都可以添加到application对象中,因此用该方法取回对象时,应强制转化为原来的类型。

③getAttributeNames(),application对象调用该方法产生一个枚举对象,该枚举对象使用nextElements()遍历 application 中的各个对象所对应的关键字。             

④removeAttribue(String key),从当前 application 对象中删除关键字是 key 的对象。

⑤getServletnfo(),application对象可以调用该方法获取 Servlet 编译器的当前版本的信息。

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值