web课程设计期末复习

本文深入探讨了JSP和Servlet的基础知识,涵盖了JSP的预编译特性、内置对象、指令标识、脚本标识等内容,同时解析了Servlet的生命周期、技术特点及配置方法,为读者提供了全面的Web开发技术指南。
摘要由CSDN通过智能技术生成

一、选择题
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
© 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 %>指令中的属性只能出现一次。
11. 以下哪个选项不是JSP所具有的特征:( 2 )
(1)跨平台 (2)快速建立Web Form
(3)分离静态与动态内容 (4)可重复使用的组件
(5)沿用了JavaServlet的所有功能 (6)预编译
12. page指令中的哪个属性可多次出现:( c )
(A)contentType (B)extends
(C)import (D)不存在这样的属性
13. 以下哪些属性是include指令所具有的:( b )
(A)page (B)file
(C)contentType (D)prefix
14. 下列选项哪些是正确的JSP表达式语法格式:( d )
(A)<%String name=“YXQ”%> (B)<%String name=“您好”;%>
(C)<%=“您好”;%> (D)<%=“YXQ”%>

1.JSP页面经过编译之后,将创建一个(b)程序。
a) applet b) servlet
c) application d) exe
2. 在JavaEE中,test.jsp文件中有如下一行代码:
<jsp:useBean id=”user” scope=”_____” class=”com.UserBean”/>
要使user对象中一直存在于会话中,直至其终止或被删除为止,下划线中应填入(c)。
a) page b) request
c) session d) application
3. 在JavaEE中,以下不是JSP隐式对象的是(b)。
a) request b) context
c) application d) out
4. Servlet中,HttpServletResponse的(c)方法用来把一个Http请求重定向到另外的URL。
a) sendURL© b) redirectURL()
c) sendRedirect() d) redirectResponse()
5.在JSP中,只有一行代码:<%=“A”+“B”%>,运行将输出( b)。
a) A+B b) AB
c) 131 d) 错误信息,因为表达式是错误的

