JSP程序设计期末复习总结及模拟试题
- 格式:docx
- 大小:37.67 KB
- 文档页数:17
广东海洋大学jsp复习资料JSP运行原理当服务器上的一个 JSP 页面被第一次请求执行时,服务器上的 JSP 引擎首先将 JSP页面文件转译成一个 java 文件,再将这个 java 文件编译生成字节码文件,然后通过执行字节码文件响应客户的请求,而当这个 JSP 页面再次被请求执行时,JSP 引擎将直接执行这个字节码文件来响应客户,这也是 JSP 比ASP 速度快的一个原因。
而 JSP 页面的首次执行往往由服务器管理者来执行。
这个字节码文件的主要工作是:1、把 JSP 页面中普通的 HTML 标记符号(页面的静态部分)交给用户的浏览器负责显示。
2、负责处理JSP标记,并将有关的处理结果发送到用户的浏览器.3、执行“<%”和“%>”之间的 java 程序片(JSP 页面中的动态部分),并把执行结果交给用户的浏览器显示。
4、当多个用户请求一个 JSP 页面时,Tomcat服务器为每个用户启动一个线程而不是启动一个进程,这些线程由 Tomcat服务器来管理,与传统的 CGI 为每个客户启动一个进程相比较,效率要高的多。
注意:如果对JSP页面进行了修改、保存,那么服务器会生成新的字节码。
我们可以在服务器下的\work\Catalina\localhost\_\org\apache\jsp目录下找到服务器生成的JSP页面对应的JAVA文件,以及编译JAVA文件得到的字节码文件。
JSP指令标记<%@ page contentType=”text/html;charset=GB2312”%><%@ page import= “java.util.*”,“java.io.*”%>如果需要在JSP页面的某处整体插入一个文件,可以使用include指令标记,其标记语法为:<%@ include file=”文件的URL”%>该指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件。
编程题编写程序reg.htm和reg.jsp,做一用户注册界面,注册信息包括:用户名,年龄,性别。
然后提交到reg.jsp进行注册检验,若用户名为admin,就提示“欢迎你,管理员”,否则,显示“注册成功”并显示出注册信息。
答案略编写一个简单的登录程序,要求登录页面index.jsp中输入用户名(username)、密码(password),用户点击提交后,验证用户是否输入了用户名、密码。
如果用户名为aaa,密码为aaa,则重定向到登录成功页面reg.jsp进行出来,否则显示index.jsp页面提示请输入用户名和密码。
参考答案:index.jsp<html><body><form action="" method="post" name="f1">用户登录<br>用户名:<input type="text" name="userName"> <br>密码:<input type="password" name="passWord"> <br><input type="submit" value="提交" ><input type="reset" value="重置"></form><%String name=request.getParameter("userName");String password=request.getParameter("passWord");if(name!=null && password!=null){response.sendRedirect("reg.jsp");}else {out.println("请输入用户名和密码");}%></body></html>reg.jsp<html><body><%String name=request.getParameter("userName");String password=request.getParameter("passWord");if(name=="aaa" && password=="aaa"){out.println("注册成功"+name+password);}else {response.sendRedirect("index.jsp");}%></body></html>分析下面的代码,写出include.jsp的运行结果。
jsp期末考试复习题JSP期末考试复习题一、选择题1. JSP(JavaServer Pages)是一种用于生成动态网页的技术,它是基于哪种语言的?A. JavaB. JavaScriptC. PHPD. Ruby2. 下列哪个是JSP页面的标准扩展名?A. .jspB. .htmlC. .phpD. .aspx3. JSP页面在服务器端执行时,最终会被转换成什么?A. ServletB. HTMLC. XMLD. JavaScript4. 在JSP页面中,如何声明变量?A. <%! variable; %>B. <% variable; %>C. <%@ variable; %>D. <%-- variable; --%>5. JSP页面中的注释,哪种不会被发送到客户端浏览器?A. HTML注释B. JSP注释C. 单行注释D. 多行注释二、简答题1. 简述JSP和Servlet之间的关系。
2. 描述JSP中的内置对象及其用途。
3. 解释JSP页面的生命周期。
4. 什么是JSP的表达式语言(EL)?它有什么优势?5. 描述JSP中的错误页面处理机制。
三、编程题1. 编写一个JSP页面,该页面能够接收用户输入的姓名和年龄,并显示一条欢迎信息。
2. 编写一个JSP页面,实现用户登录功能,如果用户名为"admin"且密码为"password",则显示登录成功信息,否则显示登录失败信息。
四、论述题1. 论述JSP标准标签库(JSTL)与JSP表达式语言(EL)的优缺点。
2. 讨论在JSP开发中使用MVC设计模式的重要性。
五、案例分析题1. 假设你正在开发一个在线书店的JSP应用程序,请描述如何使用JSP技术实现书籍的搜索、显示和购买功能。
2. 分析并解释一个常见的JSP安全漏洞,并提出相应的预防措施。
六、附加题1. 描述如何使用JSP与数据库进行交互。
jsp期末试题及答案一、选择题(每题2分,共20分)1. 在JSP中,以下哪个不是JSP内置对象?A. requestB. responseC. sessionD. database答案:D2. JSP页面的默认内容类型是什么?A. text/htmlB. application/xmlC. text/plainD. application/json答案:A3. 以下哪个不是JSP表达式的语法?A. <%= expression %>B. <% expression %>C. <%@ expression %>D. <%! declaration %>答案:C4. 在JSP中,以下哪个标签用于包含其他JSP页面?A. <jsp:include>B. <jsp:forward>C. <jsp:param>D. <jsp:useBean>答案:A5. Servlet是JSP的基础,以下哪个不是Servlet的生命周期方法?A. init()B. service()C. doGet()D. destroy()答案:C6. JSP页面的注释有几种?A. 1种B. 2种C. 3种D. 4种答案:B7. 以下哪个不是JSP的指令标签?A. <%@ page %>B. <%@ include %>C. <%@ taglib %>D. <%@ directive %>答案:D8. 在JSP中,以下哪个不是标准的自定义标签库?A. JSTLB. JSFC. ELD. Struts答案:D9. 在JSP中,以下哪个不是JSP的隐式对象?A. outB. configC. applicationD. response答案:B10. JSP页面的输出编码默认是什么?A. ISO-8859-1B. UTF-8C. GBKD. ASCII答案:A二、判断题(每题1分,共10分)1. JSP页面最终会被转换成Servlet。
大学第二学期JSP期末考试试卷及参考答案大学第二学期JSP期末考试试卷及参考答案一、填空题(本大题共11小题,每空1分,共20分) 1、指令标识通常以标记结束。
2、如果想在JSP页面中调用e_ception对象输出错误信息,需要将页面指令的(isErropage)属性设置为true。
3、页面指令的(import)属性可出现多次。
4、表达式用于向页面输出信息,其使用格式是以标记结束。
5、在页面中通过声明标识声明的变量和方法的有效范围为(整个页面),他们将成为JSP页面被转换成类后类中的(属性)和(方法)。
6、通常应用动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。
7、在JSP内置对象中,(request)对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的(getparameter)方法可以获取客户端表单中某输入框提交的信息。
8、在JSP内置对象中,(response)对象提供了设置响应报头的方法。
9、JSP内置对象的有效范围由小到大为(page)、(request)、(session)和(lication)。
10、按功能Bean可以分为(可视化Bean)和(非可视化Bean)。
11、通常情况下通过.lang.Class类的(forName(String className))方法加载要连接数据库的Driver类。
二、简答题(本大题共6小题,每题5分,共30分) 1、简述JSP的处理过程。
(1)客户端通过浏览器向服务器发出请求,该请求中包含了请求的资的路径(2)服务器根据被加载的客户端的请求加载被请求的JSP页面(3)Web服务器中的JSP引擎把被加载的JSP页面转换成servlet (4)JSP引擎把生成的JSP页面编译成class文件(5)服务器执行这个class文件(6)服务器把执行结果发送给浏览器显示 2、简述请求转发和请求重定向的区别。
JSP期末模拟题1、JSP期末模拟题A卷一填空题(每空2分,共10分)创建JSP 应用程序时,配置文件web.xml应该在程序下的_目录中。
2、如果编写一个计数器程序,用来记载当前网站的访问量,最好采用JSP中的_对象。
Http的中文含义为_。
Tomcat服务器的默认端口为_。
在html标记中,_标记用于设置当前页面的标题。
3、答案:WEB-INFapplication超文本传输协议title二判断正误题(每题1分,共10分)1Internet和intranet的含义意义相同。
()2Web开发技术包括客户端和服务器端的技术。
()3在网页中图形文件与网页文件是分别存储的。
4、()4超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。
5、()5超级链接标记的target属性取值为链接的目标窗名,可以是parent、blank、self、top。
6、()6JSP引擎执行字节码文件的主要任务之一是直接将HTML 内容发给客户端。
()7在“”标记之间声明的Java的方法在整个页面内有效。
7、()8程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。
()9不可以用一个page指令指定多个属性的取值。
8、()jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。
()答案:错对对对错对对对错对三.简答题(每题5分,共50分)JSP中可重复使用的组件有哪些?什么是JSP的预编译特征?开发JSP程序可采用哪几种开发模式?分别介绍他们的优缺点。
什么是成员变量和局部变量?他们的区别是什么?JSP特点为什么使用JSP?JSP编译和执行过程JSP页面组成部分(4个)以及其作用一个JSP页面包含的内容JSP声明以及形式答案:JavaBean/JSP标准标签/自定义标签JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。
JSP编程技术期末理论考试A卷及答案一、选择题(每小题1分,共40分)1.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B)A)进程B)线程C)程序D服务。
2.不是JSP运行必须的是(D)A)操作系统B)JavaJDKC)支持Jsp的Web服务器D)数据库3.下列说法哪一项是正确的(C)A)Apache用于ASP技术所开发网站的服务器B)IIS用于CGI技术所开发网站的服务器C)Tomcat用于JSP技术所开发网站的服务器D)WebLogic用于PHP技术所开发网站的服务器4.下面描述错误的是(C)A)HTML文件必须由<html>开头,</html>标记结束。
B)文档头信息包含在<head>与</head>之间。
C)在<head>和</head>之间可以包含<title>和<body>等信息。
D)文档体包含在<body>和</body>标记之间5.设置文档体背景颜色的属性是(C )A)text B)bgcolor C)background D)link6.(D)是标题标记。
A)<p>标记B)<br>标记C)<hr>标记D)<hn>7.超级链接是互联网的灵魂,下面哪个是正确的链接标记(A )A)<a href="" " title="新浪网" >新浪网</a>B)<a target="" " title="新浪网" >新浪网</a>C)<a href="新浪网" title="新浪网" > </a>D)<a target="新浪网" title="新浪网" ></a>8.CSS选择器通过被规则指定的标记,对文档中使用该标记的内容进行统一的外观控制。
针对以下题目请选择正确的答案(每道题目有一个或多哥正确的答案)。
每一道题目,所有答案都选对,则该题加分,所选答案错误或不能选出所有正确答案,则该题不得分。
1)在JSP中,要定义一个方法,需要用到以下()元素。
(选择一项)a) <%= %> b) <% %>c) <%! %> d) <% %>2)JSP页面经过编译之后,将创建一个()。
(选择一项)a) applet b) servletc) application d) exe文件3)当JSP页面执行自定义标签,遇到结束标签时将调用()方法执行处理。
(选择一项)a) doStartT ag() b) doEndT ag()c) doInitBody() d) doAfterBody()4) 在J2EE中,test.jsp文件中有如下一行代码:(选择一项)<jsp:useBean id=”user” scope=”_____” type=”.UserBean”/>要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入()。
a) page b) requestc) session d) application5) 在J2EE中,以下不是JSP隐式对象的是()。
(选择一项)a) pageContext b) contextc) application d) out6) Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL。
(选择一项)a) sendURL() b) redirectURL()c) sendRedirect() d) redirectResponse()7) 在JSP中,page指令的()属性用来引入需要的包或类。
(选择一项)a) extends b) importc) languge d) contentType8) 在Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法。
JSP作业题一、选择题1.当用户请求jsp页面吋,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是(C)A)发送一个JSP源文件到客户端 B )发送一个Java文件到客户端C)发送一个HTML页而到客户端D)什么都不做。
2.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B)A)进程B)线程C)程序D服务。
3•下列动态网页和静态网页的根本区别描述错误的是(D)。
A)静态网页服务器端返回的HTML文件是事先存储好的B)动态网页服务器端返冋的HTML文件是程序生成的。
C)静态网页文件里只有HTML标记,没有程序代码。
D)动态网页中只冇程序,不能冇HTML代码。
4.不是JSP运行必须的是(D)A)操作系统B) JavaJDK C)支持Jsp的Web服务器D)数据库5.URL是Intemet中资源的命名机制,URL由三部分构成(A )。
A)协议、主机DNS名或IP地址和文件名B)主机、DNS名或IP地址和文件名、协议C)协议、文件名、主机名D)协议、文件名、IP地址6、T omcat服务器的默认端口号是:(B)A) 80 B) 8080 C) 21 D) 21217、由JSP页面向Tag文件传递数据要使用的指令是(B )。
A、tagB、attributeC、variableD、taglib8、在Java Web中,Servlet从实例化到消亡是一个生命周期。
下列描述正确的是(A)。
A、init ()方法是包容器调用的Servlet实例的第一个方法B、在典型的Servlet生命周期模型中,每次Web请求就会创建一个Servlet实例,请求结束Servlet就消亡了C、在包容器把请求传送给Servlet之后,和在调用Servlet实例的doGet或者doPost方法之前, 包容器不会调用Servlet实例的其他方法D、在Servlet实例消亡之前,容器调用Servlet实例的close()方法9、在JSP中要使用user包中的User类,则以写法止确的是(A )。
jsp期末考试题库及答案JSP期末考试题库及答案一、选择题1. 在JSP中,哪个标签用于将Java代码片段嵌入到JSP页面中?A. `<%@ page ... %>`B. `<%! ... %>`C. `<%= ... %>`D. `<% ... %>`答案:D2. 下列关于JSP和Servlet生命周期的描述,哪个是正确的?A. JSP和Servlet都由容器编译成Servlet类,然后实例化并执行。
B. JSP在编译时生成Servlet类,Servlet在运行时实例化。
C. Servlet在编译时生成JSP页面,JSP在运行时实例化。
D. JSP和Servlet都不需要编译,直接在运行时执行。
答案:A3. 在JSP中,以下哪个对象用于与客户端进行交互?A. `request`B. `response`C. `session`D. `application`答案:A二、填空题1. JSP页面的默认内容类型是________。
答案:text/html2. JSP页面中,用于包含其他JSP页面的标签是________。
答案:<jsp:include page="..." />3. 在JSP中,使用________标签可以定义一个可以被多个页面共享的模板。
答案:<%@ taglib ... %>三、简答题1. 描述JSP页面的两种主要组成部分。
答案:JSP页面的两种主要组成部分是JSP元素和JSP标签。
JSP 元素包括脚本元素(如脚本片段和表达式)和指令元素,而JSP标签则用于实现页面的动态功能,如包含其他页面、转发请求等。
2. 解释JSP中的内置对象,并给出它们的用途。
答案:JSP中的内置对象共有9个,分别是:- `request`:用于存储客户端发送的请求信息。
- `response`:用于生成服务器响应。
广东海洋大学jsp复习资料JSP运行原理当服务器上的一个 JSP 页面被第一次请求执行时,服务器上的 JSP 引擎首先将 JSP页面文件转译成一个 java 文件,再将这个 java 文件编译生成字节码文件,然后通过执行字节码文件响应客户的请求,而当这个 JSP 页面再次被请求执行时,JSP 引擎将直接执行这个字节码文件来响应客户,这也是 JSP 比ASP 速度快的一个原因。
而 JSP 页面的首次执行往往由服务器管理者来执行。
这个字节码文件的主要工作是:1、把 JSP 页面中普通的 HTML 标记符号(页面的静态部分)交给用户的浏览器负责显示。
2、负责处理JSP标记,并将有关的处理结果发送到用户的浏览器.3、执行“<%”和“%>”之间的 java 程序片(JSP 页面中的动态部分),并把执行结果交给用户的浏览器显示。
4、当多个用户请求一个 JSP 页面时,Tomcat服务器为每个用户启动一个线程而不是启动一个进程,这些线程由 Tomcat服务器来管理,与传统的 CGI 为每个客户启动一个进程相比较,效率要高的多。
注意:如果对JSP页面进行了修改、保存,那么服务器会生成新的字节码。
我们可以在服务器下的\work\Catalina\localhost\_\org\apache\jsp目录下找到服务器生成的JSP页面对应的JAVA文件,以及编译JAVA文件得到的字节码文件。
JSP指令标记<%@ page contentType=”text/html;charset=GB2312”%><%@ page import= “java.util.*”,“java.io.*”%>如果需要在JSP页面的某处整体插入一个文件,可以使用include指令标记,其标记语法为:<%@ include file=”文件的URL”%>该指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件。
一个JSP页面可由5种元素组成普通的HTML标记、JSP标记(如指令标记、动作标记)、变量和方法的声明、Java程序片、Java表达式。
Tag标记<%@ taglib tagdir=”/WEB-INF/tags” prefix=”show”%><%@ tag pageEncoding=”utf-8”%><%@ attribute name=”result” required=”true” type=”ng.Double”%><%@ variable name-given=”time” variable-class=”java.util.Date”scope=”AT_END”%>JSP内置对象pageContext.setAttribute(“page”,”hello”);getParameter(String s)方法获取表单提交过来的信息。
request.setCharacterEncoding(“utf-8”);response.setContentType(“utf-8”);request对象获取请求所提交的各类信息。
getMethod():获取用户提交信息的方式。
例如post或get.getSchema():获得当前页面使用的协议:例如http.getRemoteHost():获取用户机的名称(如果获取不到,就获取IP地址)。
getParameterNames():获取用户提交的信息体部分中name参数值的一个枚举。
<INPUT>标记复选框checkbox<input type=“checkbox“ name=“ch” value=“pink” align=“top“ checked=“java”>隐藏hidden<input type=“hidden”name=“h” value=“123”>response对象的sendRedirect(URL url)方法实现用户的重定向。
response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。
使用Java数据库驱动程序1.加载Java数据库驱动程序try{Class.forName(“com.microsoft.sqlserver.jdb-c.SQLServerDriver”);}catch(Exccption e){System.out.println(e);}2.建立连接try{ String uri=“jdbc:sqlserver://192.168.100.1:1433;Database-Name=Warehouser”;String user=””;String password=”sa”;con=DriverManager.getConnection(uri,user,passw-ord);}catch(Exccption e){System.out.println(e);}随机查询Statement stmt=con.createStatement(int type,int concurrency);ResultSet re=stmt.executeQuery(SQL语句);type的取值决定滚动方式,取值可以是:ResultSet.TYPE_FORWORD_ONLY;ResultSet.TYPE_SCROLL_INSENSITIVE;ResultSet.TYPE_SCROLL_SENSITIVE;concurrency取值决定是否可以用结果集更新数据库,取值可以是:ResultSet.CONCUR_READ_ONLY;ResultSet.CONCUR_UPDATABLE;获取和修改bean的属性<jsp:useBean id=”apple” class=”tom.jia-fei.Circle” scope=”page”/><jsp:getProperty name=“aplle”property=“radius”/><jsp:setProperty name=”zhang” property=”number” value=”1999001”/>通过HTTP表单的参数的值来设置bean的相应属性的值<jsp:setProperty name=”zhang” property=”*”/><jsp:setProperty name=”zhang” property=”name” param=”xingming”/> 编写web.xml<servlet><servlet-name>hello</servlet-name><servlet-class>china.dalian.Hello</servlet-class></servlet><servlet-mapping><servletname>hello</servlet-name><url-pattern>/lookHello</url-pattern></servlet-mapping>getInitParameter(“”);获得配置文件web.xml中的参数.重定向与转发重定向方法:void sendRedirect(String location),对于浏览器来说是将不同的请求。
RequestDispatcher对象RequestDispatcher dispatcher=request.getRequesDispatcher(“a.jsp”);dispatcher.forward(request,response);HttpSession session=request.getSession(true);MVC模式模型:一个或多个Javabean对象,用于存储数据。
视图:一个或多个JSP页面,其作用是向控制器提交必要的数据和为模型提供数据显示,JSP页面使用HTML标记和Javabean标记来显示数据。
控制器:一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后servlet使用转发的方式请求视图中的某个JSP页面更新显示。
一、选择题1.在JSP中如果要导入 java.io.* 包,应该使用( A )指令。
A. pageB. taglibC. includeD. forward2.下面哪一个不是JSP本身已加载的基本类?(B)ng.*B.java.io.*C.javax.servlet.*D.javax.servlet.jsp.*3.如果当前JSP页面出现异常时需要转到一个异常页,需要设置page 指令的(B)属性。
A. ExceptionB. isErrorPageC. errorD. errorPage4.对于预定义<%!预定义%>的说法错误的是:(C)A、一次可声明多个变量和方法,只要以“;”结尾就行B、一个声明仅在一个页面中有效C、声明的变量将作为局部变量D、在预定义中声明的变量将在JSP页面初始化时初始化5.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D )A. <%@ page %>作用于整个JSP页面。
B. 可以在一个页面中使用多个<%@ page %>指令。
C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D.<%@ page %>指令中的属性只能出现一次。
6.JSP中的隐式注释为 (C )。
A. // 注释内容B. <!—注释内容-->C. <%--注释内容--%> D. /* 注释内容*/7.在JSP中,( A )动作用于将请求转发给其他JSP页面。
A.forwardB.includeeBeanD.setProperty8.使用response对象进行重定向时使用的方法为( B )。
A.getAttribute( )B.sendRedirect( )C. setContentType( )D.setAttribute( )9.如果把用户名变量UserName放在session对象中,下面语句正确的是( )A.session.setName(UserName)B.session.setName(“name”,UserName)C.session.setAttribute(UserName)D.session.setAttribute(“name”,UserName)10.在JSP中,test.jsp文件中有如下一行代码:<jsp:useBean id=”user” scope=”_____” type=”erBean”/>要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入( C )。