J2EE面向对象网络开发技术1969106实验指导书.docx
- 文档编号:15534938
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:14
- 大小:65.04KB
J2EE面向对象网络开发技术1969106实验指导书.docx
《J2EE面向对象网络开发技术1969106实验指导书.docx》由会员分享,可在线阅读,更多相关《J2EE面向对象网络开发技术1969106实验指导书.docx(14页珍藏版)》请在冰点文库上搜索。
J2EE面向对象网络开发技术1969106实验指导书
《J2EE面向对象网络开发技术》
实验指导书
(自编教材)
课程代码:
1969106
开课院(系)、实验室:
华信软件学院实训C509
适用专业:
软件工程
实验一Servlet过滤器
预习要求:
复习过滤器API主要包括:
Filter、FilterConfig和FilterChain接口。
一、实验目的、内容及性质
1.了解过滤器的作用;
2.掌握过滤器的开发与部署的步骤;
3.了解过滤器链。
二、实验原理
过滤器是web服务器上的组件,它们对客户和资源之间的请求和响应进行过滤。
过滤器的工作原理是:
当servlet容器接收到对某个资源的请求,它要检查是否有过滤器与之关联。
如果有过滤器与该资源关联,servlet容器将把该请求发送给过滤器。
在过滤器处理完请求后,它将做下面3件事:
∙产生响应并将其返回给客户;
∙如果有过滤器链,它将把(修改过或没有修改过)请求传递给下一个过滤器;
∙将请求传递给不同的资源。
当请求返回到客户时,它是以相反的方向经过同一组过滤器返回。
过滤器链中的每个过滤器够可能修改响应。
过滤器API主要包括:
Filter、FilterConfig和FilterChain接口。
三、实验内容与步骤
Java程序与其他存储媒介交互时产生的乱码。
很多存储媒介,如数据库,文件,流等的存储方式都是基于字节流的,Java程序与这些媒介交互时就会发生字符(char)与字节(byte)之间的转换,例如从页面提交表单中提交的数据在Java程序里显示乱码等情况。
解决方案
编写一个过滤器改变请求编码。
.新建一个过滤器类如:
EcodingFilter.java,继承Filter接口,实现Filter接口的三个方法 并写入解决中文乱码的关键代码:
四、思考题
1.试简述过滤器有哪些功能?
2.如何理解过滤器链。
五、实验报告要求
1、描述实验过程
2、记录实验错误,写出改正过程
3、实验收获
实验2:
使用EL表达式完成Jsp页面开发
预习要求:
复习EL隐含对象的使用
一、实验目的、内容及性质
掌握EL表达式的使用,使用EL表达式替换<%%>的jsp开发方式,通过完成一个注册的案例,熟练的使用EL表达式
步棸:
1.创建javabean
2.创建servlet控制javabean,
☐request.setAttribute(“str”,list);
☐request.getRequestDispatcher("/index.jsp").forward(request,response);
3.在web.xml部署servlet
☐在index.jsp中做一个超链接,调用servlet,注意前面不能有“/”
4.创建index.jsp,一定要有超链接调用servlet
样例如下:
二、实验报告要求
1.描述设计思想
2.写出主要代码段
3.实验中遇到的问题和解决方法
4.回答下列问题
a)EL表达式中内置对象的区别?
b)EL表达式能获取那些数据信息,对于集合中的数据应该如何获取例如:
数组、list、set、Map分别进行说明?
c)对于自定义的对象属性,EL表达式应如何获取其中的信息?
举例说明
d)对于集合中的自定义对象,EL将如何获取其中的属性?
举例说明
实验3测试JSTL标准标签库
预习要求:
复习JSTL的Core标签库的使用。
一、实验目的及性质
掌握jstl的使用,测试jstl中核心标签和国际化标签的使用,要求熟练的掌握顺序分支循环等标签的使用以及格式化显示标签的使用主要是日期数值的格式化输出
二、实验内容、问题及思考
1、设计数据库表要求表名people,字段包括(姓名、id(以字母开头)、出生日期)
2、通过mvc模式
a)控制页面输入学生信息,存入数据库,
b)通过前台用户页面申请查询数据库,从数据库读出信息,显示在另外的页面!
3、JSTL和EL表达式能获取那些数据信息,对于集合中的数据应该如何获取例如:
数组listsetMap分别进行说明?
4、用jstl核心库c:
forEACH遍历servlet传来的Arraylist,并用c:
choose和c:
when判断年龄区间,并自动产生编号,效果如下:
二、实验报告要求
1)提交代码
2)描述实验设计过程
3)记录实验错误,写出改正过程
4)实验收获
实验4:
自定义标签库的开发
预习要求:
复习TagSupport类,自定义标签的使用及开发过程、标签处理类的生命周期。
一、实验目的、内容及性质
掌握自定义标签基本概念及其基本步骤、能够开发一些简单的自定义标签。
二、问题及思考
1、什么是标签,什么是自定义标签?
Tag的生命周期?
2、自定义标签基本步骤总结。
3、如何部署一个自定义标签?
4、自定义标签的基本方法总结。
5、什么是标记库描述符(TLD)文件?
三、实验指导
1、一个自定义标签示例,注意步骤
(1)自定义一个类它继承TagSupport类,TagSupport类主要定义的是标签声明周期的方法,比如:
doStartTag(),doEndTag()等,通过PageContext对象来访问Jsp页面的上下文:
packagehello;
importjavax.servlet.jsp.JspWriter;
importjavax.servlet.jsp.tagext.TagSupport;
publicclasshelloTagHavePropextendsTagSupport{
privatestaticfinallongserialVersionUID=6789366253541947451L;
privateStringfontSize="3";//字体大小,默认3号
privateStringfontColor="#000000";//字体颜色,默认黑色
//属性的get/set方法
//----标签开始时调用此方法-------
publicintdoStartTag(){
try{
JspWriterout=pageContext.getOut();
//
out.println("标签开始了。
<"+
"fontcolor=\""+fontColor+"\"size=\""+fontSize+"\">hello!
+
");
}catch(Exceptione){
System.out.println(e);
}
returnEVAL_BODY_INCLUDE;//把Body读入存在的输出流中,doStartTag()函数可用
}
publicvoidsetFontSize(StringfontSize){
this.fontSize=fontSize;
}
publicvoidsetFontColor(StringfontColor){
this.fontColor=fontColor;
}
//----标签结束时调用此方法-------
publicintdoEndTag(){
try{
JspWriterout=pageContext.getOut();
out.println("标签结束了。
");
}catch(Exceptione){
System.out.println(e);
}
returnEVAL_PAGE;//继续处理页面,doEndTag()函数可用
}
}
(2)编写标签描述文件(.tld):
xmlversion="1.0"encoding="UTF-8"?
>
xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation="web-jsptaglibrary_2_1.xsd" version="2.1"> --标签库版本--> --标签库名称--> --标签库URI(虚拟的,但在jsp文件中要用到)--> --标签库中的标签--> --helloTagHaveProp--> --helloTagHaveProp--> --标签名称--> --标签对应的处理类--> --标签体内容,没有标签体则设为empty--> --标签的属性声明--> --标签的属性可以没有--> --标签的属性可以没有--> --其中,name为属性的名称,required设置此属性是否必须设置,如果为true则在JSP页面中使用此标签时,必须给标签的这个属性赋值。 --> (3)编写测试页面: <%@tagliburi="/luoTag"prefix="myTag"%> <%@pagecontentType="text/html;charset=GB2312"%>
下面是应用这个简单的自定义标签的结果:
helloTagHavePropfontColor="8"fontSize="10"/> helloTagHavePropfontSize="5"/> helloTagHavePropfontSize="4"fontColor="red"/> 四、实践编程 Test.jsp DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
ThisismyJSPpage.
Date:
<%=newjava.util.Date().toString()%>
File:
将这个Test.jsp改成自定义标签方法实现。
五、实验报告要求
1)描述设计思想
2)写出主要代码段
3)记录实验错误,写出改正过程
4)实验收获
5)
实验五使用DOM4J解析XML文档
预习要求:
复习用XML来描述数据的结构和语义,及在JSP页面中通过解析器对XML文档进行解析的技术
一、实验目的:
1.掌握XML基本概念、
2.熟练使用DOM4J解析XML文件
二、实验任务:
1、依已有的XML文件,编写程序将它导入到数据库中,数据库自行设计
2、通过使用DOM4J把上题所建数据库的内容读出,存放在XML文件
三、问题及思考
1.什么是XML,它有什么用处?
2.什么是格式良好的、什么是有效的XML文档?
3.什么是DOM、SAX解析技术,两者有什么不同?
四、实验要求
1、有如下的XML文件,编写程序将它导入到数据库中,数据库自行设计
xmlversion="1.0"encoding="GB2312"?
>
2、通过使用DOM4J把上题所建数据库的内容读出,存放在XML文件中
五、实验报告要求
1)描述设计思想
2)写出主要代码段
3)记录实验错误,写出改正过程
4)实验收获
实验六基于MVC设计模式的在线购物系统的实现
预习要求:
复习EL、JSTL、MVC设计模式、监听器、过滤器和xml等技术的使用。
一、实验目的
通过实验掌握下列知识:
1、掌握MVC的基本概念
2、掌握符合MVC架构的web应用的开发方法。
二、实验指导
在MVC模式中,倡导控制、模型(逻辑)和视图分离,在JSP开发的系统中,Servlet用于控制系统的运行流程,JavaBean用于业务逻辑处理、数据传输和数据持久化,而JSP用于显示系统的处理结果。
相应的软件结构也分为4层:
表现层、控制层、逻辑层和持久层,另有数据传输层在各层之间传递数据。
要求运用本学期所学知识(EL、JSTL和MVC设计模式,监听器、过滤器和xml)设计一个在线购物系统。
三、实验内容
1.用MVC设计模式进行详细设计?
各层都有哪些类,功能是什么?
各类之间关系如何?
2.写出所使用的库表结构
3.首页包含用户登录表单以及用户注册的链接
4.用户登录时,使用js/jq技术对用户填写的信息进行简单检查
5.商品浏览要实现分页显示,详细描述实现过程!
6.使用EL和JSTL和自定义标记完成视图层
7.本试验中监听器和过滤器的功能,分别运用在哪些页面上(其中必有一个解决中文问题的过滤器)
8.把每次购物明细保存到一个xml文件,传送给控制层
四、实验报告要求
1)描述设计思想
2)写出主要代码段
3)记录实验错误,写出改正过程
4)实验收获
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 面向 对象 网络 开发 技术 1969106 实验 指导书