jsp简答题

合集下载

JSP课后简答题答案

JSP课后简答题答案

1、怎样应用request、session、application进行参数存取?比较3钟方法的优点与不足。

答:request范围变量保存在request隐式对象中,如:request.setattribute("namerequest","name in request"); session范围变量保存在session隐式对象中,如:session.setattribute("namesession","name in session"); application范围变量保存在application 隐式对象中,如:application.setattribute("nameapplication","name in application"); 读取:namerequest:<%=request.getattribute("namerequest").tostring() %><br/>namesession:<%=sessio n.getattribute("namesession").tostring() %><br/>nameapplication:<%=application.getattribute("nameap plication").tostring() %> application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。

session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。

生命周期:会话超时,或者服务器端强制使会话失效。

request:请求作用域,就是客户端的一次请求。

jsp考试题及答案

jsp考试题及答案

jsp考试题及答案一、选择题(每题2分,共20分)1. JSP页面是由哪种语言编写的?A. JavaB. JavaScriptC. HTMLD. XML答案:A2. JSP页面通常被编译成什么类型的文件?A. .javaB. .jspC. .classD. .html答案:C3. Servlet是JSP的基础,以下哪个不是Servlet的生命周期方法?A. init()B. service()C. doGet()D. destroy()答案:C4. 在JSP中,以下哪个指令用于指定JSP页面使用的JSP版本?A. <%@ page version="2.0" %>B. <%@ include file="header.jsp" %>C. <%@ taglib uri="/jsp/jstl/core" prefix="c" %>D. <%@ page import="java.util.*" %>答案:A5. JSP页面中,以下哪个不是标准的JSP动作元素?A. <jsp:forward>B. <jsp:include>C. <jsp:useBean>D. <jsp:scriptlet>答案:D6. 在JSP页面中,以下哪个不是表达式(EL)的隐式对象?A. requestB. responseC. sessionD. out答案:D7. JSP页面中,以下哪个不是JSTL(JavaServer Pages Standard Tag Library)提供的标签?A. <c:forEach>B. <c:if>C. <c:choose>D. <jsp:scriptlet>答案:D8. 在JSP页面中,以下哪个不是JSP内置对象?A. requestB. responseC. sessionD. app答案:D9. JSP页面中的注释,以下哪个不会被发送到客户端浏览器?A. HTML注释B. JSP注释C. 单行注释(//)D. 多行注释(/* */)答案:B10. 在JSP页面中,以下哪个不是JSP的指令?A. <%@ page %>B. <%@ include %>C. <%@ taglib %>D. <%@ response %>答案:D二、填空题(每空2分,共20分)1. JSP页面的默认后缀是 jsp 。

jsp简答题

jsp简答题

Javabean1. 简述一个JavaBean文件编写的要求。

(1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public ,如: public class user{......}(2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器(3)一个javaBean类不应有公共实例变量,类变量都为private ,如: private int id;(4)属性应该通过一组存取方法(getXxx 和 setXxx)来访问,一般是IDE(Eclipse、JBuilder) 为属性生成getter/setter 方法2.编写bean时,应注意哪些事项?(1)bean必须是public类。

(2)bean必须有一个公有的无参构造方法。

(3)一般具有设置器和获取器。

3.bean的作用域和生命周期是什么?Page(当前页面有效)、request(局部有效)、session(会话有效)、application(全体有效)。

4.怎样给Javabean传递参数?<jsp:setProperty>5.Javabean在JSP页面中如何使用来声明对象?<jsp:useBean Id=”对象名” class=” Javabean的名称” scope=”范围”>6.Bean是什么?JavaBean是描述Java的软件组件模型,通过封装属性和方法成为具有某种功能或处理某种业务的对象,称其为Bean。

Servlet1.说一说Servlet的生命周期?答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。

这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

jsp测试题及答案

jsp测试题及答案

jsp测试题及答案一、单选题(每题2分,共10分)1. JSP页面中,用于声明变量、方法等的指令是:A. `<%@ page %>`B. `<%@ include %>`C. `<%! ... %> `D. `<% ... %>`答案:C2. JSP中,以下哪个对象用于获取客户端请求信息?A. requestB. responseC. sessionD. application答案:A3. 在JSP页面中,以下哪个元素用于包含其他JSP页面?A. `<jsp:forward page="other.jsp" />`B. `<jsp:include page="other.jsp" />`C. `<%@include file="other.jsp"%>`D. `<%@ page import="other.jsp" %>`答案:B4. JSP页面中,以下哪个指令用于设置页面的默认内容类型和编码?A. `<%@ page contentType="text/html; charset=UTF-8" %>`B. `<%@ page import="java.io.*" %>`C. `<%@ page session="true" %>`D. `<%@ page language="java" %>答案:A5. 在JSP中,以下哪个对象用于向客户端发送响应?A. requestB. responseC. sessionD. application答案:B二、多选题(每题3分,共15分)1. JSP页面中,以下哪些指令用于控制页面的属性?A. `<%@ page %>`B. `<%@ include %>`C. `<%@ taglib %>`D. `<%@ page import %>`E. `<%@ page session="true" %>`答案:A, C, D, E2. 在JSP页面中,以下哪些对象是隐式对象?A. requestB. responseC. outD. sessionE. application答案:A, B, C, D, E3. JSP页面中,以下哪些指令用于导入Java类或包?A. `<%@ page import="java.util.*" %>`B. `<%@ page contentType="text/html; charset=UTF-8" %>`C. `<%@ page session="true" %>`D. `<%@ include file="other.jsp" %>`E. `<%@ page language="java" %>`答案:A, E4. 在JSP页面中,以下哪些元素用于条件判断?A. `<% if (condition) { %> ... <% } %>`B. `<%@ if (condition) { %> ... <%@ } %>`C. `<% while (condition) { %> ... <% } %>`D. `<% for (int i = 0; i < 10; i++) { %> ... <% } %>`E. `<%@ for (int i = 0; i < 10; i++) { %> ... <%@ } %>` 答案:A, C, D5. JSP页面中,以下哪些对象用于会话管理?A. requestB. responseC. sessionD. applicationE. out答案:C, D三、简答题(每题5分,共20分)1. 简述JSP页面的生命周期。

jsp简答题

jsp简答题

1、简述JSP页面的运行原理(JSP页面的请求执行过程)。

(1)当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静态数据(HTML文本)和动态数据(Java脚本)全部转换为Java代码。

(2)JSP引擎把生成的.java文件编译成Servlet类文件(.class)。

(3)编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面。

2、如果表单提交的信息中有汉字,接受该信息的页面应做怎样的处理?解决中文乱码在获取表单信息之前使用setCharacterEncoding(String code)设置统一字符编码request.setCharacterEncoding(“UTF-8”);对获取的信息进行重新编码new String(request.getParameter(“Name”).getBytes(“ISO-8859-1”),”UTF-8”);3、请简单叙述<%@include%>、<jsp:include>两者的区别。

<%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet。

<jsp:include>:所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的处理结果组合起来。

PPT上答案为:Include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为java文件处理并运行。

Include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被家在执行时,才去处理include动作标记引入的文件。

4、分析下面连接数据库的程序代码,将正确的表达式或语句填入空白import java.sql.*;public class DbUtil{public static void main(String args[]){Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db";Connectioncon = DriverManager.getConnection(uri,"sa","123");Statementst= con.createStatement();ResultSetrs = st.executeQuery("select * from member");}}请将上面的空填好,填完整这个程序后,这个程序有问题吗?应该怎样改正?5、假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应该怎样配置web.xml?<servlet><servlet-name>myservlet</servlet-name><servlet-class>tom.jiafei.Dalian</servlet-class></servlet><servlet-mapping><servlet-name>myservlet</servlet-name><url-pattern>/lookhello</url-pattern></servlet-mapping>6、JSP有哪些内置对象,作用分别是什么?(至少列举4种)out 页面输出request 得到用户的请求信息response 服务器向客户端的回应信息session 用来保存每一个用户的信息application 用来表示所有用户的共享信息pageContext JSP的页面容器config 服务器配置,可以取得初始化参数page 表示从该页面中表示出来的一个servlet实例exception 表示JSP页面所发生的异常,在错误页面才起作用7、简述JSP中MVC模式的具体实现。

JSP面试题及答案简答题

JSP面试题及答案简答题

1、JSP页面是如何被执行的?JSP执行效率比Servlet低吗?当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。

JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。

2、JSP如何处理运行时异常(run-time)exceptions?可以使用页面的errorPage属性捕获没有处理的运行时异常,然后自动转向到一个错误处理页面,代码如下:<%@ page errorPage=”error.jsp” %>如果在页面请求时出现运行时异常是,以上代码会把页面转向到JSP页面error.jsp,在error.jsp里面,可以通过以下代码定义这个页面是错误处理页:<%@ page isErrorPage=”true” %>这样描述错误信息的Throwable对象就可以在error.jsp页面里面访问到。

3、如果jsp表单元素的值为空,如何避免null出现在页面上?可以写一个简单的函数对空值进行处理,判断值是否为空,如果是空就返回空字符串。

实例代码如下:<%!String blanknull(String s){return (s == null) ? “” : s。

}%>在你的JSP里面,可以使用以上函数输出文本框或者其他页面元素的值,实例代码如下:<input type=”text” name=”shoesize” value=”<%=blanknull(shoesize)% >” > 4、如何避免JSP页面自动生成session对象?为什么要这么做?在默认情况下,在对一个JSP页面发出请求时,如果session还没有建立,JSP页面会自动为请求建立一个session对象,但是session是比较消耗资源的,如果没必要保持和使用session,就不应该创建session, 例如一些只是用来宣传产品的网站,往往没必要使用session来保存信息,可以使用jsp页面指令session=”false”来避免JSP页面为每个请求都自动创建session.实例代码如下:<%@ page ses sion=”false”>5、在servlets和JSP之间能共享session对象吗?当然可以,HttpSession session = request.getSession(true)。

JSP简答题

JSP简答题

第1章(1)JSP的特点与优势答:1。

一次编写,到处运行2.系统的多平台支持3。

内容和显示分离4.生成可重用的组件5。

健壮的存储管理和安全性(2)使用JSP开发项目的常用方式答: 1.直接使用JSP2。

JSP+JavaBean3。

JSP+Servlet+JavaBean4.Java EE 开发模型5.框架整合应用一、在HTML中加入CSS的方法有哪几种?并简述其使用方法?答:1。

嵌入式样式表:只要在需要应用样式的HTML标签上添加CSS就可以了,这种方法主要用于对具体的标签做具体的样式设置,其作用范围只限于本标签。

2.内嵌式样式表:内嵌式样式表利用〈style></style>标签对样式表定义在HTML 文档的<head>〈/head〉标签对之间,内联式样式表的作用范围是本HTML文档;3.内联式样式表:内联式样式表是将定义好的CSS单独放到一个以.css为扩展名的纯文本文件名,再做用<link>标签连接到网页中。

二、在网页设计过程中,定义样式表的方法主要是那几种?并简述其定义格式.答:1.通过HTML标签定义样式表。

格式:引用样式对象{标签属性:属性值;标签属性:属性值;……}2.使用id样式定义表。

格式:#id名称{属性标签:属性值;属性标签:属性值;……}使用时只需要将要用该样式的网页内容前加一个id=”id名称”。

3. 使用class样式定义表.格式:(1)标签名.类名{标签属性:属性值;标签属性:属性值;……}(2) .类名{标签属性:属性值;标签属性:属性值;……}第5章(1)简述page指令、include指令和taglib指令的作用.答:page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在JSP页面和其包含的文件。

include指令用于在JSP编译时,为页面插入一个静态文件,如JSP页面、HTML 页面、文本文件或是一段Java程序。

jsp考试题及答案大学

jsp考试题及答案大学

jsp考试题及答案大学JSP考试题及答案(大学)一、选择题(每题2分,共20分)1. JSP(JavaServer Pages)是一种:A. 服务器端的脚本语言B. 客户端的脚本语言C. 桌面应用程序D. 数据库管理系统答案:A2. 在JSP中,标准的自定义标签开始标记是:A. <%@ tag >B. <% tag >C. <@ tag >D. <$ tag >答案:A3. JSP页面中的注释,不会在客户端浏览器中显示的是:A. <!-- ... -->B. // ...C. <%=-- ... --%>D. <%-- ... --%>答案:D4. 下列哪个不是JSP内置对象?A. requestB. responseC. outD. applet答案:D5. JSP页面中,将Java代码片段放入到脚本元素中使用的是:A. <% ... %>B. <%= ... %>C. <%! ... %>D. <%@ ... %>答案:A6. JSP中,将数据库查询结果集传递给JSP页面的正确方法是:A. 使用request对象B. 使用response对象C. 使用session对象D. 使用application对象答案:A7. JSP页面被请求时,以下哪个过程不会发生?A. 编译成Servlet类B. 执行ServletC. 转换成HTMLD. 保存为文本文件答案:D8. 在JSP页面中,使用EL表达式获取请求参数的正确方式是:A. ${}B. ${}C. ${}D. ${}答案:A9. 下列哪个不是JSP动作元素?A. <jsp:forward>B. <jsp:include>C. <jsp:useBean>D. <jsp:loop>答案:D10. 在JSP中,错误页面是一种:A. ServletB. JSP页面C. HTML页面D. Java类答案:B二、简答题(每题5分,共30分)1. 请简述JSP和Servlet的区别。

jsp简答题

jsp简答题

一、问答题(5选4)1请简单叙述include指令标记和include动作标记的不同?include指令标记:是把被包含的文件的内容放于包含文件中,组成一个文件后编译运行. include动作标记: 是把被包含的文件的运行结果放于包含文件运行产生的结果中,这2个文件各自编译运行.2Session对象与application对象的区别?1. 应用范围不同。

Session是对应某一个用户的。

而Application是整站共用的。

2. 存活时间不同。

Session是在站点的页面从打开到被关闭之前一直生存的,关闭或跳转到其它网站就会使Session死掉。

而Application是从站点发布以来一直存活的,除非重启了站点服务,IIS。

Session的中文是"会话"的意思,ASP中Session代表了服务器与客户端之间的"会话" 。

利用Session可以存储浏览者的一些特定信息,如:浏览者的姓名、性别、所用浏览器的类型以及访问停留时间等。

Session对个人信息的安全性构成了一定的威胁。

Application对象是一个应用程序级的对象,它包含的数据可以在整个Web站点中被所有用户使用,并且可以在网站运行期间持久地保存数据。

3连接池的思想?Tomcat服务器可以事先预备好若干个连接对象将这些连接对象存放在一个称为连接池的容器中,当某用户需要操作数据库时,只要从连接池中取出一个连接对象即可,当用户使用完该连接对象后,将该连接对象放回到连接池中。

如果某用户需要数据库时,连接池中已没有连接对象可用,那么该用户就必须等待,直到连接池中有了连接对象。

4重定向与转发功能?重定向功能:是将用户从当前页面或servlet定向到另一个JSP页面或servlet;转发的功能:是将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet 对象。

5Usebean标签中scope取值的不同情况?二、程序分析1定时刷新2解决中文乱码3分析代码功能或作用4SQL语句(2个查询、一个插入、一个修改)三、编程(原题第六题)。

jsp试题库及答案

jsp试题库及答案

jsp试题库及答案JSP试题库及答案一、选择题1. JSP技术使用的是哪种语言作为其脚本语言?A. JavaB. JavaScriptC. C#D. Python答案:A2. 在JSP页面中,哪一个指令用于指定信息处理类?A. <%@ page %>B. <%@ include %>C. <%@ taglib %>D. <%@ attribute %>答案:A3. 如果要在JSP页面中包含另一个JSP页面,应该使用哪个JSP元素?A. <jsp:include>B. <jsp:forward>C. <jsp:param>D. <jsp:useBean>答案:A4. JSP页面的默认脚本语言是什么?A. HTMLB. JavaScriptC. JavaD. SQL答案:C5. 在JSP中,使用什么标签可以将Java Bean组件的属性传递给表达式语言(EL)?A. <jsp:useBean>B. <jsp:setProperty>C. <jsp:getProperty>D. <jsp:forward>答案:C二、简答题1. 请简述JSP和Servlet的区别。

答案:JSP(JavaServer Pages)是一种用于生成动态网页的技术,它使用模板和Java代码的混合来实现页面内容的动态生成。

Servlet是一种运行在服务器端的Java小程序,可以处理客户端请求并生成响应。

JSP最终被编译成Servlet,由Servlet容器执行。

JSP主要用于页面内容的生成,而Servlet则可以处理更复杂的业务逻辑。

2. 描述一下JSP的动作元素和标准动作元素的区别。

答案:JSP的动作元素(Action Element)用于控制Servlet引擎的行为,例如包含其他页面、转发请求等。

jsp考试简答题

jsp考试简答题

HTTP是一个属于应用层的面向对象的协议,HTTP协议一共有五大特点,1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态;“无状态”是HTTP协议的主要特点之一。

协议的状态是指下一次传输可以“记住”这次传输信息的能力.http是不会为了下一次连接而维护这次连接所传输的信息的. 无状态:是指协议对于事务处理没有记忆能力。

缺少状态意味着如果后续处理需要前面的信息,则它必须重传,假如某个特定的客户机在短短的几秒钟两次请求同一个对象。

服务器并不会应为刚刚为该用户提供了该对象就不再作出反应,而是重新发送该对象,就像该服务器已经完全忘记不久之前所做过的事一样,这样可能导致每次连接传送的数据量增大。

另一方面,在服务器不需要先前信息时它的应答就较快。

为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和 SessionC/S结构,即Client/Server(客户机/服务器)结构,是一种软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。

B/S结构,即Browser/Server(浏览器/服务器)结构,是对C/S结构的一种变化或者改进的结构。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。

B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

Jsp简答题

Jsp简答题
这种方式是在客户端作的重定向处理。该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容。该方法可以接受绝对的或相对的URLs。如果传递到该方法的参数是一个相对的URL,那么Web container在将它发送到客户端前会把它转换成一个绝对的URL。public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
}
public void init(servletconfig conf)throws servletexception{
super.init(conf);//init方法带servletconfig参数时必须有此句代码
//此处写一些初始化操作。如连接数据库等。
}
2 service():响应客户端发出的请求。Service()方法接受ServletRequest接口和ServletResponse接口的对象来处理请求和发送响应。经常的用法是:不用service()方法,用dopost,doget方法来处理请求。其他的方法还有dotrace(),dooptions().dohead()方法,因trace,options.head信息已经在dopost,doget方法中包括,不必使用,doput(),dodelete()方法在web app不经常使用
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp");

jsp考试题及答案

jsp考试题及答案

jsp考试题及答案JSP即Java Server Pages(Java服务器页面),是一种用于在服务器上动态生成网页的Java技术。

它能够与HTML、CSS和Java代码结合,使网页更具交互性和动态性。

对于学习和应用JSP的开发者来说,了解一些常见的JSP考试题及其答案是非常重要的。

本文将介绍一些常见的JSP考试题,并提供详细的答案解析。

1. 什么是JSP?答案:JSP是一种用于在服务器上生成动态网页的Java技术。

它允许将Java代码嵌入到HTML网页中,通过服务器解析执行并生成动态内容。

2. JSP和Servlet有什么区别?答案:JSP和Servlet都是Java技术用于服务器端开发的工具。

区别在于JSP以HTML为主,通过嵌入Java代码来实现动态功能;而Servlet以Java代码为主,通过编写Java类来处理请求和生成响应。

3. JSP页面的生命周期是什么?答案:JSP页面的生命周期包括以下阶段:1) 编译阶段:当JSP页面第一次被请求时,服务器将其编译为Servlet类。

2) 初始化阶段:Servlet类被加载并初始化。

3) 请求处理阶段:当有请求到达时,Servlet类会被调用执行,并生成响应内容。

4) 销毁阶段:当服务器关闭或JSP页面被更新时,Servlet类将被销毁。

4. 如何在JSP页面中使用Java代码?答案:可以通过以下几种方式在JSP页面中使用Java代码:1) 使用脚本语法:使用<% %>标签将Java代码包围起来。

2) 声明变量或方法:使用<%! %>标签来声明全局变量或方法。

3) 表达式语法:使用<%= %>标签将Java表达式的结果输出到页面上。

5. JSP中的九大内置对象分别是什么?答案:JSP中的九大内置对象是:1) request:封装请求信息的对象。

2) response:封装响应信息的对象。

3) pageContext:当前页面的上下文对象。

jsp期末试题及答案tomcat

jsp期末试题及答案tomcat

jsp期末试题及答案tomcatJSP期末试题及答案 Tomcat一、简答题1. 请简要描述JSP(JavaServer Pages)的定义和特点。

答:JSP是一种基于服务器端的Java技术,用于生成动态的web页面。

它允许开发者将Java代码嵌入到HTML页面中,从而实现动态内容的生成。

JSP具有易于学习和使用的特点,并且与HTML紧密结合,使得前端开发人员能够更加灵活地处理动态内容。

2. 请解释JSP和Servlet的区别和联系。

答:JSP和Servlet都是Java服务器端技术,主要区别在于开发方式和处理动态内容的方式。

JSP通过在HTML页面中嵌入Java代码来生成动态内容,而Servlet则是通过Java类处理动态内容。

虽然实现方式不同,但它们可以相互配合使用,实现灵活的web开发。

3. 请简要描述JSP的生命周期。

答:JSP的生命周期包括四个阶段:翻译、编译、初始化和执行。

在第一阶段,容器将JSP页面翻译成Servlet代码;然后,在编译阶段,将生成的Servlet代码编译成可执行的Java字节码;接下来,在初始化阶段,Servlet引擎将实例化JSP页面的Servlet类,并调用其init()方法来完成初始化;最后,在执行阶段,Servlet引擎将调用JSP页面的service()方法来处理客户端请求。

二、编程题1. 根据以下要求,在JSP页面中编写一个登陆表单。

要求:- 表单包括用户名和密码的输入框以及提交按钮;- 表单的提交方法为POST;- 提交按钮的文本显示为“登陆”。

答:```jsp<form action="login.jsp" method="POST"><label for="username">用户名:</label><input type="text" id="username" name="username" required><br><br><label for="password">密码:</label><input type="password" id="password" name="password" required><br><br><input type="submit" value="登陆"></form>```2. 根据以下要求,在JSP页面中使用JSP标签库和EL表达式编写一个循环输出数组中的元素。

jsp简答

jsp简答

一、简答题1.在JSP中专门提供了3个页面指令来与JavaBean交互,它们分别是哪3个指令,并简述它们的功能。

答:它们分别是jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令。

jsp:useBean指令指定JSP页面中包括的JavaBean。

jsp:setProperty指令功能是设置JavaBean的属性。

jsp:getProperty指令功能是得到某个JavaBean的属性值。

2.加载CSS样式的方式有哪些?如何使用?答:使用CSS来格式化网页,共有三种方式:在HEAD中引用、在BODY中引用和作为文件来引用。

只要在HEAD标记中加上STYLE标记就可以了,然后在其中定义各种标记的显示样式。

在BODY中实现主要是在标记中引用,只要将定义在STYLE标记中的值拿到对应的标记中就可以了。

可以将HEAD中定义的样式另存成一个文件。

CSS作为一个外部文件引入的方式有两种,一种是做链接,另一种是导入。

首先将STYLE标记中的内容存成一个文件。

3.请说出JSP和Servlet的关系,说出它们的异同,并分析它们在web服务程序中分工。

答:a.Servlet是JSP的早期版本,JSP是以另外一种方式实现的Servletb.JSP更注重页面的表现,Servlet更注重业务逻辑的实现c.JSP只能处理浏览器的请求,而Servlet可以处理一般客户端的应用程序请求4.对于下面URL: :8080/news/index.html ,请指出协议,主机,端口号,文件名答:协议 http,主机,端口号8080,文件名news/index.html5.ASP与JSP之间有哪些共同点?JSP的优点是什么?答:ASP和JSP都是HTML文档传递动态内容的CGI程序。

因为它们都运行在服务器上,都访问服务器上的资源。

另一个相似点是语法。

它们用来嵌入VBScript 与 Java的标签很相似。

JSP复习题简答

JSP复习题简答

1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?答:全称Java Server Page优点:继承了Java 技术的简单、便利、面向对象,跨平台和安全可靠等优点,在JSP中利用了。

JavaBean和JSP元素,可以有效的将静态的HTML代码和动态数据区分开来,给程序的修改和扩展带来了很大方便;与其他动态网页技术相同点,通过在页面中加入脚本代码来生成动态内容。

1-2 JSP中可重复使用的组件有哪些?JavaBean/JSP标准标签/自定义标签1-3 什么是JSP的预编译特征?答:JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。

1-4 开发JSP程序需要具备哪些开发环境?答:Web浏览器/Web服务器/JDK/数据库1-7 本章介绍的用来开发JSP程序的开发工具是什么?答:Eclipse+MyEclipse2-1 什么是类?如何定义类?类的成员一般由哪两部分组成?这两部分的区别是什么?答:类是用来创建对象的模板,它包含被创建的对象的状态描述和方法的定义。

定义类的格式:[修饰符] class <类名> [extends 父类名] [implements 接口列表]{定义成员变量定义成员方法}类的成员由成员变量和成员方法组成,成员变量用来表示类的状态和属性,成员方法表示类的行为。

2-2 什么是成员变量和局部变量?他们的区别是什么答:成员变量是在类体中变量定义部分所声明的变量;局部变量是在方法体重声明的变量和方法的参数两者的区别在于有效范围不同,成员变量在整个类内都有效,而局部变量只在定义他的成员方法内才有效。

2-3 如何创建、使用并销毁对象?答:创建对象的方法:类名对象名; 对象名= new 构造方法名([参数列表]);或者:类名对象名= new 构造方法名([参数列表]);使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简答题:1.简述JSP页面的执行步骤?答:客户端浏览器访问一个JSP页面,服务器端的Web容器将JSP转换为Servlet,并处理执行此Servlet中的相关内容,产生响应结果,然后再由Web容器将响应结果返回客户端浏览器.2.include 指令和<jsp:include>动作元素有什么不同?include动作标记告诉JSP页面动态包含一个文件,与静态插入文件的include指令标记不同,当JSP页面转译成Java文件时,不把jsp页面中动作指令include所包含的文件与原jsp页面合并成一个新的jsp页面,而是告诉Java解释器,这个文件在jsp运行时才包含进来。

include动作标记和指令标记作用都是处理所需要的文件但处理方式和处理时间是不同的。

include指令标记是在编译阶段就处理所需要的被处理的文件在逻辑和语法上依赖当前的jsp页面,优点是页面执行速度快;而include动作标记在jsp页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前jsp页面,优点是可以使用param子标记更灵活的处理所需要的文件,缺点是执行速度慢。

3.bean的作用域和生命周期是什么?JavaBean的生命周期存在于4中范围之中,分别为page、request、session、application,它们通过<jsp:userBean>标签的scope属性进行设置,与jsp页面中的page、request、 session、application范围相对应。

1、page 范围:与当前页面相对应,JavaBean的生命周期存在于一个页面之中,当页面关闭时javaBean被销毁2、request 范围:与JSP的request生命周期相对应,JavaBean的生命周期存在于request对象之中,当request对象销毁时JavaBean也被销毁3、session范围:与JSP的session生命周期相对应,JavaBean的生命周期存在于session回话之中,当session超时或回话结束时JavaBean被销毁4、application范围:与JSP的application生命周期相对应,在各用户与服务器之间共享,只有当服务器关闭时JavaBean才被销毁4.Servlet的生命周期是什么?答.第一,加载并实例化第二,初始化第三,服务第四,销毁5.jsp有哪些内置对象?作用分别是什么?答:request对象:用户端请求,此请求会包含来自GET/POST请求的参数Response对象:网页传回用户端的回应pageContext对象:网页的属性是在这里管理session对象:与请求有关的会话期application servlet对象:正在执行的内容out对象:用来传送回应的输出config对象:servlet的构架部件page对象:指向JSP网页本身exception对象:针对错误网页,当一个页面在运行过程中发生了未捕捉的异常,就产生这个对象。

6.WEB开发项目中如何通过链接使用外部样式表文件?在<head></head>之间加入这行代码:<link type="text/css" href="外部CSS链接地址" ref="stypesheet">7.简述JSP的设计模式?模式一JSP+JavaBean模式:在这种模式中,JSP页面独自响应请求并将处理结果返回客户,所有的数据库操作通过JavaBean来实现。

模式二MVC模式:“MVC”模式即是:“Model-View-Controller”模式。

在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。

JSP页面处于表现层,也就是视图(View)的角色。

JavaBean则负责数据的处理,也就是模型(Model)的角色。

根据MVC模式,一个软件应该将模型(Model)和视图(View)分开。

8.<jsp:forward>与response.sendRedirect()实现页面转向有什么区别?1.从地址栏显示来说:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器地址栏还是原来的地址.redirect地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。

2.从数据共享来说:forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.forward方法只能在同一个Web应用程序内的资源之间转发请求,是服务器内部的一种操作.redirect 是服务器通知客户端,让客户端重新发起请求.3.从效率来说:forward:高.redirect:低.9.Servlet作为控制器,可以完成哪些操作?接受请求信息;对信息进行验证;把信息转换成需要的类型;使用这些信息调用业务逻辑方法;对用户响应。

10.简述连接mysql的操作步骤?答:第一.加载JDBC数据库驱动第二.与mysql建立连接第三.发送SQL语句第四.处理SQL语句返回的结果11.编写javabean时,要注意哪些?1.如果类的成员变量是xxx,那么为了获取或更改成员变量的值,类中必须提供两个方法:getXXX()用来获取属性XXX、setXXX用来修改属性XXX。

2、对于Boolean类型的成员变量,允许使用“is”代替上面的“get”和“set”。

3、类中声明的方法的访问属性都必须是public的。

4、类中声明的构造方法必须是public、无参数的。

12. WEB开发项目中如何使用javaScript脚本语言?JavaScript脚本可以放在<html></html>标记之间的任何地方。

但是当在代码中定义了函数时,就一定要注意将函数的定义放在对该函数的调用之前。

任何脚本语言均可以通过<script>...</script>标记对加入到HTML代码中(即是加入到网页文档<html>...</html>之间)。

利用<script>标记的SRC属性可以在网页中使用外部的JavaScript脚本文件。

例如:<script type= “text/javascript” src=”xx.js”></script>13.jsp 的组成元素?静态部分:html、css标记等。

动态部分:1、脚本(包含:脚本程序<%java代码%>、声明<%!函数或方法%>、表达式<%=java表达式%>); 2.指令<%@ %>; 3.动作<jsp:动作名>; 4.注释<!--注释-->或<%--注释--%>14.jsp有哪些动作?作用分别是什么?答:JSP共有以下6种基本动作jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个JavaBean。

jsp:setProperty:设置JavaBean的属性。

jsp:getProperty:输出某个JavaBean的属性。

jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

程序设计:三角形面积:Bean:Triangle.javapackage entity;publicclass Triangle {double sideA=-1,sideB=-1,sideC=-1,area=-1;publicdouble getSideA() {return sideA;}publicvoid setSideA(double sideA) {this.sideA = sideA;}publicdouble getSideB() {return sideB;}publicvoid setSideB(double sideB) {this.sideB = sideB;}publicdouble getSideC() {return sideC;}publicvoid setSideC(double sideC) {this.sideC = sideC;}publicdouble getArea() {return area;}publicvoid setArea(double area) {this.area = area;}}Servlet:servlet.javapackage control;importjava.io.IOException;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importentity.Triangle;public class Servlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {response.setContentType("text/html");Triangle databean=new Triangle();HttpSession session=request.getSession(true);session.setAttribute("data", databean);try{double a=Double.parseDouble(request.getParameter("sideA"));double b=Double.parseDouble(request.getParameter("sideB"));double c=Double.parseDouble(request.getParameter("sideC"));databean.setSideA(a);databean.setSideB(b);databean.setSideC(c);double s=-1;double p=(a+b+c)/2.0;s=Math.sqrt(p*(p-a)*(p-b)*(p-c));databean.setArea(s);}catch(Exception e){databean.setArea(-1);}response.sendRedirect("index.jsp");}public void doPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {doGet(request, response);}public void init(ServletConfigconfig) throws ServletException { // Put your code heresuper.init(config);}}JSP:index.jsp<%@page contentType="text/html; charset=gb2312"%><jsp:useBean id="data"class="entity.Triangle"scope="session"/><html><body><form action="Servlet"Method="get">三角形输入三条边:边A:<input type=text name="sideA"value=0size=5>边B:<input type=text name="sideB"value=0size=5>边C:<input type=text name="sideC"value=0size=5><input type=submit value="提交"></form>三角形边A:<jsp:getProperty name="data"property="sideA"/>边B:<jsp:getProperty name="data"property="sideB"/>边C:<jsp:getProperty name="data"property="sideC"/>的面积是<jsp:getProperty name="data"property="area"/> </body></html>BMI体质指数:Bean:BMI.javapackage entity;publicclass BMI {double height,weight,bmi;publicdouble getHeight() {return height;}publicvoid setHeight(double height) {this.height = height;}publicdouble getWeight() {return weight;}publicvoid setWeight(double weight) {this.weight = weight;}publicdouble getBmi() {return bmi;}publicvoid setBmi(double bmi) {this.bmi = bmi;}}Servlet: servlet.javapackage control;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importentity.BMI;public class Servlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {response.setContentType("text/html");BMI databean=new BMI();HttpSession session=request.getSession(true);session.setAttribute("data", databean);try{double a=Double.parseDouble(request.getParameter("height"));double b=Double.parseDouble(request.getParameter("weight"));databean.setHeight(a);databean.setWeight(b);doublebmi;bmi=b/(a*a);databean.setBmi(bmi);}catch(Exception e){}response.sendRedirect("index.jsp");}public void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {doGet(request, response);}public void init(ServletConfigconfig) throws ServletException {// Put your code heresuper.init(config);}}JSP :index.jsp<%@page contentType="text/html; charset=gb2312"%><jsp:useBean id="data"class="entity.BMI"scope="session"/><html><body><form action="Servlet"Method="get">输入身高以及体重身高:<input type=text name="height"value=0size=5>米体重:<input type=text name="weight"value=0size=5>千克<input type=submit value="提交"></form>身高<jsp:getProperty name="data"property="height"/>体重:<jsp:getProperty name="data"property="weight"/>BMI指数:<jsp:getProperty name="data"property="bmi"/> </body></html>等差数列:Bean:Number.javapackage entity;publicclass Number{ double firstItem; //数列首项double var; //公差int number; //求和项数double sum; //求和结果publicvoid setFirstItem(double a){ firstItem=a;}publicdouble getFirstItem(){ return firstItem;}publicvoid setVar(double b){ var=b;}publicdouble getVar(){ return var;}publicvoid setNumber(int n){ number=n;}publicdouble getNumber(){ return number;}publicvoid setSum(double s){ sum=s;}publicdouble getSum(){ return sum;}}Servlet : cal_servlet.javapackage control;importjava.io.IOException;import entity.Number;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public class Cal_Servlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {Number ser=new Number(); //创建Javabean对象request.setAttribute("ser",ser);//将shulie存储到request对象中double a=Double.parseDouble(request.getParameter("firstItem"));double d=Double.parseDouble(request.getParameter("var"));int n=Integer.parseInt(request.getParameter("number"));ser.setFirstItem(a); //将数据存储在shulie中ser.setVar(d);ser.setNumber(n);//计算和:double sum=0,item=a;inti=1;while(i<=n) //计算等差数列的和{sum=sum+item;i++;item=item+d;}ser.setSum(sum);RequestDispatcher dispatcher=request.getRequestDispatcher("output.jsp");dispatcher.forward(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {this.doGet(request, response);}public void init(ServletConfigconfig) throws ServletException{super.init(config);}}JSP :input.jsp<%@page contentType="text/html;charset=GB2312"%><HTML><BODY><FORM action="Cal_Servlet"Method="get">等差数列求和:<BR>输入首项:<Input type=text name="firstItem"size=4>输入公差:<Input type=text name="var"size=4>求和项数:<Input type=text name="number"size=4><Input type=submit value="提交"></FORM></BODY></HTML>Output.jsp<%@page contentType="text/html;charset=GB2312"%><jsp:useBean id="ser"class="entity.Number"scope="request"/> <html><body><table border="1"><tr><th>数列的首项</th><th>数列的公差</th><th>所求项数</th><th>求和结果</th></tr><tr><td><jsp:getProperty name="ser"property="firstItem"/></td> <td><jsp:getProperty name="ser"property="var"/></td><td><jsp:getProperty name="ser"property="number"/></td><td><jsp:getProperty name="ser"property="sum"/></td></tr></table></body> </html>。

相关文档
最新文档