6.给定一个Servlet的代码片段如下:
Public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{


out.println(“hi kitty!”);
out.close();
}
运行此Servlet时输出如下:
hi kitty!
则应在此Servlet下划线处填充如下( a)代码。
a) PrintWriter out = response.getWriter();
b) PrintWriter out = request.getWriter();
c) OutputStream out = response.getOutputStream();
d) OutputStream out = request.getWriter();
7. 给定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中的下划线处应填入以下(cd )代码.
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=”” />
8.某JSP程序中声明使用javaBean的语句如下:
<jsp:useBean id=”user” class=”mypackage.User” scope=”page”/>
要取出该javaBean的loginName属性值,以下语句正确的是( c ).
a) <jsp:getProperty name=”user” property=”loginName’/>
b) <jsp:getProperty id=”user’ property=”loginName”/>
c) <%=user.getLoginName()%>
d) <%=user.getProperty(“loginName”)%>
9 给定一个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”)%>
10. 在inc.jsp中包含数行代码与一张图片,现在要创建一个home.jsp,每次浏览home.jsp时都能够以最快的速度显示inc.jsp中的所有内容以及home.jsp自身要显示的内容,应该在home.jsp中使用的语句是( a )。
a) <%@include file = “inc.jsp”%>
b)<%@include page=“inc.jsp”%>
c) <jsp:include file = “inc.jsp”/>
d) <jsp:forward page = “inc.jsp”/>
1.给定一个JSP程序源码如下:
<jsp:include page = “two.jsp”flush = “true”>
<jsp:param name = “location”value = “beijing”/>
</jsp:include>
在two.jsp中加入( d )代码片断可以输出参数location的值。
a) <jsp:getParam name = “location”>
b) <jsp:getParameter name = “location”>
c) <% = request.getAttribute(“location”)%>
d)<% = request.getParameter(“location”)%>
2.在JavaEE中,重定向到另一个页面,以下(c)语句是正确的。
a) request.sendRedirect(“http://www.jb-aptech.com.cn”);
b) request.sendRedirect();
c) response.sendRedirect(“http://www.jb-aptech.com.cn”);
d) response.sendRedirect();
3. 在JSP中,使用jsp:useBean动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是(c)。
a) page
b) request
c) response
d) application
4.在JavaEE中,request对象的( d)方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。
a) String getParameter(String name)
b) String[] getParameter(String name)
c) String getParameterValuses(String name)
d) String[] getParameterValues(String name)
5.在JavaEE中,test.jsp文件中有如下一行代码:
<jsp:useBean id=”user” scope=”__” type=”com.UserBean”>
要使user对象可以作用于整个应用程序,下划线中应添入(d)。
a) page
b) request
c) session
d) application
6. 在JavaEE中,test.jsp文件中有如下一行代码:
<jsp:useBean id=”user”scope=”_”type=”com.UserBean”/>
要使user对象只能在使用test.jsp时使用,当加载页面时就会将其销毁。下划线中应填入( a)。
a) page
b) request
c) session
d) application
7.在JSP中使用<jsp:getProperty>标记时,不会出现的属性是:( c)
A. name
B. property
C. value
D. 以上皆不会出现
8.在JSP中调用JavaBean时不会用到的标记是:(a )
A. <javabean>
B. <jsp:useBean>
C. <jsp:setProperty>
D. <jsp:getProperty>
9.下列选择项中不属于JDBC基本功能的是( d )。
A.与数据库建立连接 B.提交SQL语句
C.处理查询结果 D.数据库维护管理
10.以下对象中不是JSP内置对象的是( D )。
A.request B.session C.application D.bean
11.关于转发和重定向的描述错误的语句是( C )。
A.重定向是在客户端发生的作用,通过请求新的地址实现页面转向
B.使用转发时由于是服务器内部控制权的转移,因而地址栏中的URL没有变化
C. 转发与重定向都可以实现页面跳转,因为没有区别
D. 使用重定向时可以在地址栏中看到转向后的URL
1.( C )可在JSP页面中出现该指令的位置处,静态插入一个文件。
A.page指令标签 B.page指令的import属性
C.include指令标签 D.include动作标签
2.下面哪个是空格( B )。
A.&amp; B.&nbsp;
C.&copy; D.&lt;
3.当JSP文件中要使用Vector对象时,应该在JSP文件中加入( C )。
A.<jsp:include file=”java.util.
”/> B.<jsp:include page=”java.util.”/>
C.<%@ page import=”java.util.
” %> D.<%@ page include=”java.util.*” %>
4.下面哪个方法不是Servlet接口的方法( D )。
A.doGet() B.doPost() C.init() D.forward()
5.关于转发和重定向的描述错误的语句是( C )。
A. 重定是在客户端发生的作用,通过请求重新的地址实现页面转向
B. 使用转发时由于是服务器内部控制权的转移,因而地址栏中的URL没有变化
C. 转发与重定向都可以实现在页面跳转,因为没有区别
D. 使用重定向时可以在地址栏中看到转向后的URL
6.关于Servlet描述,错误的是( C )。
A. Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口
B. Servlet接口定义了Servlet的生命周期方法
C. 当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程
D. Servlet客户线程调用service方法响应客户的请求
1.当访问一个Servlet时,以下Servlet中的哪个方法先被执行:( D )
(A)destroy() (B)doGet() (C)service() (D)init()
2.假设在test应用中有一个MyServlet类,在web.xml文件中对其进行如下配置:

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

