JSP期末考试.docx

上传人:b****6 文档编号:6228013 上传时间:2023-01-04 格式:DOCX 页数:17 大小:23.20KB
下载 相关 举报
JSP期末考试.docx_第1页
第1页 / 共17页
JSP期末考试.docx_第2页
第2页 / 共17页
JSP期末考试.docx_第3页
第3页 / 共17页
JSP期末考试.docx_第4页
第4页 / 共17页
JSP期末考试.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JSP期末考试.docx

《JSP期末考试.docx》由会员分享,可在线阅读,更多相关《JSP期末考试.docx(17页珍藏版)》请在冰豆网上搜索。

JSP期末考试.docx

JSP期末考试

《JavaWeb应用程序开发》复习提纲

1.如何构建一个Web应用程序,它的目录结构是怎样的?

如何把这个Web应用程序部署到Tomcat服务器,有哪些方法?

举例说明:

(1)Web应用程序的目录结构:

Web应用程序的根目录:

\WEB-INF\web.xmlweb应用程序的配置文件

\WEB-INF\class\放置包目录结构及Java类

\WEB-INF\lib\放置打包后的.jar文件

\JSP文件和其他资源

(2)web应用程序发布到tomcat服务器三种方法:

①将web应用程序目录复制到tomcat的应用程序目录的webapps下

②创建web应用程序归档文件,将.war文件复制到应用程序目录webapps下

③建立虚拟路径:

修改server.xml文件

构建一个Web应用程序webApp,并用一个自定义的XML文件test.xml来部署Web应用程序。

XML文件的内容是什么?

它放在哪个物理路径下?

如果要请求webApp根目录下的example.jsp,那么在浏览器地址栏中输入的URL地址是什么?

(假设Web服务器的名字为localhost,端口号为8080)

(1)test.xmlXML文件内容:

(2)它放在哪个物理路径下?

在tomcat服务器conf\Catalina\localhost目录,将配置文件拷贝到localhost目录下,

(3)请求webApp根目录下的example.jsp,那么在浏览器地址栏中输入的URL地址是什么

http:

//localhost:

8080/test/example.jsp

2.掌握JSP的运行原理,了解JSP的运行环境。

(1)Jsp动态网页处理过程:

JSPweb服务器在处理JSP网页时,首先调用JSP引擎将JSP文件转化为servlet,其次将该servlet编译为.class文件,然后调用servlet引擎执行class文件,输出HTML网页发送到客户端的浏览器显示

(2)JSP的运行环境:

需要能够解析编译JSP代码的web服务器支持如tomcat和JDK

3.掌握JSP文件的基本构成。

JSP文件主要由HTML网页及其嵌入的Java代码构成。

组成JSP页面的各个元素有普通网页内容(模板元素),Java代码(脚本元素),注释,指令,动作。

4.page指令的语法格式和各属性的名称、值、作用。

Page指令的语法格式:

<%@page%>

Page指定的属性:

属性名称

作用

Language

Java

定义的脚本语言

Import

包和类列表

引入的Java类

Session

TRUE/FALSE

指定页面是否支持http会话

Buffer

8kb/none

指定客户输出流缓冲模式

autoFlash

TRUE/FALSE

TRUE时缓冲区满时到客户端输出被刷新,FALSE缓冲区满时,出现运行异常,表示缓存溢出

Info

关于JSP页面的信息,

IsErrorPage

TRUE/FALSE

当前页面是否为其他页面的错误处理页

errorPage

定义页面出现异常时调用的页面

contentType

“text/html;charset=gb2312”

定义页面响应的MIME类型和输出页面的编码

pageEncoding

JSP页面的编码

5.include指令的语法格式、作用、属性名称、属性值。

Include指令的语法格式:

<%@includefile=”filename”%>

作用:

在当前JSP页面中指令所在的位置将指令指定的资源内容包含进来,被包含的资源可以使JSP文件、HTML文件、文本文件、Inc文件。

include指令的属性:

file:

为要包含的资源的路径和文件名,如果资源路径以文件名或目录名开头,则以当前路径,及包含该指令的JSP文件所在的目录为参照,如果路径以”/”开头,则以web程序上下文路径,即网站根目录为参照

6.

include>、

param>、

forward>三种动作标签的语法格式、属性、作用。

标签

语法格式

属性

作用

include>

includepage=””flush=”true”>

include>

page:

要包含资源的路径和文件名

在当前JSP页面中动作标签所在的位置将指定的资源内容包含进来

param>

paramname=”paramName”value=”paramValue”/>

Name:

属性指定参数名

Value:

属性指定的参数值

以名-值对的形式为其他标签提供附加信息

forward>

forwardpage=”url”>

forward>

Page:

指定将要转向的资源路径

将请求转发到另一个JSP、servlet或静态资源文件

7.从语法格式和运行原理两方面来分析Include指令和include动作的不同。

(1)语法格式:

include指令:

<%@includefile=”....”%>include动作:

