当前位置:文档之家› jsp简答题

jsp简答题

jsp简答题
jsp简答题

简答题:

1.简述JSP页面的执行步骤?

答:客户端浏览器访问一个JSP页面,服务器端的Web容器将JSP转换为Servlet,并处理执行此Servlet中的相关内容,产生响应结果,然后再由Web容器将响应结果返回客户端浏览器.

2.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,它们通过标签的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开发项目中如何通过链接使用外部样式表文件?

在之间加入这行代码:

7.简述JSP的设计模式?

模式一JSP+JavaBean模式:在这种模式中,JSP页面独自响应请求并将处理结果返回客户,所有的数据库操作通过JavaBean来实现。

模式二MVC模式:“MVC”模式即是:“Model-View-Controller”模式。在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。JSP页面处于表现层,也就是视图(View)的角色。JavaBean

则负责数据的处理,也就是模型(Model)的角色。根据MVC模式,一个软件应该将模型(Model)和视图(View)分开。

8.与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代码中(即是加入到网页文档...之间)。利用

13.jsp 的组成元素?

静态部分:html、css标记等。

动态部分:1、脚本(包含:脚本程序<%java代码%>、声明<%!函数或方法%>、表达式<%=java表达式%>); 2.指令<%@ %>; 3.动作; 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.java

package 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.java

package 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 here

super.init(config);

}

}

JSP:index.jsp

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

三角形输入三条边:

边A:

边B:

边C:

三角形边A:

边B:

边C:

的面积是

BMI体质指数:

Bean:BMI.java

package 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.java

package 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 here

super.init(config);

}

}

JSP :index.jsp

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

输入身高以及体重

身高:

体重:

千克

身高

体重:

BMI指数:

等差数列:

Bean:Number.java

package 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.java

package 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"%>

等差数列求和:

输入首项:

输入公差:

求和项数:

Output.jsp

<%@page contentType="text/html;charset=GB2312"%>

数列的首项数列的公差所求项数求和结果

JSP试题及答案

第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。

参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层

(完整版)基于jsp的网上书店毕业设计论文

1.网上书店系统概述 网上书店是电子商务的一部分,电子商务应有的功能、网上书店也应该具有。由于商家软件设计不大一样,因此网上书店的功能也不完全一致,有的多,有的少。作者本人认为,网上书店是一种无店铺,人不出门,在计算机联网的网络上作业,就可进行远距离的图书销售与订购。一般应具有如下功能:(1)向上网顾客提供图书期刊在线电子版(虚拟版),供顾客订购、下载;(2)提供新书目、新书内容介绍、书评等,供顾客选择图书时参考;(3)提供书店存货书目,供顾客挑选或补全、补缺;(4)提供网上书店的有关资料,如营业执照等,让顾客了解网上书店的可信程度;(5)开辟网上论坛,供顾客在网上讨论有关图书内容与网上发行中的有关问题;(6)通过网络收集顾客采访图书的计划与要求,顾客的阅读爱好、兴趣、阅读历史和对网上书店的建议与要求;(7)网上订购图书、期刊;(8)安全认证、数字签名、网上结算和支付,并提供正式发票;(9)图书配送;(10)退货处理;(11)质量监控。但是由于时间及本人能力方面的一些条件所限,本次设计的网上书店系统主要是以实现购书和定单的功能作为设计的重点,实现了网络书店的一些最基本和必须的功能,其他的详细复杂的功能并没有涉及。