则以下选项可以访问到MyServlet的是( D):
(A)http://localhost:8080/MyServlet
(B)http://localhost:8080/myservlet
(C)http://localhost:8080/com/yxq/servlet/MyServlet
(D)http://localhost:8080/test/welcome
6.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个( B )
A)进程 B)线程 C)程序 D服务。
7.URL是Internet中资源的命名机制,URL由三部分构成( A )。
A)协议、主机DNS名或IP地址和文件名
B)主机、DNS名或IP地址和文件名、协议
C)协议、文件名、主机名
D)协议、文件名、IP地址
8.下列说法哪一项是正确的( C )
A)Apache用于ASP技术所开发网站的服务器
B)IIS用于CGI技术所开发网站的服务器
C)Tomcat用于JSP技术所开发网站的服务器
D)WebLogic用于PHP技术所开发网站的服务器
9.JSP的编译指令标记通常是指:( A )
A)Page指令、Include指令和Taglib指令
B)Page指令、Include指令和Plugin指令
C)Forward指令、Include指令和Taglib指令
D)Page指令、Param指令和Taglib指令
10.下列哪一项不属于JSP动作指令标记?( D )
A)<jsp:param> B)<jsp:plugin>
C)<jsp:useBean> D)<jsp:javaBean>
二、简答题
1.JSP的全称是什么?JSP有什么优点?
JSP的全称是Java Server Pages
优点:跨平台、分离静态内容和动态内容、可重复使用组件、沿用了Java Servlet的所有功能、具有预编译性。
2.什么是JSP的预编译特征?
JSP页面在被服务器执行前都已经是被编译好的,并且通常只执行一次编译,即JSP页面在第一次被请求时进行编译,在后续的请求中,若JSP页面未被修改过,服务器则直接调用编译好的代码,大大提高了访问速度。
3.Tomcat的默认端口、用户名和密码分别是什么?
8080;admin;空
4.开发JSP程序可采用哪几种开发模式?分别介绍它们的优缺点。
1、单纯的JSP页面编程:
优点:通过应用JSP脚本标志,可以直接在JSP页面中实现各种功能。
缺点:大量的java代码和html代码混淆在一起,给程序维护和调式带来不便。
2、JSP+JavaBean编程:
优点:使web程序更加直观,不用进行后台交互,直接在前端处理业务逻辑,更快速。
缺点:性能差,jsp作为web前端包含了太多业务逻辑,维护不便。
3、JSP+Servlet+JavaBean编程:
优点:更好的实现表示层、逻辑层、数据访问层分离。
缺点:Server环境需要java集成开发环境,编程工作量大。
4、MVC模式
优点:代码重复利用率高,结构清晰,便于维护。
缺点:增加了实现复杂性,视图和控制器之间过于紧密连接,试图对模型数据访问效率低。
5.JSP页面由哪些元素构成?
指令标识、脚本标识、JSP注释、动作标识
6.JSP中主要包含哪几种指令标识?它们的作用及语法格式是什么?
page指令:定义整个JSP页面范围内的有效属性。

<%@ page attribute1="value1"...%>

include指令:在当前JSP页面中使用该指令的位置嵌入其他文件,若文件中包含可执行代码,则显示执行结果。

<%@ include file="文件绝对或相对路径"%>

taglib指令:声明用户自定义的标签

<%@ taglib uri="tagURI" prefix="tagPrefix"%>

7.JSP中的脚本标识包含哪些元素?它们的作用及语法格式是什么?
1、声明标识:声明变量或方法

<%!变量或方法%>

2、JSP表达式:用于向页面中输出信息

<%=变量或带返回值的方法或java表达式%>

3、脚本程序:嵌入java代码

<%java代码段%>

8.JSP中常用的动作标识有哪些?作用分别是什么?

<jsp:include>//在页面被请求时引入一个文件
<jsp:forward>//把请求转到一个新页面
<jsp:useBean>//实例化一个JavaBean
<jsp:setProperty>//设置JavaBean的属性
<jsp:getProPerty>//输出某个JavaBean属性
<jsp:param>//以名-值对方式为其他标签提供信息
<jsp:fallBack>//浏览器无法启动Bean或Applet时,输出错误信息
<jsp:plugin>//嵌入java插件

9.JSP提供的内置对象有哪些,作用分别是什么?

内置对象作用
application允许JSP页面与包括在同一应用程序中的任何web组件共享信息
config允许将初始化数据传递给一个JSP页面
exception错误页面处理操作
out提供对输出流的访问
page代表整个JSP页面对应的Servlet实例
pageContext页容器,取得任何范围的参数
request提供对Http请求数据的访问
response允许直接访问HttpServletReponse对象,可用来向客户端输入数据
session保存在服务器与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,session变量会自动消失

