《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx

上传人:wj 文档编号:6871235 上传时间:2023-05-07 格式:DOCX 页数:10 大小:38.31KB
下载 相关 举报
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第1页
第1页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第2页
第2页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第3页
第3页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第4页
第4页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第5页
第5页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第6页
第6页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第7页
第7页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第8页
第8页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第9页
第9页 / 共10页
《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx

《《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx》由会员分享,可在线阅读,更多相关《《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx(10页珍藏版)》请在冰点文库上搜索。

《JavaWeb程序开发入门》课后练习(含答案)Word格式.docx

Casillas<

Ramos<

Modric<

Benzema<

/队员>

/球队>

--篮球队Lakers-->

篮球队"

Lakers<

Oneal<

Bryant<

/球队列表>

------第2题答案------

xs:

elementname="

age"

simpleType>

<

restrictionbase="

integer"

<

minInclusivevalue="

18"

/>

maxInclusivevalue="

58"

/xs:

restriction>

element>

第二章

1、如何将web应用发布到tomcat上localhost主机,请写出至少3种实现方式?

2、请问在chapter02应用的web.xml文件中进行哪些配置,可以将welcome.html页面配置成该应用的默认页面?

1、直接将web应用部署到tomcat/webapps下

2、将web应用通过tomcat/conf/server.xml进行配置

3、创建一个xml文件,并配置web应用信息,将xml文件放置tomcat\conf\Catalina\localhost

在web-app标签中进行如下配置即可:

welcome-file-list>

<

welcome-file>

welcome.html<

/welcome-file>

/welcome-file-list>

第三章

1、简述HTTP1.1协议的通信过程?

2、简述POST请求和GET请求有什么不同?

1、客户端与服务器端建立TCP连接。

2、客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。

3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。

4、客户端发出关闭TCP连接的请求

5、服务器端关闭TCP连接

1、POST传输数据大小无限制

2、POST比GET请求方式更安全

第四章

1、编写一个servlet,实现统计网站被访问次数的功能。

2、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。

步骤如下:

1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法

2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数times加1

3)获取ServletContext,通过它的功能记住上一次访问后的次数

具体代码实现如下:

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclassShowTimesServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

ServletContextcontext=getServletContext();

Integertimes=(Integer)context.getAttribute("

times"

);

if(times==null){

times=newInteger

(1);

}else{

times=newInteger(times.intValue()+1);

}

//设置编码,不然中文会变成乱码

resp.setContentType("

text/html;

charset=GB2312"

//得到输出流对象

PrintWriterout=resp.getWriter();

out.println("

html>

head>

title>

"

页面访问统计"

/title>

/head>

body>

当前页面被访问了"

fontcolor=redsize=20>

+times+"

/font>

次"

//设置属性,将times保存到当前的上下文中

context.setAttribute("

times);

}

protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)

this.doGet(req,resp);

}

publicclassMyServletextendsHttpServlet{

protectedvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)throwsServletException,IOException{

PrintWriterout=response.getWriter();

ServletConfigconfig=getServletConfig();

Stringparam=config.getInitParameter("

encoding"

out.println("

encoding="

+param);

protectedvoiddoPost(HttpServletRequestrequest,

this.doGet(request,response);

第五章

请按照以下要求设计一个实现下载资源防盗链的类。

1)创建一个DownManagerServlet类,继承HttpServlet类。

2)在doGet()方法中,判断是否可以进行资源下载

------答案------

1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用HttpServletRequest对象的getHeader("

referer"

)方法得到字段referer的值,并判断是否可以进行资源下载。

3)如果不能下载,则进入下载页。

publicclassDownManagerServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("

charset=utf-8"

PrintWriterout=response.getWriter();

//获取referer头的值

Stringreferer=request.getHeader("

//获取访问地址

StringsitePart="

http:

//"

+request.getServerName();

if(referer!

=null&

&

referer.startsWith(sitePart)){

//处理正在下载的请求

dealingdownload..."

}else{

//非法下载请求跳转到download.html页面

RequestDispatcherrd=request.getRequestDispatcher("

/download.html"

rd.forward(request,response);

第六章

1、请使用Cookie技术实现显示用户上次访问时间的功能。

2、请设计一个类,使用Session技术实现购物车功能。

1)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。

3)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象,设置值为当前时间并发送给客户端。

4)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。

packagecn.itcast.chapter06.cookie.example;

importjava.io.IOException;

importjava.util.Date;

importjavax.servlet.ServletException;

importjavax.servlet.http.Cookie;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassLastAccessServletextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

publicvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)throwsServletException,IOException{

/*

*设定一个cookie的name:

lastAccessTime

*读取客户端发送cookie获得用户上次的访问时间显示*/

StringlastAccessTime=null;

//获取所有的cookie,并将这些cookie存放在数组中

Cookie[]cookies=request.getCookies();

for(inti=0;

cookies!

i<

cookies.length;

i++){

if("

lastAccess"

.equals(cookies[i].getName())){

//如果cookie的名称为lastAccess,则获取该cookie的值

lastAccessTime=cookies[i].getValue();

break;

//判断是否存在名称为lastAccess的cookie

if(lastAccessTime==null){

response.getWriter().print("

您是首次访问本站!

}else{

您上次的访问时间"

+lastAccessTime);

//创建cookie,将当前时间作为cookie的值发送给客户端

Cookiecookie=newCookie("

newDate().toLocaleString());

cookie.setMaxAge(60*60);

//保存1小时

//访问chapter06下资源时回送cookie

cookie.setPath("

/chapter06"

//发送cookie

response.addCookie(cookie);

1)创建一个PurchaseServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用request.getSession()实现购物车。

3)将session的id保存到cookie中。

4)重定向到购物车页面。

publicclassPurchaseServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestreq,

HttpServletResponseresp)

throwsServletException,IOException{

//获得用户购买的商品

Stringid=req.getParameter("

id"

if(id==null){

//如果id为null,重定向到ListBookServlet页面

Stringurl="

/chapter06/ListBookServlet"

;

resp.sendRedirect(url);

return;

Bookbook=BookDB.getBook(id);

//创建或者获得用户的Session对象

HttpSessionsession=req.getSession();

//从Session对象中获得用户的购物车

List<

Book>

cart=(List)

session.getAttribute("

cart"

if(cart==null){

//首次购买,为用户创建一个购物车(List集合模拟购物车)

cart=newArrayList<

();

//将购物城存入Session对象

session.setAttribute("

cart);

//将商品放入购物车

cart.add(book);

//创建Cookie存放Session的标识号

JSESSIONID"

session.getId());

cookie.setMaxAge(60*30);

resp.addCookie(cookie);

//重定向到购物车页面

/chapter06/CartServlet"

第七章

1、请使用include标签编写两个JSP页面,

要求:

输出b.jsp页面的内容,等待5秒,再输出a.jsp页面。

2、已知一个datetime.jsp页面用于显示当前时间。

请编写jsp

文件用于显示“欢迎来到传智播客,现在的时间是:

”+当前时间。

a.jsp代码:

%@pagecontentType="

charset=UTF-8"

%>

%Thread.sleep(5000);

a.jsp内的中文<

br>

b.jsp代码:

b.jsp内的中文<

jsp:

includepage="

a.jsp"

flush="

true"

/>

%@pagelanguage="

java"

contentType="

charset=UTF-8"

欢迎你<

欢迎来到传智播客,现在的时间是:

%@includefile="

datetime.jsp"

/body>

/html>

第八章

1、请编写一个类,实现通过对象得到完整的“包.类”名称的功能。

2、设计一个程序使用BeanUtils工具为Person对象(JavaBean类)赋值。

1)直接生成User对象。

2)使用BeanUtils工具为name属性赋值”youjun”,age赋值为31。

3)使用BeanUtils工具取出属性值,并在控制台输出。

packagecn.itcast.javabean;

classCs{}

publicclassGetClassNameDemo{

publicstaticvoidmain(String[]args){

Cscs=newCs();

System.out.println(Cs.getClass().getName());

packagecn.itcast.chapter08.beanutils;

importmons.beanutils.BeanUtils;

importcn.itcast.chapter08.javabean.Person;

publicclassBeanUtilsDemo01{

publicstaticvoidmain(String[]args)throwsException{

Personp=newPerson();

//使用BeanUtils为属性赋值

BeanUtils.setProperty(p,"

name"

"

youjun"

31);

//使用BeanUtils获取属性值

Stringname=BeanUtils.getProperty(p,"

Stringage=BeanUtils.getProperty(p,"

System.out.println("

名字是"

+name+"

今年"

+age+"

岁"

第九章

学习完前面的内容,下面来动手测一测吧,请思考以下问题:

1、简述什么是MVC设计模式?

2、简述MVC设计模式中模型(Model)模块的作用?

MVC模式将软件程序分为3个核心模块:

模型(Model)、视图(View)和控制器(Controller)

1、管理应用程序的业务数据

2、定义访问控制和修改这些数据的业务规则

3、为视图提供查询模型状态的方法

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2