Java Web应用开发项目教程 王俊松 练习题及答案_第1页
Java Web应用开发项目教程 王俊松 练习题及答案_第2页
Java Web应用开发项目教程 王俊松 练习题及答案_第3页
Java Web应用开发项目教程 王俊松 练习题及答案_第4页
Java Web应用开发项目教程 王俊松 练习题及答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习1:Web服务器原理

学号姓名:班级:成绩:

一、不定项选择(每题2分,共10分)

1.以下哪些属于浏览器的功能(),哪些属于Web服务器的功能().

A.编辑HTML文档B.展示网页中的图片C.解析并展示HTML文档

D.发送HTTP请求,接收HTTP响应E.接收HTTP请求,发送HTTP响应

2.什么是静态网页?()

A.就是指事先存放在Web服务器端文件系统中的HTML文档

B.就是不允许包含声音、动画等的HTML文档

C.只能包含HTML标签,不能包含其它任何语言代码的HTML文档

D.不允许修改的HTML文档

3.安装了Tomcat,但无法启动Tomcat,可能是由于哪些原因引起的?()

A.没有安装JDKB.Tomcat与JDK的版本不匹配

C.安装了JDK,但是环境变量配置不上确D.没有安装浏览器

E.没有安装EclipseF.有进程占用了Tomcat的端口

4.Javaweb应用的文件必须按照规范部署到服务器上,下面关于部署结构的说法错误的是()

A.classes目录在web应用根目录下。

B.WEB-INF在web应用根目录下,WEB-INF中包含classes目录,存放的是编译后的class文件。

C.页面文件可以直接存放在web应用的根目录下。

D.web部署描述符web.xml存放在web应用根目录下的WEBTNF目录中。

5.下面关于Eclipse下的web工程,说法正确的是()

A.Java文件存放在工程根目录下的JavaResources/src中

B.页面文件一般存放在工程根目录下的WebContent中,或者WebContent的子目录中。

C.WEB-INF文件夹在WebContent根目录下,包含lib文件夹和web.xml

D.web部署描述符web.xml存放在WebContent根目录下。

二、填空(每空1分,共20分)

1.一个URL:http://o-w.runoob.com/http/http-methods.html,它的

应用层协议是__________________________________

主机(web服务器)域名是

资源路径是__

2.HTTP响应的状态码中,表示响应成功,表示请求的资源不存在。

3.Tomcat根目录下的文件夹用于存放Tomcat的各种命令对应的批处理文件或者可执行程序,

该文件夹下的批处理文件可以用于启动tomcato

4.在Tomcat根目录下的文件夹一般用于存放web应用。

5.web.xml(web部署描述符)存放在web应用根目录下的文件夹中。

6.安装完Tomcat后,如果想测试是否成功,可以启动Tomcat,并在浏览器中输入地址

,如果能看到Tomcat的欢迎页面,表示成功。

7.键盘上的键可以用于启动浏览器的开发者工具,开发者工具的选项卡可以用于查

看请求和响应,——选项卡可以用来查看网页元素(填中英文名称均可)。

8.假设一个web应用为helloapp,应用中有一个页面hello.html,它的路径是:

tomcat根目录/webapps/helloapp/comon/hello.html,在浏览器中访问hello,html应该输入的地址:

9.接上题,如果在web.xml中添加了<welcome-file>common/hello.html〈/welcome-file>配置,在浏览器

中访问hello.html地址还可以写成:。

10.表单<form>的______属性用来指定请求提交方法,属性值为时请求以GET方式提交,属

性值为时请求以POST方式提交。属性用于指定表单提交地址。

11.a.html和b.html两个页面位于同一web应用的同一文件夹下,a.html中有一个超链接,链接到b.html,

并携带两个请求参数,参数page的值为1,参数keywords的值为web,请补全超链接:

<ahref=**>提交(/a>

三、简答(每题10分,共30分)

1.请例举会向服务器发送GET请求的场合,描述GET请求的特征。(10分)

2.例举会向服务器发送POST请求场合。描述POST请求的特征。(10分)

3.下面是一个Eelipse中的web工程,请仔细观察工程结构回答下面的问题。(10分)

*梨servletApp

1)这是index.html中的表单部分代码,该表单以GET方法提交,该表单提