10.session的生命周期
session的生命周期从客户端进行第一个request开始,到用户端结束对应用程序的访问终止,如关闭浏览器。
11.如果用户长时间不操作session对象,用户的session对象会消失吗?
当非活动的时间超出了窗口的大小时,JSP容器将使session对象无效并撤销所有属性的绑定,从而管理会话的生命周期。
12.用户关闭浏览器后,用户的session会立即消失吗?
会立即消失。
13.如何延长session的过期时间?
使用setMaxInactiveInterval(int interval)方法设置超时时间。
14.session对象与application对象的区别有哪些?
session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个内置的application对象。
15.如何重定向网页
使用sendRedirect(String location),向客户发送重定向响应,url可以是相对的。
16.什么是JavaBean?使用JavaBean的优点是什么?
JavaBean是利用java语言编写的组件,是一个封装好的容器,每个JavaBean都实现了一个特定的功能,使用者通过合理的组织不同功能的JavaBean就可以快速生成一个新的程序。
优点:代码重用性高
17.按功能JavaBean可分为哪几种?在JSP中最为常用的是哪一种?
(1)可视化JavaBean
(2)不可视JavaBean
常用的是不可视JavaBean。
18.分别介绍值JavaBean与工具JavaBean的作用。
值JavaBean:严格遵循JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。
工具JavaBean:可以不遵循JavaBean的命名规范,通常用于封装业务逻辑,可以分离业务逻辑与页面显示,提高代码可读性。
19.JavaBean具有哪几种属性?在JSP中比较常用的是哪些属性?
1、简单属性(Simple)
2、索引属性(Indexed)
3、绑定属性(Bound)
4、约束属性(Constrained)
简单属性最常用
20.一个标准的JavaBean需要遵循的规范有哪些?
实现java.io.Serializable接口;
是一个公共类;
类中必须存在一个无参数的构造函数;
提供对应的setXxx()和getXxx()方法来存取类中的属性,方法中的“Xxx”为属性名称,属性的第一个字母应大写。
21.JSP的运行环境包括哪些?
Web浏览器;Web服务器;JDK开发工具包以及数据库
22.简述JDBC处理数据库的基本步骤。
1、加载JDBC驱动程序
2、创建数据库连接
3、执行SQL语句
4、处理插叙结果
5、关闭连接
23.写出SQL Server 2005以后版本数据库的驱动及连接本地机器上的数据库student的URL地址。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=student","sa","123456");

24.简述数据库连接池的优缺点
优点:
创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的网络距离,这是一个很耗时的过程,采用连接池后,数据库链接请求可以直接通过连接池满足,节省了时间。
提高了数据库链接的重复利用率。
解决了数据库对链接数量的限制。
缺点:
连接池中可能存在多个与数据库保持连接但未被使用的链接,浪费了资源。
要求开发人员和使用者准确估算需要提供的最大连接数量。
25.如何配置数据库连接池?
将SQLserver的JDBC驱动包复制到Tomcat的安装路径的lib下
配置数据源到web工程目录下的META-INF\context.xml
26.Servlet与JSP的区别是什么
编程方式不同
Servlet必须在编译以后才能执行
运行速度不同
27.什么是Servlet?Servlet的技术特点是什么?
Servlet是一种独立于平台和协议的服务器端java技术,可以用来生成动态的web网页。
技术特点:高效;方便;跨平台;功能强大;灵活性和可拓展性;共享数据;安全
28.创建一个Servlet通常分为哪几个步骤?
1、继承HttpServlet抽象类
2、重写doGet()和doPost()方法
3、获取Http请求信息
4、生产Http响应
29.运行Servlet需要在web.xml文件中进行哪些配置?
Servelet的名称、类和其他选项设置
初始化参数
启动装入优先权
Servlet映射
30.什么是EL表达式语言?
JSP的表达式语言,Expression Language,可用来替代传统的基于<%=%>的java表达式和java代码
31.自定义标签的使用一般有哪几步?
1、设计自定义标签类,重写doTag方法
2、建立tld文件
3、使用自定义标签
三、程序设计题
1.编写一个jsp页面计算1+2+……+n的和。

