jsp程序设计

时间:2024-03-01 10:01:45

exer0313

3-1 JSP页面由哪些元素构成?
主要由指令标识、脚本标识、jsp注释和动作标识构成。
3-2 JSP中主要包含哪几种指令标识?它们的作用及语法格式是什么?
1、page指令,定义在jsp范围内有效的属性,格式为<%@page attr1="value1" attr2="value2"...%>
2、include指令,用于在当前页面的当前位置嵌入其他的文件,如果嵌入的文件含有可执行代码,
则显示代码执行后的结果。格式为<%@include file="文件的绝对路径或相对路径"%>
3、taglib指令,定义一个标签库以及其自定义标签的前缀,格式为<%@taglib uri="taguri" prefix="tagprefix"%>
pre
3-3 JSP中的脚本标识包含哪些元素?它们的作用及语法格式是什么?
脚本标识包含三种元素:声明标识、jsp表达式、脚本程序
(1)jsp表达式用于向页面中输出信息,格式为<%=变量或可以返回值得方法或java表达式%>
(2)声明标识可以在页面中声明变量或方法,格式为<%!声明变量或方法的代码%>
(3) 脚本程序中可以定义变量、调用方法和进行各种表达式运算,每行语句后以分号结尾,
格式为<% java代码 %>
3-6 page指令中的哪个属性可多次出现:(C)
(A)contentType (B)extends
(C)import (D)不存在这样的属性
3-7 以下哪些属性是include指令所具有的:(B)
(A)page (B)file
(C)contentType (D)prefix

3-8 下列选项哪些是正确的JSP表达式语法格式:(D)
(A)<%String name="YXQ"%> (B)<%String name="您好";%>
(C)<%="您好";%> (D)<%="YXQ"%>

exer0320

一. JSP中常用的动作标识有哪些?作用分别是什么?
1、jsp:include:在页面被请求的时候引入一个文件,格式为<jsp:include page=""/>
2、jsp:useBean:寻找或者实例化一个JavaBean。
3、jsp:setProperty:设置JavaBean的属性。
4、jsp:getProperty:获取某个JavaBean的属性。
5、jsp:forward:把请求转发到一个新的页面。

二。选择题
1.在JSP中,要定义一个方法,需要用到以下(C)元素。
a) <%= %> b) <% %>
c) <%! %> d) <%@ %>

2 以下动作标识用来实现页面跳转的是:(C)
(A)<jsp:include> (B)<jsp:useBean>
(C)<jsp:forward> (D)<jsp:plugin>

3. 在JSP中,page指令的(B)属性用来引入需要的包或类。
a) extends b) import
c) languge d) contentType

4.在JSP中,只有一行代码:<%=’A’+’B’%>,运行将输出(C)。
a) A+B b) AB
c) 131 d) 错误信息,因为表达式是错误的

5.在JSP中,(A)动作用于将请求转发给其他JSP页面。
a) forward
b) include
c) useBean
d) setProperty


6.在J2EE中,在一个JSP文件中,有表达式<%=2+3 %>,它将输出(B)。
a) 2+3
b) 5
c) 23
d) 不会输出,因为表达式是错误的


7. 给定JSP程序源码如下,可以在下划线处插入并且能够正确输出 WELCOME,JACK 的语句是(bd)。
<html>
<body>
<% String name="JACK"; %>
WELCOME,______
</body>
</html>
a) name
b) <%=name%>
c) out.println(name);
d) <% out.println(name); %>

 

8.给定JSP程序源码如下,该JSP运行后输出的结果是(d)。
<html>
<% int count =1;%> Count: <% ++count; %>
</html>
a) Count:1
b) Count:2
c) 1:2
d) Count:

 

9.给定JSP程序源码如下:
<html>
<% int count =1;%> _______
</html>
以下(d)语句可以在下划线处插入,并且运行后输出结果是:1。
a) <%=++count %>
b) <% ++count; %>
c) <% count++; %>
d) <% =count++ %>

10.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D)
A. <%@ page %>作用于整个JSP页面。
B. 可以在一个页面中使用多个<%@ page %>指令。
C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D. <%@ page %>指令中的属性只能出现一次。

exer0327

1. JSP提供的内置对象有哪些?作用分别是什么?
1、page对象,代表jsp页面对应的Servlet类实例。
2、request对象,提供对http请求数据的访问。
3、session对象,保存服务器与客户端之间需要保存的数据,浏览器关闭时,session对象消失。
4、application对象,代表应用程序上下文,可以保存所有用户共享的信息。
5、out对象,提供对输出流的访问,用于在网页中输出数据。
6、response对象,用于向客户端输入数据。
7、config对象,允许将初始化数据传递给一个jsp页面。
8、pageContext对象,jsp页面本身的上下文,提供了一组方法管理具有不同作用域的属性。
9、exception对象,页面的isErrorPage属性为true才能访问exception对象,exception对象保存异常数据。

2.如果用户长时间不操作session对象,用户的session对象会消失吗?
若时间超过session的有效期,则jsp容器将撤销session对象绑定的所有属性。