>幼DeploymentDescriptor

>&JAX-WSWebServices交到check.jsp,请补全下划线。

▼AJavaResources<form___________________________________________>

>Qsrc

工作:<inputtype=*text*name=*job*/>

>aLibraries

>0JavaScriptResources年限:〈inputtype=*text*name=*years*/>

>abuild</form>

veWebContent

>eimg

2)如果用户输入的工作是"医生",年限是"3”,请写出请求参数字符串。

>fe-META-INF

*epages

*邑common

管checkjsp

£iindex.html

▼3WEB-INF

>e>lib

wweb.xml

3)假设web应用己经部署到Tomcat,使用浏览器访问index,html,请写出访问地址。

4)假设tomcat的根目录为D:/tomcat,应用已经部署到其webapps文件夹下,请按要求写路径:

index,html部署后的文件路径:

check.jsp部署后的文件路径:

web.xml部署后的路径:

练习2:Servlet基础

学号:姓名:班级:成绩:_______

一、选择(每空1分,共8分)

1.Servlet容器通过调用Servlet的方法来初始化Servlet,并且传递一个一②一对象给它。横线处

应填?()

A.①initO②ServletConfigB.①service。②servletRequest

C.①service。②ServletConfigD.①init()②servletRequest

2.当客户请求到达Servlet容器时,容器将请求包装成①―对象,将其传递给__②.方法,从请求对象

中获得用户请求信息,进行处理后,把响应信息包装在一③—对象中,通过I/O流将结果发回客户端。()

A.①ServletRequest②service。③ServletResponse

B.①ServletConfig②init()③ServletResponse

C.①ServletRequest②service③PrintWriter

D.①ServletRequest②init③ServletResponse

3.在web.xml中使用()元素来设置servlet初始化参数。()元素来定义Web应用上下文参数。

A.<init-param>B.<context-param>C.<servlet>D.<servlet-mapping>

4.通过()对象的gelInitParameter方法取得servlet初始化参数,通过()对象的getlnitParameter

方法取得Web应用上下文参数。

A.ServletRequestB.ServletContextC.ServletConfigD.ServletResponse

5.helloapp应用中有一个HelloServlct类,它位于org.javathinker包下。这个应用部署后,HeiloServlet

类的class文件在什么目录下()

A.helloapp/WEB-INF/src/HelloServlet.class

B.helloapp/WEB-1NF/He11oServlet.class

C.helloapp/WEB-INF/classes/HelloServlet.class

D.helloapp/WEB-1NF/c1asses/org/javathinker/He11oServlet.class

6.ServletContext对象的说法正确的是?()

A.对于每个HTTP请求,Servlet容器都会创建一个ServletContext对象

B.由JavaWeb应用本身负责为自己创建一个ServletContext对象

C.每个JavaWeb应用启动时,Servlet容器都会为其创建一个ServletContext对象

D.一个web服务器启动后,会创建唯一的ServletContext对象,该服务器上的所有应用共享此对象

二、填空(每空1分,共12分)

1.HttpServlet类的service方法会依据不同类型的请求,调用不同的方法,如果接收到的是GET请求,

调用方法,如果接收到的是POST请求,调用。

2.假设一个应用helloapp中有一个ProductServlet.该servlet的url-pattern设置为—

时,可以通过地址http:〃127.0.0.1:8080/helloapp/servlet/showProducts来访问它。