2.系统需求分析及设计 2.1业务及用户需求分析 要设计一个实用的网络书店销售管理系统,就必须首先明确应用环境对系统的要求。本系统开发的总体设计目标为开发一个在线系统,实现图书的在线查找、销售,以及在线管理等功能。系统以Windows操作系统为平台,网络联接以TCPIP协议为基础,使用Web服务器提供信息的浏览和查询,采用流行的BS三层体系结构。 因此,该系统需主要满足以下几方面需求: 1.用户的管理,含注册、检验及修改等功能。 2.在线图书销售,包括查找、购物车及定单等功能。 3.图书在线管理,如浏览、修改、添加和删除图书等。 2.2系统可行性分析 本节从技术的可行性,经济的可行性以及操作的可行性三个方面来说明本网站的可行性。 2.2.1技术可行性 1.硬件:计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高, 通信设备的能力、质量都可以满足要求。 2.系统软件: (1)操作系统Windows XP2000接口能力强,数据库管理系统的功能足够。 (2)Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无

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() %>
namesession:<%=sessio n.geta ttribute("namesession").tostring() %>
nameapplication:<%=application.getattribute("nameap plication").tostring() %> application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。request:请求作用域,就是客户端的一次请求。 2、什么是数据库连接池?在JSP中怎样实现数据库连接池? 答:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 3、怎样实现JavaBean的一个属性与输入参数关联?怎样实现JavaBean中的所有属性与请求参数关联? 答:1) 如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法: a.getXxx(),用来获取属性xxx。 b.setXxx(),用来修改属性xxx.。 2) 类中方法的访问属性都必须是public的。 3) 类中如果有构造方法,那么这个构造方法也是public的并且是无参数的 4、Servlet和Servlet之间以及Servlet与JSP之间是怎样实现通信的? 答:(1)应用ServletContext a.在Servlet A中,用setAttribute()设置你要共享的数据 b.在Servlet B中,用getAttribute()读取以上的object 一个servlet直接调用另一个servlet的doget 或dopost方法,将所有参数都传过去。 (2)a. jsp-->servlet: 直接使用或者sendRedirect 可以访问任何URL (当然也包括servlet)。 b.servlet-->jsp: RequestDispatcher接口的forward(req, res)方法,请求信息需要显式传递(在req、res参数中或者通过sendRedirect。

基于JSP的网上购物系统本科毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。 除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期: 基于JSP的网上购物系统设计 摘要:本网上购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。 本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网 上购物系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了会员注册,购物车管理,用户资料修改等功能,为管理员提供了商品管理,用户信息管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。后台数据库选用My SQL数据库。 关键词:B/S结构;JavaBean;JSP;

JSP课后参考答案

习题1 JSP 简介 1. 安装Tomcat5.5所在的计算机需要事先安装JDK吗? 答:需要。 2. 运行startup.bat启动Tomcat服务器的好处是什么? 答:能够确保Tomcat服务器使用的是JA V A_HOME环境变量设置的JDK. 3. Boy.jsp和boy.jsp是否是相同的JSP文件名字 不是 4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面保存到该目录中,让用户使用权虚拟目录fish来访问该JSP页面? 答:设置方法: ①建立D:\ water目录; ②修改server.xml文件,在上一行添加: ③使用http://localhost:8080/ fish /example1_1.jsp访问 example1_1.jsp页面.

5. 假设Dalian是一个Web服务目录,其虚拟目录为moon, A.jsp保存在Dalian的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jsp C. http://127.0.0.1:8080/moon/A.jsp D. http://127.0.0.1:8080/moon/sea/A.jsp 答:D 6. 如果想修改的端口号,应当哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其他占有80端口号的程序,可以将其修改为8080,否则不能。 习题2 JSP页面 1."<%!"和"%>"之间声明的变量与"<%"和"%>"声明的变量有何不同? 答: "<%!"和"%>"声明的变量为类的成员变量,其所占的内存直到

JSP课后简答题

第1章Web技术简介 1.简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作:将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文 件)。 JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2.简述JSP的两种体系结构。 答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。项目越复杂,使用Model 2体系结构的优势就越突出。 3.简述JSP开发Web站点的主要方式。 答:JSP开发Web站点主要有以下几种方式。 (1)直接使用JSP (2)JSP+JavaBean (3)JSP+JavaBean+Servlet (4)J2EE/JavaEE开发模型 (5)SSH开发框架 第3章 HTML与CSS简介 1.简述什么是HTML,有什么基本标签。 答:HTML(Hypertext Markup Language)即超文本标记语言或超文本链接语言,是一种用来制作超文本文档的简单标记语言,它不是一种真正的编程语言,只是一种标记符。通过一些约定的标签符号对文件的内容进行标注,指出内容的输出格式。当用户浏览WWW信息时,浏览器会自动解释这些标签的含义,并按照一定的格式在屏幕上显示这些被标记的信息。基本标签有、、、<body>等。</p><h2>校园网站jsp毕业设计(论文)</h2><p>毕业设计设计题目:基于J2EE的学院计算中心网站设计 系别:_________________________ 班级:_________________________ 姓名:_________________________ 指导教师:_________________________ 年6月10 日</p><p>1 基于J2EE 的学院计算中心网站设计 摘要 本文着重阐述了计算机中心网站的开发过程。介绍了网站的开发环境以及开发工具,对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了网站各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个模块程序设计的规划及具体实现。 根据实际需求,计算机中心网站设计这个项目采用模块化的设计思想,在Windows XP 操作系统环境下,搭建JSP 运行环境JDK+TOMCAT ,通过使用JAVA 脚本语言完成动态的、交互的web 服务器应用程序,实现学校网站的多种功能。 本网站具有多方面特点:网站功能完备,用户使用方便简捷,人性化的用户界面,设置齐全,大大减少了操作人员和用户的工作负担,提高了学校的信息化的水平。 关键词:Java 数据库 网站设计</p><p>The Design Based on J2EE of TangShan College Computer Center Web Site Abstract This article focuses on the computer center web site for the development process. Introduced a web site for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the web site to achieve process and detailed design process, drawing a simple web function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization. According to actual demand, the computer center web site for this project is modular in design, in the Windows XP operating system environment, the structures JSP operating environment JDK + TOMCAT, through the use of scripting language JAVA complete dynamic, interactive web server applications, curriculum information and results of information management. This web site has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and improve the efficiency of the management of school information Level. Keywords: JSP;Database;Website Design 2</p><h2>JSP复习题及部分答案</h2><p>一、判断题 HTML称为超文本元素语言,它是Hypertext Marked Language的缩写。(对) 一个HTML文档必须有<head>和<title>元素。(错) 超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。(对) 在网页中图形文件与网页文件是分别存储的。(对) 绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。(对) 超级链接<a>标记的target属性取值为链接的目标窗名,可以是parent、blank、 self、top。(错) 当样式定义重复出现的时候,最先定义的样式起作用(错)。 JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(对)在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。 (错) 表单域一定要放在<form>元素中。(对) 用户在浏览器中输入,不同的客户之间不共享。(错) 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。(对) 程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(对) 程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(对) JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(对) 在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。(错) 不可以用一个page指令指定多个属性的取值。(错) jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。(对) jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。(对) <jsp:forward ... >标记的page属性值是相对的URL地址,只能静态的URL。(错) JSP页面只能在客户端执行。(错) JSP页面中不能包含脚本元素。(错) Page指令不能定义当前JSP程序的全局属性。(错) out对象是一个输出流,它实现了接口,用来向客户端输出数据。(对) contentType属性用来设置JSP页面的MIME类型和字符编码集,取值格式为"MIME 类型"或"MIME类型;charset=字符编码集",response对象调用addHeader方法修改该属性的值。(错) 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。(错) public long () 设置最长发呆时间,单位毫秒。(错) respone对象主要用于向客户端发送数据。(对) Post属于表单的隐式提交信息方法。(对) <select>标记用于在表单中插入一个下拉菜单。(对)</p><h2>JSP复习题-简答讲解学习</h2><p>J S P复习题-简答</p><p>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 构造方法名([参数列表]);使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。通过使用运“.”实现对成员变量的访问和成员方法的调用。销毁对象的操作由Java提供的垃圾回收机制自动完成。不需要手工完成销毁对象操作。或者调用对象的finalize()方法。2-4 构造方法的概念及用途是什么?答:构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。构造方法用于对对象中的所有成员变量进行初始化,在创建</p><h2>jsp题库及参考答案要点</h2><p>选择题: 1)下面对Http请求消息使用GET和POST方法陈述正确的是:(单选)(C) A POST方法提交信息可以保存为书签,而GET则不行 B 可以使用GET方法提交敏感数据 C 使用POST提交数据量没有限制 D 使用POST方法提交数据比GET方法快 2)Web应用程序打包后的扩展名是:(单选)(B) A EAR B WAR C JAR D RAR 3)下面关于Servlet的陈述正确的是:(多选)(BC) A 我们在浏览器的地址栏直接输入要请求的Servlet,该Servlet默认会使用doPost 方法处理请求 B Servlet运行在服务器端 C Servlet的生命周期包括:实例化,初始化,服务,破坏,不可以用 D Servlet不能向浏览器发送Html标签 4)在Web应用程序中web.xml配置了Servlet的信息,如果你的项目为 LoginDemo,那么web.xml最可能位于哪个目录下。(单选)(D) A LoginDemo/ B LoginDemo/src/ C LoginDemo/logindemo/WEB-INF/bin/ D LoginDemo/logindemo/WEB-INF/ 5)下面说法错误的是:(多选)(CD) A Http协议是无状态的协议 B 会话跟踪技术有:用户授权,隐藏表单域,URL重写,Cookie等 C 使用request.getSession(false)可以新建会话 D 使用request.addCookie()可以添加Cookie到客户端 6)在login.html中存在如下代码 <form action=”/logindemo/login”> username:<input type=’text’ name=’userName’ id=’myName’value=’your name’> </form> 在login servlet中获得文本框的值正确的是:(单选)(D) A 无法获取,因为代码在Html中 B request.getAttribute(“userName”) C request.getParameter(“myName”) D request.getParameter(“userName”) 7)可以用于发送邮件的协议有:(多选)(BD) A Pop3 B SMTP C FTP D IMAP 8)在使用JavaMailAPI发送邮件时可以使用哪个方法:(单选)(A)</p><h2>JSP课后习题及答案</h2><p>1. Web技术的设想在()年提出 A.1954 B.1969 C.1989 D.1990 2. JSP页面在第一次运行时被JSP引擎转化为() A.HTML文件 B. CGI文件 C. CSS文件 D.Servlet 文件 3. JavaEE体系中Web层技术是() A. HTML B. JavaBean C. EJB D. JSP 1 用来换行的标签是() A.<P> B.<br> C.<hr> D.<pre> 2. 用来建立有序列表的标签是() A.<ol></ol> B.<ul></ul> C.<dl></dl> D.<il></il> 3. 用来插入图片的标签是() A.<img> B.<image> C.<bgsound> D.<table> 4. css文件的扩展名为() A.doc B. text C. html D. css 1. 有关JSP中的HTML注释叙述正确的是() A.发布网页时看不到,在源文件中也看不到。 B.发布网页时看不到,在源文件中能看到。 C.发布网页时能看到,在源文件中看不到。 D.发布网页时能看到,在源文件中也能看到。 2. JSP支持的语言是() A. C语言 B. C++语言 C. C#语言 D. Java语言</p><p>3. 在同一个JSP页面中page指令的属性中可以使用多次的是() A. Import B. session C. extends D. Info 4. 用于获取Bean属性的动作是() A.<jsp:useBean> B.<jsp:getProperty> C.<jsp:setProperty> D.<jsp:forward> 5. 用于为其他动作传送参数的动作是() A.<jsp:include> B.<jsp:plugin> C.<jsp:param> D.<jsp:useBean> 1. Pesponse对象的setHeader(String name,String value)方法的作用是() A.添加HTTP文件头 B.设定指定名字的HTTP文件头的值 C.判断指定名字的HTTP文件头是否存在 D.向客户端发送错误信息 2. 设置session的有效时间(也叫超时时间)的方法是() A. setMaxInactiveInterval(int interval) B. getAttributeName() C. setAttributeName(String name,https://www.doczj.com/doc/5e13934901.html,ng.Object value) D. getLastAccessedTime() 3. Out对象中能清除缓冲区中的数据,并且把数据输出到客户端的方法是() A. out.newLine() B. out.clear() C. out.flush() D. out.clearBuffer() 4. pageContext对象的findAttribute()方法作用是() A. 用来设置默认页面的范围或指定范围之中的已命名对象</p><h2>JSP复习题-简答</h2><p>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 构造方法名([参数列表]);使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。通过使用运“.”实现对成员变量的访问和成员方法的调用。销毁对象的操作由Java提供的垃圾回收机制自动完成。不需要手工完成销毁对象操作。或者调用对象的finalize()方法。2-4 构造方法的概念及用途是什么?答:构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。构造方法用于对对象中的所有成员变量进行初始化,在创建对象时立即被调用。2-6 在Java语言中,处理异常的语句有哪4种?答try …catch、finally 、throw、throws2-7 在JSP中引入JavaScript的方法有哪些?方法1.在页面中直接嵌入JavaScript<script language="javascript">…</script>方法2.链接外部JavaScript<script language="javascript" src="javascript.js"></script>2-9 在JavaScript中如何定义并调用函数?function functionName([parameter1, parameter2,…]){statements[return expression] }如果要调用不带参数的函数,则使用函数名加上括号即可;如果要调用的函数带参数,则在括号中加上需要传递的参数,如果包含多个参数,各参数间用逗号分隔。如果函数有返回值,那么可以使用赋值语句将函数值赋给一个变量。3-1 JSP页面由哪些元素组成?<%@ page language="java" contentType="text/html; charset=gb2312”%><%@ page import="java.util.Date" %><html> <head><title>JSP页面的基本构成