3. 用户关闭浏览器后,用户的session会立即消失吗?
关闭浏览器后session会立即消失。

4.如何延长session的过期时间?
可以使用setMaxInactiveInterval(int interval)方法设置超时时间

5.session对象与application对象的区别有哪些?
session对象与用户会话关联,不同用户的session对象不同,但所有用户共享一个application对象。

exer0403

1.如何重定向网页?
使用response对象的sendRedirect(String uri)方法可以重定向网页到uri中,uri可以使用相对URL。
2. 什么是JavaBean?使用JavaBean的优点是什么?
JavaBean组件就是利用Java语言编写的组件,它好比一个封装好的容器,使用者并不知道其内部是如何构造的,
但它却具有适应用户要求的功能,每个JavaBean都实现了一个特定的功能,通过合理地组织不同功能的JavaBean,
可以快速生成一个全新的应用程序。
优点:使用JavaBean的最大优点就在于它可以提高代码的重用性。

3.按功能JavaBean可分为哪几种?在JSP中最为常用的是哪一种?
按功能可分为可视化javabean和不可视javabean,常用的是不可视javabean。

4.分别介绍值JavaBean与工具JavaBean的作用。
值javabean要严格遵循javabean的命名规范,通常用来封装表单数据,作为信息的容器。
工具javabean可以不遵循javabean规范,通常用于封装业务逻辑和数据操作等,工具javabean可以
实现业务逻辑与页面显示的分离,提高了代码的可读性与易维护性。

exer0410

1.JavaBean具有哪几种属性?在JSP中比较常用的是哪些属性?
简单属性、索引属性、绑定属性、约束属性。
最常用的为简单属性。
2.一个标准的JavaBean需要遵循的规范有哪些?
1、实现java.io.Serializable接口。
2、是一个公共类。
3、类中存在一个无参构造函数。
4、提供相应的setXxx()与getXxx()来存取类中的属性,Xxx为类中的属性。
3.下列选择项中不属于JDBC基本功能的是(D)。
A.与数据库建立连接 B.提交SQL语句
C.处理查询结果 D.数据库维护管理
4.JSP页面经过编译之后创建一个(B)。
A.applet B.severlet C.application D.exe文件
5.以下对象中不是JSP内置对象的是(D)。
A.request B.session C.application D.bean
6.Tomcat的默认端口号是____8080________。
7.JSP的运行环境包括______Web浏览器、Web服务器、JDK开发工具包以及数据库_________。
8.JSP程序的开发模式包括 jsp+javabean编程、jsp+servlet+javabean编程、mvc模式。

exer0417

1.关于转发和重定向的描述错误的语句是(C)。
A.重定向是在客户端发生的作用,通过请求重新的地址实现页面转向
B.使用转发时由于是服务器内部控制权的转移,因而地址栏中的URL没有变化
C. 转发与重定向都可以实现在页面跳转,因为没有区别
D. 使用重定向时可以在地址栏中看到转向后的URL

2.下列能够执行带参数的SQL语句的对象是(B)。
A.Statement
B.PreparedsStatement
C.CallStatement
D.Connection


3.简述JDBC处理数据库的基本步骤。
1.加载jdbc驱动程序
2.创建数据库连接
3.执行sql语句
4.获取查询结果
5.关闭连接

4.写出SQL Server 2005以后版本数据库的驱动及连接本地机器上的数据库student的URL地址。

Connection conn=
DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabasesName=student","sa","");

exer0424

1.在JavaEE中,test.jsp文件中有如下一行代码:
<jsp:useBean id=”user” scope=”_____” class=”com.UserBean”/>
要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入(c)。
a) page b) request
c) session d) application


2. 在JavaEE中,以下不是JSP隐式对象的是(b)。
a) request b) context
c) application d) out

3 Jsp中,response的(c)方法用来把一个Http请求重定向到另外的URL。
a) sendURL(c) b) redirectURL()
c) sendRedirect() d) redirectResponse()

4. 给定java程序User.java,代码如下 :
package user;
public class User{
private String password;
private String loginName;
public String getLoginName(){
return loginName;
}
public String getPassword(){
return password;
}
public void setLoginName(String loginName){
this.loginName=loginName;
}
public void setPassword(String password){
this.password=password;
}
}
给定user.jsp,代码片断如下:
____________
loginName: <jsp:getProperty name=”user” property=”loginName”/>
password: <jsp:getProperty name=”user” property=”password”/>
在浏览器上输入URL:http://localhost/user,jsp?loginName=sa&password=sa并回车
要使浏览器上显示:
loginName: sa password: sa
在user.jsp中的下划线处应填入以下(d )代码.
a) <jsp:useBean id=”user” class=”user.User” scope=”page”/>
<jsp:setProperty name=”user” property=”loginName” value=”*”/>
<jsp:setProperty name=”user” property=”password” value=”*”/>

b) <jsp:useBean id=”user” class=”user.User” scope=”application”/>
<jsp:setProperty name=”user” property=”loginName” value=”*”/>
<jsp:setProperty name=”user” property=”password” value=”*”/>