3.假设有一个Student类型的对象s,通过request.setAttribute("stu”,s)语句存储到了当前的请求

对象中,通过下面的语句可以将存储的Student对象取出。请补全:

stu=;

4.请求转发方法forward中的路径,如果写绝对路径,应该以____开头,其代表—

如果写相对路径,应该___________开头,该路径相对于O

5.重定向sendRedirect方法中的路径,如果以"/"开头是绝对路径,代表。

6.表单/超链接中的路径,如果写绝对路径,应该________开头,其代表

三、简答(每题10分,共20分)

1、请论述什么是请求转发,什么是重定向,两者的特征和区别。

2、请论述请求对象中的参数(parameter)和属性(attribute)的区别。

四、程序(20分)

1.helloapp应用中有index,jsp页面和HelloServlet类,类在njcit.edu.cn包中。用户在页面中输入

姓名和年龄,提交请求给HelloServlet。servlel取出请求中携带的参数,向客户端返回响应“***今年***

岁(1)HelloServlet在web.xml中的部分配置如下,请补全:

<servlet>

<serv1et-name></serv1et-name>

<servletclass〉</servletclass〉

</servlet>

<servlet-mapping>

<serv1et-name></servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

(2)这是index,html中的部分代码(提交按钮代码省略),该表单以POST方法提交给HelloServlet处理,

补全下划线。

<form>

姓名:〈inputtype=*text*name=*realName*/>年龄:〈inputtype=*text*name=*age*/>

</form>

(3)补全HelloServlet的d。***方法。

publicclassHeiloServletextendsHttpServlet{

publicvoid(HttpServletRequestrequest,HttpServletResponseresponse){

})

练习3:JDBC

学号:姓名:班级:成绩:_______

一、选择(每题1分,共10分)

1.JDBC能做哪几件事?()

A.和数据库建立连接B.向数据库发送SQL语句C.处理数据库的查询结果D.以上全部

2.使用JDBC要导入哪个包?()

A.java,sqlB.java,jdbcC.java,utilD.javax.swing

3.在编写访问数据库的Java程序时,Connection对象的作用是()。

A.用来表示与数据库的连接B.存储查询结果

C.在指定的连接中处理SQL语句D.建立新数据库连接

4.在编写访问数据库的Java程序时,ResultSet对象的作用是(

A.建立新数据库连接B.用来表示与数据库的连接

C.在指定的连接中处理SQL语句D.存储查询结果

5.执行查询后产生的结果集对象,其游标初始化位于()。

A.结果集第一行B.结果集最后一行C.结果集第一行之前D.结果集最后一行之后

6.关于ResullSet•的next方法,叙述正确的是()。(多选)

A.如果当前不在最后一行,调用一次next方法,查询结果的游标下移一行,且返回true

B.如果当前在最后一行,调用一次next方法,返回false

C.如果当前在最后一行,调用一次next方法,程序出现异常

D.调用next方法没只会让游标下移一行,没有返回值

7.表中某字段类型是varchar,可以通过ResultSet对象的()方法获得当前行这个字段的值。

A.getlntB.getCharC.getVarcharD.getString

8.执行SQL语句selectid,name,agefromtb_student之后,结果集对象为rs,使用哪两句语句可以取

得age字段的值?()()

A.rs.getlnt(3)B.rs.getlnt(2)C.r$.getlnt("age")D.rs.getlnt(age)

9.预处理一条SQL语句"insertintotb_student(name,age)values(?,?)”,得到pStmt对象,要把第一

个占位符的值设置为“zs”,第二个占位符的值设置为18,使用下面哪组语句?()

A.pStmt.setString(0,ffzs*);pStmt.setlnt(1,18);

B.pStmt.setlnt(l,*zs*):pStmt.setlnt(2,18):

C.pStmt.setString(1,*zs*);pStmt.setlnt(2,18);

D.pStmt.setString(*name*,*zs*);pStmt.setlnt(*age*,18);

10.executeUpdaieO方法返回int值,其含义是()。

A.受影响的记录的条数B.0代表成功,1代表失败

C.数据表的总记录数D.0代表成功,非。代表失败

二、程序填空(30分)

1.本机MySQL服务的端口号为3306,用户名sa,密码123。数据库名为studb,数据表tbaccount包含

两个字段uscjnamc和password,分别代码用户名和密码,其中用户名为主键,示例结构和数据如下。请

补充login方法,该方法用于验证用户名、密码是否正确,正确返回true,否则返回false。

user_namepassword

wy123

xxqadmin

publicbooleanlogin(StringuserName,Stringpassword)throwsException{

StringdbDriver="com.mysql.jdbc.Driver”;

Stringurl=*jdbc:mysq1://1oca1host:3306/

Class.forName(dbDriver);

Connectionconn=DriverManager.getConnection(,"","");

PreparedStatementpStmt=conn.Pi-eparedStatement(

“select*fromtb_accountwhereuser_name=?andpassword=?*);

pStmt.setString(___________,__________________);

pStmt.setString(,);

ResultSetrs=pStmt.executeQuery();

if(){

return;

)

return____________;

}

2.数据表同上题,请编写方法通过用尸名查询密码,返回密码,查不到返回null,补充下面方法。

publicStringgetPasswordByUserName(StringuserName)throwsException{

Connectionconn=数据庠连接省'略;

3.数据表同上题,该方法根据用户名删除记录,删除成功返回true,没有符合条件的记录返回false,补

充方法。

publicbooleandeleteAccount(StringuserName)throwsException{

Connectionconn=数据库连接省略:

PreparedStatementpStmt=conn.PreparedStatement(

”*);

pStmt.(,);

intresult=pStmt.();〃执行删除,返回受影响的记录的条数

return_________________________________

)

练习4:JSP入门

学号:姓名:班级:成绩:_______

一、选择(每空1分,共12分)

1.下面关于JSP和Servlet的优缺点,说法错误的是()

A.Servlet长处在于处理“逻辑”,而不是处理“表现”

B.使用Servlet可以实现非常复杂的Web应用逻辑,但是无法向客户端提供页面

C.Servlet可以生成页面,但是HTML语句都写在了输出语句中,不适合向客户端提供复杂的页面效果

D、从形式上看JSP更接近HTML页面,因此它比Servlet更适合表达网页的外观。

2.下面关于JSP执行过程,说法正确的是()(多选)

A.客户第一次请求JSP页面时,JSP弓擎会将JSP页面转译成java代码(Servlet源文件)。

B.客户每次请求JSP页面时,JSP引擎都会将JSP页面转译成Servlet源文件。

C.如果JSP文件未发生变化,再次访问它时,发现其对应的servlet类文件已经存在,则直接调用

servlet的服务方法,不会重新进行转译和编译。

D.只要将JSP文件转译成Servlet源文件,并进行编译之后,不论以后何时访问,JSP文件是否有变化,

都不会再次进行转译。

3.一个JSP文件需要引入java,io包和java.uli1.Dale类,以下哪些选项的语法是正确的?()

A.<%@pageimport=*java.io.*,javautil.Date*%>

B.importjava.io.♦;importjava.util.Date;

C.<%@pageimport=*java.io.*;java.util.Date*%>

D.<%©pageimport=*java.io.*“import="java.util.Date"%>

4.关于page指令中contcntTypc属性和pagcEncoding属性的说法正确的是?:)(多选)

A.没有区别

B.前者用于设置JSP页面响应结果的MINE类型和编码方式,后者用于设置JSP页面的编码方式

C.设置pageEncoding属性,就相当调用request.setCharacterEncoding方法设置请求编码

D.设置contentType属性,就相当于使用的response.setContentType方法

5.如果要在JSP文件中注释N行Java代码最好使用(),如果要注释N行HTML代码最好使用(),

如果要注释的代码既包含HTML也包含Java代码,使用()

A.<•——>B.<%—―%>C./**/D.//

6.在JSP文件中有这样的注释语句<!—鬻=(int)(Vath,random。*10)%>—>,说法正确的是()

A.代码不会被执行

B.代码还是会执行,但客户在页面上看不到执行结果

C.代码还是会执行,客户在页面上能看到执行结果

D.代码不会在服务器端执行,会在发送到浏览器后执行

7.在helloapp应用中有页面,路径为:tomcat根目录/webapps/helloapp/hello/hello.jsp,在浏览器

端访问hello.jsp的地址是()

A.http://localhost:8080/webapps/helloapp/hello/hello.jsp

B.http://localhost:8080/helloapp/hello.jsp

C.http://localhost:8080/helloapp/hello/hello.jsp

D.http://localhost:8080/hello/hello.jsp

8.在helloapp应用中有页面,其在Eclipse工程中的路径为helloapp/WebCcntent/pages/hello.jsp,

在浏览器端访问hello.jsp的地址是()

A.http://localhost:8080/helloapp/WebContent/pages/hello.jsp

B.h11p://1oca1host:8080/he11oapp/pages/he11o.jsp

C.http://localhost:8080/WebContent/pages/hello.jsp

D.hitp://localhost:8080/pages/hello.jsp

9.关于静态包含和动态包含,下面那些说法正确()(多选)

A.静态包含先把目标组件的源代码融合到源组件中,然后对融合后的源组件进行转译和编译

B.动态包含先把目标组件的源代码融合到源组件中,然后对融合后的源组件进行转译和编译

C.动态包含会分别转译和编译源组件和目标组件,目标组件的响应结果被包含到源组件的响应结果中

D.静态包含发生在JSP的翻译阶段,动态包含则发生在运行阶段

10.helloapp应用中有a.jsp和b.jsp两个文件,路径分别为:helloapp/a.jsp,helloapp/dir/b.jsp,

以下哪些选项中的代码能使a.jsp文件正确地动态包含b.jsp?()(选两个)

A.<jsp:includepage=*b.jsp*/>B.<jsp:includepage=*/helloapp/dir/b.jsp*/>

C.<jsp:includepage=*/dir/b.jsp*/>D.<jsp:includepage=*dir/b.jsp*/>

二、判断(每题1分,共8分)

1.JSP引擎在第一次处理JSP请求时,因为有转译和编译的过程,用户收到响应的时间会有延迟。

2.JSP转译后的java和class文件可以删掉,访问页面时,还会重新进行转翻译和编译。

3.在tomcat根目录/work文件夹中有转译生成的Servlet源文件和其编译后的zlass文件。

4.静态包含时两个组件使用的是同•个request对象,动态包含时两个组件使用的是不同的request对象。

5.静态包含在两个文件中不能定义同名的变量(非局部代码块中的变量),而动态包含允许。

6.JSP页面中可以直接使用request和response对象,无需定义。

7.在JSP中使用<%out.print("<b>你好</b>");%>和<b>你好</b>,两句效果是相同的。

8.使用<%out.print("hi");的效果和使用<%System.out.print("hi");给的效果是一样的。

三、填空(每空1分,共4分)

1.helloapp应用中有a.jsp和b.jsp两个文件,路径分别为:helloapp/dirl/a.jsp,

helloapp/dir1/dir2/b.jsp,a.jsp文件的一个超链接要正确的链接到b.jsp,请写出两种路径:

<ahref=*")链接到b.jsp</a>

<ahref=*链接至b.jsp</a>

2.helloapp应用中有a,jsp和b.jsp两个文件,路径分别为:helloapp/dirl/a.jsp,

helloapp/dir1/dir2/b.jsp,a.jsp文件要正确地包含b.jsp,请写出两种路径:

<jsp:includepage="*>

<jsp:includepage=**>

四、程序(6分)

1.一个servlet在request对象中存储了两个属性,一个名为"numl",另一个名为"num2”,属性值均为

Integer类型,并将请求转发给了index.jsp。index.jsp中将属性值取出,求和,并向客户端展示结果,

页面展示的内容为"numl的值+num2的值=结果”(例如3+19=22),请完成index,jsp的代码。无需写page

指令、html、head、body标签,只需写最核心的代码,注意驾给的使用。

练习5:Servlet和JSP进阶

学号:姓名:班级:成绩:_______

一、选择(每题2分,共20分)

1.URL重写技术的缺点是(),优点是((多选)

A.必须对所有动态生成的URL进行重写,代码比较繁琐。B.不能用于HTML文档。

C.既适用于JSP页面也适用于HTML页面。D.用户是匿名的。

E.会话信息作为参数在URL上可见的,存在安全隐患。

2.下面关于cookie说法正确的是()(多选)

A.由服务器端程序创建,存储在服务器上。B.由服务器端程序创建,存储在客户端计算机上。

C.持久维持会话信息,浏览器关闭也可以维护D.所有浏览器都支持,但用户可以选择禁用

3.客户端首次访问某网站时,请求中—携带该网站的cookie,服务器收到请求后,可以将cookie随着

—发送到客户端保存起来。当用户再次访问同一网站时,请求中携带该网站的cookie.,()

A.会,响应,不会B.不会,请求,不会C.不会,响应,会D.会,响应,会

4.关于cookie有效期,下面说法正确的是()(多选)

A.cookie的默认生存期为T,表示cookie永不失效

B.cookie的默认生存期为7,表示浏览器关闭后cookie就失效

C.使用setMaxAge方法将生存期设置为正数,只要在生存期内,就算浏览器被关闭,cookie依然存在

D.使用setMaxAge方法将生存期设置为正数,如果浏览器不关闭,只要在生存期内,cookie都会存在,

但是只要浏览器关闭,cookie就失效了

5.cookie.setMaxAge(60)的含义是()

A.将cookie的生存期设置为1分钟,过期后服务器不会再向浏览器发送cookie

B.将cookie的生存期设置为1分钟,过期后浏览器不会把这个cookie发送给服务器

C.将cookie的生存期设置为1个小时,过期后浏览器不会把这个cookie发送给服务器

D.将cookie的生存期设置为1个小时,过期后服务器不会再向浏览器发送cookie

6.关于session,以下哪些说法正确()(多选)

A.对于发往服务器的每个HTTP请求,Servlet容器都会创建一个HttpSession对象

B.Servlet容器为每一个会话分配一个HTTPSession对象,并为每个HttpSession对象分配唯一的

SessionlD

C.Servlet容器为每一个会话分配一个HTTPSession对象,JavaWeb应用程序负责为HttpSession分配惟

一的SessionlD

D.Servlet容器为每一个会话分配个HTTPSession对象,而SessionlD是由客户端浏览器创建,并随

着cookie发送给服务器。

7.关于session,以下哪些说法正确()(多选)

A.Servlet容器会把sessionlD作为Cookie发送到客户端来跟踪会话

B.JavaWeb应用程序无法获取HttpSession对象的SessionlD

C.如果客户端浏览器的cookie丢失,再次访问同一服务器时,服务器会认为这是一次新会话,并新建

HttpSession对象,分配新的SessionlD

D.每个HttpSession对象都与唯一的一个HttpServletRequest对象关联

8.下面关于session的失效/过期时间的说法,正确的是()

A.session的失效时间是30分钟,不可以修改

B.使用session.selMaxInactivelnierval0可以设置session的失效时间,参数的单位是分钟。如果

设置为负数,表示永不失效。

C.如果失效时间被设置为10分钟,表示从一个客户端首次访问服务端开始计时,10分钟后该客户端和服

务器的会话就会结束,和该会话相关的session对象将会被销毁。

D.如果失效时间被设置为10分钟,表示一个客户端连续10分钟没有访问过应用内的任意组件,该客户

端和服务器的会话结束,和该会话相关的session对象将会被销毁。

E.如果失效时间被设置为10分钟,表示从一个客户端首次访问服务端开始计时,10分钟后该客户端浏览

器上保存的与这个session相关的cookie将被销毁。

9.在一个JSP文件中包含如下代码,当浏览器访问这个JSP文件的时候,会出现什么情况?()

<%session.setAitribute("userName","Tom");

session.removeAttribute(*userName*);%>

<%=(String)session.getAttribute(*userName*)%>

A.JSP文件正常执行,输出TomB.服务器端向客户端返回编译错误

C.JSP文件正常执行,输出nullD.执行时产生java.lang.NulIPointerException异常

10.下面关于request对象说法正确的是?()(多选)

A.同•个客户端向服务器发出的所有请求共用同一个request对象。

B.同一个客户端多次请求同一个服务端组件,这些请求共用同一个request对象。

C.request的生存期是,从用户的一次请求到向用户返回响应之间的服务器处理期间,生存期内可能跨

越多个组件。

D.forward/include中的源组件和目标组件共用同一个request对象,重定位中的源组件和目标组件

的request对象是不同的。

二、填空(每空1分,共10分)

1.JSP内置对象中的session,它的类型是,application的类型是

2.JSP有四个隐含对象可以用来存取属性,按照它们的生命周期的长度或者作用范围的广度来说,从小到

大的排列是、、、

3.维护会话可以采用三种技术手段,分别是__________,_________________

4.pageContext.findAttribute("属性名")的含义是

三、简答(每题10分,共30分)

1.请简述request、session、application对象的生命周期。

2.请解释为什么浏览器关闭(cookie失效)会导致session对象重建(会话结束工

3.假设用户已经N秒钟没有访问过web应用的任意组件N大于session的有效期),现在用户又向web应

用发起了请求,请简述服务器检查和重建session对象的过程。

第1章JavaWeb应用开发基础

一、选择题

1.CDE

2.AC

3.ACFG

4.A

5.AB

6.AB

7.ABCD

8.B

9,BCDG

二、简答题

1.

1)首先客户机与服务器需要建立连接。只要在客户机上单击某个超级链接,HTTP的工

作就开始了。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符

(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版

本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内

容。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,客户机与服务

器断开连接。

2.本(题略)

3.

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

<html>

<head>

<title>

第一个JSP程序

</title>

</head>

<body>

<h2align="center">

<%=newjava.util.Date()%>

</h2>

</body>

</html>

第2章E-Store电子商城项目概述

一、选择题

1.BD

2.CD

3.AC

4.BCD

5.C

6.BD

7.ACD

8.ABD

9.C

10.C

11.C

二、简答题

1.

JSP页面的JSP元素主要有:指令(Directives)、注释(comment)、脚本(Scriptlet)、

动作(Actions)和内置对象0

2.

request:request是HttpSeMetRequest类的对象。该对象封装了用户提交的信息,通

过调用该对象相应的方法可以获得用户通过浏览器提交的请求以及相关cookie,header,

session等信息。

response:response是HttpServletResponse类的对象,表示了对客户的请求返回的动

态响应。Response对象提供了用于设置送回浏览器的响应的方法(如cookies、header信

息等)O

out:out对象是javax.jsp.JspWHter的一个实例,提供了将response对象向浏览器输出

结果的方法。

pageContext:pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便

存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的

方法。

session:session表示一个请求的javax.servlet.http.HttpSession先■象。session对象在某

个客户(浏览器)对网站的第一个JSP页面访问时自动创建,并可以存贮用户的状态信息,

一个session对象存储一个用户的会话信息,完成对该用户的会话管理。从一个客户打开浏

览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一

个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页

面,服务器应当通过某种办法知道这是同一个客户,这就需要用到session对象。

application:application对象是javax.servle.ServletContext类的实例对象。当web服务

器启动后,对应与部署在这个服务器上的每一个Web应用都会产生一个application对象,

当客户在所访问的某个网站的各个页面之间浏览时,这个application对象都是同一个,直

到服务器关闭。与session不同的是,对于同一个web应用来说,所有客户的application

对象都是同一个,即所有客户共享这个内置的application对象。

page:page对象表示该JSP页面本身

第3章前台商品展示模块

一、选择题

1.ACE

2.BC

3.B

4.BC

5.B

6.BC

7.CD

8.D

9.ABC

二、简答题

1.

1)在页面中引入数据库包java.sql并声明数据库操作对象

<%@pageimport="java.sql.*"H>

<%

Connectionconnection=null;〃声明连接对象

Statementst=null;〃声明数据库操作的语句对象

ResultSetrs=null;//声明数据库查询结果集对象

%>

2)加载数据库驱动

<%

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newlnstance();

%>

3)创建数据库连接