<% String today=new Date().toLocaleString(); %>今天是:<%=today%>
3-2 JSP中主要包含哪几种指令标识?它们的作用及语法格式是什么?page指令定义在整个JSP 页面范围内有效的属性。<%@ page contentType="text/html;charset=gbk" %>include指令用于在当前的JSP页面中使用该指令的位置嵌入其他的文件,如果被包含的文件中有可执行的代码,则显示代码执行后的结果。<%@ include file="文件的绝对路径或相对路径" %>通过使用taglib指令,开发者就可以在页面中使用标准标签或自定义标签来完成特殊的功能。<%@ taglib {uri="URI" | tagdir="/WEB-INF/tags[/subdir]+"} prefix="tagPrefix" %><%@taglib prefix="mytagf" tagdir="/WEB-INF/tags"%>3-3 JSP中的脚本标识包含哪些元素?它们的作用及语法格式是什么?声明(Declaration)表达式(Expression)脚本程序(Scriptlet)<%! 声明变量或方法的代码%>在页面中通过声明标识声明的变量和方法,在整个页面内都有效,它们将成为JSP页面被转换为Java类后类成员变量和成员方法。并且它们会被多个线程即多个用户共享,其中的任何一个线程对声明的变量或方法的修改都会改变它们原来的状态。它们的生命周期从创建到服务器关闭后结束。表达式用于向页面中输出信息。<%= 变量或可以返回值的方法或Java表达式%>(1)向页面输出内容:<% String name="quchch"; %>用户名:<%=name%>(2)生成动态的链接地址:<% String path="welcome.jsp"; %>链接到welcom.jsp(3)动态指定Form表单处理页面:<% String name="logon.jsp";%>
(4)为通过循环语句生成的元素命名:<% for(int i=1;i<3;i++){ %> file<%=i%>:">
<% } %>在脚本程序中可以定义变量、调用方法和进行各种表达式