<html>
<head>
</head>
<body>
<%
int n=Integer.parseInt(request.getParameter("n"));
int sum=0;
for(int i=1;i<=n;i++)
	sum+=n;
%>
<div>1+2+...+<%=n%>=<%=sum%></div>
</body>
</html>

2.编写一个jsp页面计算圆的面积,半径由表单输入。

<html>
<head></head>
<body>
<form action="disp.jsp" method="post">
<input type="text" name="r">
<button type="submit">计算</button>
</form>
</body>
</html>

disp.jsp:

<html>
<head></head>
<body>
<%
double r=Double.parseDouble(request.getParameter("r"));
double s=3.14*r*r;
%>
<div>面积为<%=s%></div>
</body>
</html>

3.显示、编辑数据库表中的数据
JavaBean:

public JDBC{
	private static String JDBC_DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
	private static String URL="jdbc:sqlserver://127.0.0.1:1433;databaseName=st";
	private static String userName="sa";
	private static String passWord="123";
	static Connection connection;
	static Statement statement;
	static{
		try{
		Class.forName(JDBC_DRIVER);
		}catch(Exception e){exit(-1);}
		try{
		connection = DriverManager.getConnection(URL,userName,passWord);
		}catch(Exception e){exit(-1);}
		try{
		statement=connection.createStatement(1004,1007);
		}catch(Exception e){exit(-1);}
	}
	public static ArrayList getName(){
		String sql="SELECT name FROM stuent";
		ResultSet rs=statement.Query(sql);
		ArrayList studentList=new ArrayList();
		try{
		while(rs.next())
		studentList.add(rs.getString("name"));
		}catch(Exception e){exit(-1);}
		return studentList;
	}
	public static void setName(String name){
		String sql="INSERT INTO student VALUES(\""+name+"\")";
		try{
			statement.executeUpdate(sql);
		}catch(Exception e){exit(-1);}
	}
}

4.设计登录界面,并记住用户名、口令
login.jsp:

<%
String userName="";
String password="";
Cookie cookies[]=request.getCookies();
for(int i=0;i<cookies.length;i++){
	if("username".equals(cookies[i].getName()))
		userName=cookies[i].getValue();
	if("password".equals(cookies[i].getName()))
		password=cookies[i].getValue();
}
%>
<form action="login_handler.jsp" method="post">
<label>用户名:</label>
<input type="text" name="user_name" value=<%userName%>>
<label>密码:</label>
<input type="password" name="pass_word" value=<%password%>>
<button type="submit">登陆</button>
</form>

login_handler.jsp:

<%
String user_name=request.getParameter("user_name");
String password=request.getParameter("pass_word");
Cookie username_cookie=new Cookie("username",user_name);
username_cookie.setMaxAge(3*24*60*60);
Cookie paaword_cookie=new Cookie("password",pass_word);
password_cookie.setMaxAge(3*24*60*60);
response.addCookie(username_cookie);
response.addCookie(password_cookie);
%>

5.设计一个留言板系统
Message类

public Message{
	private String author;
	private String content;
	private String IP;
	private String time;
	public void set...;
	public String get...;
}

index.jsp:

<form action="deal.jsp" method="post">
<label>留言者:</label>
<input type="text" name="author">
...
<textarea name="content"></textarea>
<button type="submit">留言</button>
<a href="show.jsp?currentPage=1">
<button>显示留言</button>
</a>
</form>

deal.jsp

<jsp:useBean id="message" scope="page" class="Message"/>
<jsp:setProperty name="message" property="*"/>//设置javaBean属性
<%
SimpleDataFormat df = new SimpleDataFormat("yyyy-MM-dd");
Message msg= new Message();
msg.setAuthor(message.getAuthor());
...
msg.setIP(request.getRemoteAddr());
msg.setTime(df.format(new Date()));
ArrayList store = (ArrayList)application.getAttribute("Message");
if(store==null)
	store=new ArrayList();