这需要创建Connection(java.sql包)类的一个实例,并使用DriverManager(java.sql包)的

方法getConnection来尝试建立用url指定的数据库的连接。

<%

connection=

DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433;DatabaseName=shopping",

"sa"t"123456");//加载数据库连接

%>

1.include指令

在JSP页面中使用<%@include%>指令时,将会在JSP编译时在该指令出现的地方插入一

个包含文本或代码的文件,这个包含的过程是岸态的。静态的包含是指在编译时就能确定包

含文件的内容,直接被插入到JSP文件中去,形成一个JSP文件,包含的文件可以是HTML文

件、文本文件或JSP文件等。

(1)如果某个包含文件被改变,包含此文件的JSP文件也需要重新编译,否则不能反

映包含文件的修改效果。

(2)file="relativeURL”这个包含文件的路径名一般来说是指相对路径,必须在编译的时

候就能确定,而不能使用变量代替。

(3)不可以在file所指定的文件后接任何参数,如:<%@includefile=

"l5igin.jsp?nai【ie二%》是不允许的。

2.vjsp:include〉允许包含动态文件和静态文件,这两种包含文件的结果是不同的。

如果文件是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中。与include

指令包含静态文件的效果是一样的。

如果文件是动态文件,那么这个包含文件会被JSP引擎单独编译执行,由<jsp:include〉