c) <jsp:useBean id=”user” class=”user.User” scope=” application”/>
<jsp:setProperty name=”user” property=”*” />

d) <jsp:useBean id=”user” class=”user.User” scope=” page”/>
<jsp:setProperty name=”user” property=”*” />


5.某JSP程序中声明使用javaBean的语句如下:
<jsp:useBean id=”user” class=”mypackage.User” scope=”page”/>
要取出该javaBean的loginName属性值,以下语句正确的是(a c).
a) <jsp:getProperty name=”user” property=”loginName’/>
b) <jsp:getProperty id=”user’ property=”loginName”/>
c) <%=user.getLoginName()%>
d) <%=user.getProperty(“loginName”)%>


6.给定一个JSP程序源代码,如下:
<jsp:include page="two.jsp" flush="true">
<jsp:param name="location" value="bejing"/>
</jsp:include>
在two.jsp中使用(d)代码片段可以输出参数location的值。
a) <jsp:getParam name="location">
b) <jsp:getParameter name="location">
c) <%=request.getAttribute("location")%>
d) <%=request.getParameter("location")%>

exer0515

1.简述数据库连接池的优缺点。
创建一个数据库连接是一个耗时的过程,使用数据库连接池的情况下,连接池预先从数据库中申请
部分连接,数据库连接可以通过连接池满足,不需要为该请求重新连接,从而节省了时间。
2.如何配置数据库连接池?
(1)将数据库驱动sqljdbc4.jar复制到tomcat安装路径下的lib文件夹中。
(2)配置数据源,可以配置到Tomcat安装目录下的conf\server.xml文件中,也可以将其配置到web工程
下的META-INF\context.xml中。

context.xml内容

<Context>
      <Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container"
          driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_sql"
          username="sa"
        password="" 
        maxActive="4"        <!--连接池中处于活动状态的数据库连接的最大数目-->
        maxIdle="2"          <!--连接池中处于空闲状态的数据库连接的最大数目-->
        maxWait="6000" />    <!--当连接池中没有处于空闲状态连接时,请求数据库连接请求的最长等待时间,单位为ms-->
</Context>

 测试页面

<%@ page language="java" import="javax.naming.*" pageEncoding="GB2312"%>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<html>
<body>
<%
try {
      Context ctx = new InitialContext();
      ctx = (Context) ctx.lookup("java:comp/env");
      DataSource ds = (DataSource) ctx.lookup("TestJNDI");    //获取连接池对象
      Connection conn=ds.getConnection();
      out.println(conn==null);
} catch (NamingException e) {
      e.printStackTrace();
}
%>
</body>
</html>

 

exer0605

1.什么是Servlet?Servlet的技术特点是什么?Servlet与JSP有什么区别?
Servlet是一种独立于平台和协议的服务器端的Java技术,可以用来生成动态的Web页面。
技术特点:
(1)高效(2)方便(3)跨平台(4)功能强大 (5)灵活性和可扩展性(6)共享数据
(7)安全
Servlet与JSP相比有以下几点区别:
(1)编程方式不同;
(2)Servlet必须在编译以后才能执行;
(3)运行速度不同。

2.创建一个Servlet通常分为哪几个步骤?
创建一个Servlet,通常涉及下列4个步骤。
(1)继承HttpServlet抽象类。
(2)重载适当的方法,如覆盖(或称为重写)doGet()方法或doPost()方法。
(3)如果有HTTP请求信息的话,获取该信息。
(4)生成HTTP响应。

3.运行Servlet需要在web.xml文件中进行哪些配置?
(1)Servlet的名称、类和其他选项的配置
(2)初始化参数
(3)启动装入优先权
(4)Servlet的映射

4.当访问一个Servlet时,以下Servlet中的哪个方法先被执行:( D )
(A)destroy() (B)doGet() (C)service() (D)init()


5.假设在myServlet应用中有一个MyServlet类,在web.xml文件中对其进行如下配置:(D?)

<servlet>
  <servlet-name> myservlet </servlet-name>
  <servlet-class>com.yxq.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name> myservlet</servlet-name>
  <url-pattern>/welcome</url-pattern>
</servlet-mapping>

则以下选项可以访问到MyServlet的是:
(A)http://localhost:8080/MyServlet
(B)http://localhost:8080/myservlet
(C)http://localhost:8080/com/yxq/servlet/MyServlet
(D)http://localhost:8080/yxq /welcome

6.下面哪个方法不是Servlet接口的方法(D)。
A.doGet() B.doPost() C.init() D.forward()


7.关于Servlet描述,错误的是(C)。
A. Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口
B. Servlet接口定义了Servlet的生命周期方法
C. 当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程
D. Servlet客户线程调用service方法响应客户的请求

 

8.Servlet是一种独立于平台和协议的服务器端的Java技术,可以用来生成 动态的web页面。

9.Servlet可以在不同的操作系统平台和不同的应用服务器平台下运行,这说明Servlet具有 跨平台性。