includepage=”...”>

(2)运行原理:

include指令时静态的,编译时包含,被包含的内容插入到servlet类中,JSP引擎将对所包含的文件进行语法分析,对各类被包含的文件都作为JSP文件对待。

Include动作是动态或静态的包含,运行时包含,被包含的内容插入到输出的网页中,JSP引擎不对所包含的文件进行语法分析,对被包含的JSP文件单独编译,而对其他类型的被包含文件只做静态文件插入到输出的网页中。

8.Java脚本的三种形式及用法。

Java脚本的三种形式:

声明、表达式、scriptlet

Scriptlet:

<%......%>是指包含在<%%>之间的代码,在web容器处理JSP页面时执行,除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码

表达式:

<%=......%>

声明:

<%!

....%>声明中定义的变量属性变量是全局的,而scriptlet定义的变量属于局部变量

9.JSP文件中注释的类型、标记、作用。

JSP文件的注释有三类:

HTML注释、JSP注释、Java注释

HTML注释:

---->

JSP注释:

<%---->

Java注释:

///**//***/

JSP注释和Java注释不能传输到客户端,Java注释只能嵌入到Java代码中

10.JSP提供的9个内置对象的名称、作用、作用域。

内置对象

作用

作用域

Request

封装客户端请求,通过该对象提供的方法可以访问http请求的请求数据

Request

Response

封装对客户端的相应,通过该对象提供的方法可以进行HTTP应答操作

page

pageContent

封装JSP页面的上下文,该对象通过的方法管理JSP页面不同作用域属性

page

Session

封装客户端的会话管理,通过该对象可以对当前用户的状态进行跟踪管理

Session

Application

封装web应用程序的上下文,通过该对象对整个应用程序状态进行管理

Application

Out

封装为客户端打开的输出流,通过该对象可向客户端输出数据

Page

Config

封装JSP配置参数,使用容器获取应用程序配置文件设置的初始化数据

Page

Page

代表JSP页面本身,即JSP页面转化的servlet实例

Page

Exception

封装JSP页面的错误信息,通过该对象可以获取页面所发生的错误信息

page

11.request对象的getParameter()方法,产生的中文乱码问题、空对象问题如何解决?

getParameter()获取客户端提交的参数,这个数据只能是字符串类型

pageEncoding设置字符编码

12.request对象的setCharacterEncoding()。

setCharacterEncoding()重载在请求正文中使用的字符编码

13.response对象的sendRedirect()方法的用法、作用,它和forward动作有什么不同?

sendRedirect()方法的用法、作用

sendRedirect(StringURL)在响应提交前,将客户端请求转向指定的URL

sendRedirect()方法和forward动作有什么不同

forward>动作转向前后的网页在同一个请求(request)作用域,只能在同一个应用程序间重定向,转向是在服务器端进行的,浏览器地址栏的URL没有变化,转向地址最前面的“/”解析为当前WEB应用程序的根目录。

Response对象的sendRedirect方法转向前后的网页不在同一个请求上下文,转向后的地址要发送到客户端,由浏览器重新进行一次请求,转向地址可以在任何位置,浏览器地址栏中显示转向后的URL,转向地址最前面的”/”解析为当前服务器的根目录

14.如何创建一个Cookie实例,设置它的生命周期,把这个Cookie实例写到客户端?

如何从客户端传来的http请求中读取这个Cookie的值。

创建一个Cookie实例,设置它的生命周期,把这个Cookie实例写到客户端

<%@pagecontentType="text/html;charset=gb2312"%>

Cookie操作

<%

Cookiecookie=newCookie("lastLoginTime",newjava.util.Date().toLocaleString());

response.addCookie(cookie);

%>

从客户端传来的http请求中读取这个Cookie的值

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

Cookie操作

<%

Cookie[]cookies=request.getCookies();

Cookiec;