动作请求执行,并将传送回来一人响应输出到<jsp:include〉动作所在的位置,当这个包含

文件执行完毕后,JSP引擎继续执行JSP文件余下的部分。

如果<jsp:include〉动作包含的文件是动态文件,还可以用<jsp:piram>子句传递参数名

和参数值°并可以在一个vjsp:include〉动作中多次使用vjsp:param>子句,传递多个参数给

动态文件。

3.

1)request对象

request对象是JSP九种内置对象中最重要的对象,是javax.servlet.http.

IIttpServletRequest和javax.servlet.ServletRequest类的子类的对象。该对象封装了用户提交

的信息,通过调用该对象相应的方法可以获取封装的信息和用户提交信息。

request对象包含了有关浏览器请求的信息,并且提供了多个用于获取与用户请求有关

数据的有用的方法。实际web应用中常用的是通过request对象的getPwramete「方法可以得到

用户提交的请求参数。所有来自客户端的请求有关数据经Web服务器处理后,由request对

象进行封装,传递给JSP页面。

2)response对象

response对象包含了服务器对客户的请求做出动态的响应,向客户端发送数据。JSP页

面执行完成后,JSP引擎将页面产生的响应封装成response对象,然后发送到客户端以形成

对客户请求的响应。和request一样,response对象也由JSP引擎(容器)产生,可以使用