jsp 毕业设计参考文献

jsp 毕业设计参考文献 [1]飞思科技产品研发中心.JSP应用开发详解(第二版)[M].北京:电子工业出版社,2004 [2]吴以欣,陈小宁.JavaScript 脚本程序设计[M].北京:人民邮电出版社,2005 [3]萨师煊,王珊.数据库系统概论(第三版) [M].北京:高等教育出版社, 2000 [4] 孙卫琴、李洪成.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2004 [5] 曾云飞,基于Struts框架的电子政务研究和实现 [M].东北大学出版社2005 [6]程凯.JSP中文问题及一套整体解决方案[J].许昌学院学 报,2006,25(5):77-80. [7]刘长生,谢强,丁秋林.Java应用中的汉字乱码问题分析[J].计算机技术与发展,2006,16(1):158-161 [8]乐秀潘,沈琴.structs1.1与struct1s.2的比较[J].电力系统通信.2000,20(5):35—39 [9]孙东卫,张冀红,李声利. 数据库访问技术研究[J].现代电子技 术.2002,18(5).20-34. [10] 苟凌怡,魏生民. SQL Server 中索引的有效选取[J].计算机工程与应用, 1999,35(6): 70-71 [11] 张树亮, 李超https://www.doczj.com/doc/5e13934901.html, 2.0+SQL Server网络应用系统开发案例精解[M].北京:清华大学出版社,2006 [12] G.E.Hobona, S.J.Abele, Philip James [J]. University of Newcastle upon Tyne, 2006 [13] Mark Wutka,Alan Moffet,Kunal Mittal.Sams Teach Yourself JAVAServer Pages 2.0 with Apache Tomcat in 24 Hours[M].Sams Publishing,2003 [14]James Turner,Kevin Bedell. Struts Kick Start[M]. SAMS,2004 [15] Kong Michael. An environment for secure SQL/Server computing [M].Oxford University Press Inc., 1993: 149 [1] 程凯. 计算机技术与应用研究[J]. 许昌学院学报,2006, 25(5):77-80 [2] 赵川,丁志刚,宗宇伟等. 基于Eclipse的测试工具管理平台构建[J]. 软件