store.add(msg);
application.setAttribute("Message",store);
%>
<jsp:forward page="index.jsp"/>

show.jsp:

<form>
<tabel>
<thead>
<tr>
<th>留言者</th>
...
</tr>
<tbody>
<%
ArrayList store=(ArrayList)application.getAttribute("Message");
if(store==null)
	out.print("暂无留言");
else
{
	for(int i=0;i<store.size();i++){
	Message msg= new Message();
	msg=(Message)store.get(i);
%>
<tr>
<td><%=msg.getAuthor()%></td>
...
<%}}%>
</tr>
</tbody>
</thead>
</tabel>
<a href="index.jsp"><button>返回留言</button></a>
</form>

四、重点简答题:
1.jsp有哪些常用的内置对象?作用分别是什么?

内置对象作用
application允许JSP页面与包括在同一应用程序中的任何web组件共享信息
config允许将初始化数据传递给一个JSP页面
exception错误页面处理操作
out提供对输出流的访问
page代表整个JSP页面对应的Servlet实例
pageContext页容器,取得任何范围的参数
request提供对Http请求数据的访问
response允许直接访问HttpServletReponse对象,可用来向客户端输入数据
session保存在服务器与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,session变量会自动消失

2.简述Servlet的生命周期
Servlet生命周期大致分为四个阶段:
1、加载和实例化:当Servlet容器启动时会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;若不存在,则实例化一个。
2、初始化:实例化后,调用Servlet的init()方法进行初始化。
3、服务:初始化后,Servlet处于就绪状态,当接受客户端请求时,调用service()的方法处理客户端请求,service()会根据不同的请求转到不同的doGet()或doPost()方法;
4、销毁:当Servlet容器关闭时,Servlet实例也随之销毁,Servlet调用destory()方法释放内存。
3.jsp有哪些动作标识?作用分别是什么?

<jsp:include>//在页面被请求时引入一个文件
<jsp:forward>//把请求转到一个新页面
<jsp:useBean>//实例化一个JavaBean
<jsp:setProperty>//设置JavaBean的属性
<jsp:getProPerty>//输出某个JavaBean属性
<jsp:param>//以名-值对方式为其他标签提供信息
<jsp:fallBack>//浏览器无法启动Bean或Applet时,输出错误信息
<jsp:plugin>//嵌入java插件

4.JSP中动态INCLUDE与静态INCLUDE的区别
静态include:静态包含发生在编译阶段,即先将被包含文件的内容全部复制嵌入到包含文件中,再编译运行,所以两个文件的变量名不能重复,一般用于加载不变的东西比如背景、标题等。

<%@ include file=""%>

动态include :是在jsp页面运行时才处理文件的,被处理的文件在逻辑和语法上独立与当前的JSP页面,一般用于加载需要实时更新的东西,如时间戳等。

<jsp:include page=""/>

5.JSP提供了哪几种页面的跳转方法?有什么区别?
第一种:<jsp:forward page=""/>
跳转后地址不变,称为服务器跳转,跳转之后的语句不会得到执行,能保留request属性。
第二种:response.sendRedirect("")
跳转之后地址改变,称为客户端跳转,跳转语句前后代码都执行完毕之后再跳转,不能保留request属性。
6.什么是JavaBean?使用JavaBean的优点是什么?
JavaBean是利用java语言编写的组件,是一个封装好的容器,每个JavaBean都实现了一个特定的功能,使用者通过合理的组织不同功能的JavaBean就可以快速生成一个新的程序。
优点:代码重用性高,可维护性强、可读性高。
7.使用Servlet时web.xml应如何配置?
Servelet的名称、类和其他选项设置
初始化参数
启动装入优先权
Servlet映射

<servlet>
	<servlet-name>MyServlet</servlet-name>
	<servlet-class>com.y1.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>MyServlet</servlet-name>
	<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
<welconme-file-list>
	<welcome-file>myApp.jsp</welcome-file>
</welcome-file-list>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

K_K_Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值