response对象提高的方法对响应进行操作。

4.

根据HTTP规范,GET一般用于获取/查询资源信息,而POST可能修改服务器上的资源。

在形式上,GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?

分割URL和传输数据,参数之间以&相连,如:

login.jsp?name=admin&password=123456&verify=%E4%BD%AO%E5%A5%BD0POST把提交的

数据则放置在是HTTP包的BODY中,不会像GET方法一样附在URL之后。

GET方法和POST方法在提交信息的长度上有所不同,GET方法是将请求参数加在URL

之后,因而信息长度受到URL长度的限制,这个限制是特定的浏览器及服务器对它的限制。

IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Navigator、FireFox等,理

论上没有长度限制,其限制取决于操作系统的支持。而理论上讲,POST是没有大小限制的,

HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。实际

使用的时候,通常将POST作为复杂和安全的数据传递方法,因为请求的信息是放在BODY

中,所以安全、而且丰富。

第4章前台用户模块

一、选择题

1.C

2.ABD

3.ACD

4.D

5.BC

6.C

7.ABD

二、简答题

1.

application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp

共享,生命周期为:应用程序启动到停止。

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

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

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

page:一个JSP页面。

2.

(1)bean类必须有一个零参数(默认)构造函数。空构造函数在JSP元素创建bean

时被调用。可以显式地定义一个零参数构造函数,也可省略所有的构造函数,这样系统会自

动创建一个空构造函数。

(2)依照JavaBean规范,在JavaBean类中,为了令外界可访问字段xxx,而且不破坏

封装的要求,不应当将其定义成public可见域,而是应当为其定义getXxx和setXxx方法,

作为对应字段的存取方法。对于布尔字段而言,通常使用isXxx方法来查询字段值。这种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论