jsp编程基础第一章习题

第一章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是Internet中资源的命名机制,URL由三部分构成。(A) A)协议、主机DNS名或IP地址和文件名 B)主机、DNS名或IP地址和文件名、协议 C)协议、文件名、主机名 D)协议、文件名、IP地址 6.下列说法哪一项是正确的(C) A)Apache用于ASP技术所开发网站的服务器 B)IIS用于CGI技术所开发网站的服务器 C)Tomcat用于JSP技术所开发网站的服务器 D)WebLogic用于PHP技术所开发网站的服务器 7.Tomcat服务器的默认端口号是:(B) A)80 B)8080 C)21 D)2121

二、判断题 1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的。(对) 2.Internet和intranet的含义意义相同。(错) 3.互联网起源于美国国防部高级研究计划管理局建立的ARPA网。(对) 4.Web开发技术包括客户端和服务器端的技术。(对) 5.Tomcat和JDK都不是开源的。(错) 三、填空题 1.W3C是指__万维网联盟_____________。 2.Internet采用的通信协议是______TCP/IP________。 3.IP地址用四组由圆点分割的数字表示,其中每一组数字都在__0~254____________之间。 4.当今比较流行的技术研发模式是____C/S______和____B/S________的体系结构来实现的。 5.Web应用中的每一次信息交换都要涉及到______服务器_______和_______客户端_______两个层面。 6.静态网页文件里只有___HTML标记___________,没有程序代码。 四、思考题 1.为什么要为JDK设置环境变量? 2.Tomcat和JDK是什么关系? 3.什么是Web服务根目录、子目录、相对目录?如何配置虚拟目录? 4.什么是B/S模式? 5.JSP、JavaBeans和JavaServlet之间的关系? 6.集成开发环境能为程序员做什么? 7.使用MyEclipse开发JSP程序,需要做那些配置? 8.MyEclipse和Eclipse的关系?

相关主题
文本预览
相关文档 最新文档