for(inti=0;i

c=cookies[i];

Stringname=c.getName();

if(name.equals("lastLoginTime"))

out.println("你上次登录的时间是:

"+c.getValue());

}

//设置

c=newCookie("lastLoginTime",newjava.util.Date().toLocaleString());

response.addCookie(c);

%>

15.如何设置、获取session、application范围内的属性?

掌握setAttribute()、getAttribute()、removeAttribute()方法。

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

JSP内置对象

<%

if(session.getAttribute("name")==null){

session.setAttribute("name","JSPFan");

out.println("已经在会话上下文保存用户名
");

}

else{

out.println(session.getAttribute("name")+"你好!

欢迎光临!


");

}

%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

JSP内置对象

<%

if(session.getAttribute("name")==null){

out.println("会话上下文中没有保存anme,或者已经被注销!


");

}

else{

out.println(session.getAttribute("name")+"你好!

欢迎光临!


");

}

%>


会话信息:


会话中的请求间隔:

<%=session.getMaxInactiveInterval()%>


会话ID:

<%=session.getId()%>


会话的创建时间:

<%=session.getCreationTime()%>


最后一次访问会话的时间:

<%=session.getLastAccessedTime()%>


新创建的会话:

<%=session.isNew()%>

 

<%@pagecontentType="text/html;charset=gb2312"%>

JSP内置对象

<%

if(session.getAttribute("name")==null){

out.println("会话上下文中没有保存anme,或者已经被注销!


");

}

else{

out.println(session.getAttribute("name")+"你好!

用户名已经被注销!


");

session.removeAttribute("name");

//注销会话,用户保存在本次会话中的数据全部失效。

//session.invalidate();

}

%>

16.简述Servlet的概念,它与JSP的联系。

Servlet是运行在服务器端,用来响应客户端请求的java代码模块;Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。

Servlet是Java语言的CGI;

Servlet是JSP的底层,JSP是Servlet的简化设计。

Servlet作为服务器端小应用程序与Applet对应,这二者是Java语言网络功能的体现。

17.简述Servlet生命周期的四个阶段。

①加载和实例化

②初始化

③请求处理

④服务终止

18.与Servlet实现相关的接口和类有哪些?

它们之间的关系?

与Servlet实现相关的接口和类:

Servlet接口、GenericServlet类、HttpServlet类

19.与Servlet配置相关的接口是什么?

从web.xml中获取初始化参数的方法是什么?

与Servlet配置相关的接口是主要包含ServletConfig接口

getInitParameter()方法返回初始化参数的值,初始化参数的值在web.xml配置文件中进行配置

20.与Servlet协作相关的接口是什么?

它的forward、include方法如何用?

作用是什么?

与Servlet协作相关的接口是:

RequestDispatcher接口,提供把一个请求转发到另一个资源,或者包含另一个资源的的方法:

forward()方法:

publicvoidforward(ServletRequestrequest,ServletResponseresponse)throwsServletException,java.io.IOException

把请求转发到服务器的另一个资源(Servlet,JSP,HTML)

Include方法:

publicvoidinclude(ServletRequestrequest,ServletResponseresponse)throwsServletException,java.io.IOException

把服务器上的另一个资源(Servlet,JSP,HTML)包含到响应中

21.熟练掌握开发Servlet的步骤。

以下面程序为例:

(1)编写一个Servlet源程序,获取客户通过表单提交的用户名、密码并把它显示在页面上;

SecondServlet.java

packagejspex.servlet;//包结构

importjavax.servlet.*;//导入12接口,7个类

importjava.io.*;//导入字符流

导入要使用的Java类

publicclassSecondServletextendsGenericServlet//继承GenericServlet抽象类

{

Stringpassword;

Stringusername;

publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsServletException,IOException//实现service虚拟方法

{

response.setContentType("text/html;charset=gb2312");

PrintWriterout=response.getWriter();

out.println("");

out.println("");

out.println("SecondServlet");

out.println("");

out.println("");

out.println("

ThisismysecondServlet

");

out.println("


");

out.println("获得了以下初始化参数:


");

out.println("username="+username+"
");

out.println("password="+password+"
");

out.println("");

out.flush();

}

publicvoidinit()throwsServletException//初始化配置

{

password=getInitParameter("password");

username=getInitParameter("user");

}

}

(2)编译Servlet源程序,把字节码按包结构放到classes目录下。

WEB-INF目录下的class子目录

(3)配置Serlvet,写出web.xml中完整的配置代码。

在Web应用程序的配置文件web.xml文件配置:

代码放在两部分

SecondServlet//定义servlet名称

jspex.servlet.SecondServlet//servlet对应的Java类,带包结构

//声明初始化参数

user

root

password

keepsecret

SecondServlet

/servlettest/secondserverlet//客户端请求servlet时的URL,/开头

(4)运行Servlet,写出正确的URL地址。

http:

//localhost:

8080/jspex/servlettest/secondserverlet

22.了解JavaBean的编写规范,如何编写一个值JavaBean,熟练掌握在JSP页面中使用这个JavaBean用到的

useBean>、

setProperty>、

getProperty>动作标签.

JavaBean的规则:

①定义JavaBean的包结构,无包结构的JavaBean在JSP中无法使用

②JavaBean类必须是一个公共类,及其访问属性设置为public

③JavaBean类必须有一个不带参的公共构造器,

④一个JavaBean类不应该有公共实例变量,类变量都为private

⑤定义JavaBean的属性,即定义getter和setter方法

23.编写一个表单文件register.html,包含用户名、密码、Email三个控件,要求正确设定表单中各文本框的名称;编写一个值JavaBean程序,用来封装用户通过注册表单提交的信息,该Bean名为User.java,包结构为:

com.jsp.jspex,每个属性必须提供读写方法;编写JSP文件register_do.jsp,接收register.htm文件提交的数据并赋给User.java的属性,然后将各个属性的值显示出来。

①编写一个表单文件register.html,包含用户名、密码、Email三个控件,要求正确设定表单中各文本框的名称;

Register.html

用户名:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1