JSP经典开发技巧

上传人:ji****72 文档编号:56678549 上传时间:2018-10-15 格式:PPT 页数:57 大小:978KB
返回 下载 相关 举报
JSP经典开发技巧_第1页
第1页 / 共57页
JSP经典开发技巧_第2页
第2页 / 共57页
JSP经典开发技巧_第3页
第3页 / 共57页
JSP经典开发技巧_第4页
第4页 / 共57页
JSP经典开发技巧_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《JSP经典开发技巧》由会员分享,可在线阅读,更多相关《JSP经典开发技巧(57页珍藏版)》请在金锄头文库上搜索。

1、第6章 JSP经典开发技巧,6,内容提要, 客户端编程的常用技术:动态表格,网页传值,动态框架,表单验证等。 发送Email,绘制图形,文件上传 编写国际化应用程序 MD5加密以及数字水印的添加 图表系统:JFreeChat以及MVC架构,JSP客户端编程经典案例,在Web应用开发中有一些关键的动态编程技术,下面六种最常用的关键技术:动态表格、常用的网页对话框、动态网页框架、表单验证、程序控制Form表单和在页面中执行客户端的可执行文件,动态表格彻底研究,function addcell() /添加新的单元格 /插入新的一行oTargetRow = document.all(“mytable1

2、“).insertRow();for(var k = 0; k “elseoCell.innerHTML = k; ,三种网页对话框,function openNewWindow(szMethod) if (szMethod = “modal“) window.showModalDialog(“6-01.htm“);else if (szMethod = “modeless“) window.showModelessDialog(“6-01.htm“);else window.open(“6-01.htm“); ,三种对话框的区别是,利用windows.open打开的页面和其他的窗口一样,可以

3、在几个窗口之间切换,模式对话框不能和其他窗口切换焦点,只能是当前窗口。非模式对话框可以和其他对话框切换焦点,但是永远在屏幕最前面。,三种形式的网页对话框的传值,function openNewWindow(szMethod) if (szMethod = “modal“) window.showModalDialog(“6-06.htm“,myform.txt,“dialogTop:100px;dialogLeft:100px;dialogWidth:200px;dialogHeight:400px;scroll:1;status:0;“);else if (szMethod = “model

4、ess“) window.showModelessDialog (“6-06.htm“,myform.txt,“dialogTop:100px;dialogLeft:100px;dialogWidth:200px;dialogHeight:400px;scroll:1;status:0;“);else window.open(“6-05.htm“); ,普通对话框传值,function tran()opener.myform.txt.value = document.myform.txt.value;window.close();,模式与非模式对话框传值,function tran()wind

5、ow.dialogArguments.value = document.myform.txt.value;window.close();,动态网页框架彻底研究,动态网页框架彻底研究,表单验证,function mycheck()if (document.myform.xuehao.value=“) alert(“请输入学号!“);document.myform.xuehao.focus();return false; if (document.myform.xuehao.value.length!=13) alert(“标准学号为13位,您目前输入的学号为“ + document.myform

6、.xuehao.value.length + “位“);document.myform.xuehao.focus();return false; ,function mycheck()bFlag = true;if (document.myform.xuehao.value=“) alert(“请输入学号!“);document.myform.xuehao.focus();bFlag = false; if (document.myform.xuehao.value.length!=13) alert(“标准学号为13位,您目前输入的学号为“ + document.myform.xuehao.

7、value.length + “位“);document.myform.xuehao.focus();bFlag = false; if (bFlag)document.myform.submit() ,程序控制Form表单,执行客户端的可执行文件,var Shell = new ActiveXObject(“WScript.Shell“) ;tryvar cmd=“mspaint.exe“ ;var aa = Shell.Run(cmd,1, true) ;catch(e)alert (“目录不存在文件!“); ,利用第三方组件,需要根据实际修改五个参数,程序才可以正确执行,目前的SMTP邮

8、件发送服务器都需要验证。验证需要设置三个参数,发送邮件的服务器地址strHost、验证用户名strUserName和strPassWord密码String strHost = ““;String strUserName = “szg“;String strPassWord =“szg“; 还需要修改两个参数就是发送人地址和收信人地址。String strFrom = ““;String strToList = ““; 比如现在张三有一个邮箱是zhangsan ,邮箱密码是mamahao,现在他要给周润发发邮件,周润发的邮箱是zhourunfa 。,文件上传,在Web开发中,文件上传是一项非常实

9、用的功能,在Java开发体系中,文件上传功能的实现主要依赖于JavaBean,常用的上传组件是jspsmart,以jspsmart组件为例进行介绍文件上传。,使用jspsmart组件实现文件上传,国际化的问题,要考虑一个真正意义的全球资源,Web浏览器的内容对每个接收到的用户来说都是易 读的,现在大多数全球资源的网站都是英文的。本节将讨论国际化的一些基本问题。国际化,又称I18N,因为英文的国家化是Internationalization,它以I开始,以N结束,共18个字母。本地化,又称L10N,英文的意思是Localization。国际化的问题主要包含以下的内容为:日期、时间;数字;货币;其

10、他一些特殊的字符。也就是说,不同的Locale,显示日期、时间的格式是不一样的。当然,不同的语言有自己不同的字符集。 HTML中的字符实体和XML的语言保持一致。它定义了用特定的字符序列显示单字 符的功能,这种字符序列成为字符实体,它以“表示字符“”。比如使用字符实体编写一个西班牙语的“HelloWorld!”,显示为西班牙语,案例名称:显示为西班牙语 程序名称:Hello1.java package I18N; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Hello1

11、extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletExceptionresponse.setContentType(“text/html;charset=iso-8859-1“);response.setHeader(“Content-Language“,“es“); PrintWriter out=response.getWriter();out.println(“ En Espa ,Locale(地域,

12、Locale(地域)是指一个具有相同风俗、文化和语言的区域。如果一个应用程序没有事先把I18N作为内嵌的功能,那么当这个应用程序需要支持新的Locale时,开发人员必须对嵌入在源代码中的文本、图片和消息进行修改,然后重新编译源代码。每当这个应用需要支持新的Locale时,就必须重复这些繁琐的步骤,这种做法大大降低了软件开发的效率。java.util.Locale类是Java最重要的I18N类,在Java中,几乎所有对国际化和本地化的支持都依赖于这个类。Locale类的实例代表一种特定的语言和地区。如果Java类库中的某个类在运行时需要根据Locale对象来调整其功能,那么就称这个类为地域敏感的

13、(Locale-Sensitive)。例如,Java.text.DateFormat类就是地域敏感的。它需要依照特定的Locale对象来对日期进行响应的格式化。(在.NET中存在类似Locale的类CultureInfo,被翻译为文化信息)创建Locale对象时,需要明确指定其语言和国家代码。下面的代码分别创建了中国和美国的Locale对象。,Locale usLocale=new Locale(“en“,“US“); Locale chLocale=new Locale(“ch“,“CH“); 关于Locale的更多介绍,可以查看JDK帮助文档。这里实现一个支持多国语言的HelloWorld

14、。由两个文件组成,一个是用来发送请求的HTML文件,choose.htm。它向Servlet发送关于不同国家语言类型的请求。Servlet接收请求,然后进行处理,用不同国家的语言显示“你好世界”。choose.htm实现语言的选择,通过它发送指令给Servlet进行处理。,用于MD5算法加密的JavaBean,MD5算法是一种单向加密算法,曾经广泛应用于电子商务中,现在虽然已经被中国人找出了漏洞,可以伪造数字签名。但是,它的应用依然在现实世界中广泛存在着。在JDK中,没有提供实现MD5加密算法的类,这里提供一个实现MD5加密算法的JavaBean,供编程时使用。,使用MD5进行加密, “);s

15、 = md5.getkeyBeanofStr(s);out.print(“After md5:“ + s); %,图片添加水印,有时候,需要在程序中向图片上面写一些文字,称之为“水印”。经常可以看到许多网站的图片上面写着网站的名称和地址,采用程序可以自动添加。这里使用一个JavaBean,名为WaterMark,来实现这项技术。,图表系统,统计分析系统是B/S项目中的一项重要功能,通常需要给用户展示直观的图表。生成基于浏览器的图表方式比较多,比价常用的有两种方式: 1. 通过客户端的Applet来产生图表。Applet可以使用AWT等图形接口,服务器端将产生的结果发送给浏览器,将画图数据作为参

16、数传递给Applet,然后启动客户端的JVM进行画图。这种方式也对客户端要求比较高,必须要有JRE,而且通过applet生成的图表在加载过程中会有个Java的Log动画,用户看了可能会感觉不太舒服。 2. 通过服务端直接生成图表的图片。这种方式对客户端几乎没有什么要求,缺点是加重了服务端的负担,对服务端要求就相对高了点。这种方式来开发图表,可以缩短开发周期、节约成本。 目前通常选择第二种方案。在服务器直接生成图表,一般需要特定的插件,生成插件的工具很多,有不少是商业项目,需要收取一定的费用。在开源的项目中,JFreeChart (http:/www.jfree.org/)比较常用。它是一个免费创建图表的Java工具,它可以生成各式各样的图表。这些图表包括饼图、柱状图、线形图、区域图以及甘特图等等,基本可以满足各种项目的要求。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号