- android文件上传优化分享(切片上传)
2401_84520332
程序员android
数据UI分离:使用观察模式,抽离UI部分代码。使用弱引用设置观察者,避免生命周期不一致引起的内存泄漏。费时操作前置:在选择图片的步骤,开启异步线程压缩图片、计算md5,将费时操作提前处理掉_(此步骤在mx4pro上处理拍照的图片耗时100~200ms,基本上选择图片后就已经完成好了计算)_将文件上传成功的md5值保存在内存中,避免重复处理。分次请求合并:向服务端开发者申请批校验的接口,将多个文件存
- png图片怎么转换成jpg?png转jpg批量
qq_33537961
png图片怎么转换成jpg?png和jpg作为目前最为主流的两种图片格式,已经深入我们的日常工作和生活学习中,大家对这两种图片格式都非常的熟悉。png是一种无损压缩图片格式,所以它的体积会更大一些,但是图片的质量好清晰度高。而jpg是一种有损压缩的图片格式,图片质量稍差一些,但是图片的体积比较小。所以对图片清晰度没有较高要求的时候,有不少小伙伴喜欢将png图片转换成jpg后再使用。这就需要进行图片
- 微信小程序利用canva进行大图片压缩
kaka-333
javascript前端开发语言微信小程序小程序
找了很多方法没找到合适的图片压缩第三方库,有没有推荐的微信小程序压缩图片的第三方库呀(有的话,互帮互助,感谢)我自己写了个简易的压缩方法,其实就是等比例的缩小图片,并把png转为jpg,毕竟png的颜色太多。wxml:js:canvasCompress(obj,n){let{tempFiles}=this.datalet_this=thisreturnnewPromise((resolve,rej
- Get几个非常实用技能——常用文件操作工具类、图片视频操作
不愿意做鱼的小鲸鱼
javajava字符串ffmpeg
目录文件工具类获取图片响应流操作获取视频响应流操作获取视频响应流(断点传输)截取视频某帧图片在获取的视频缩略图中间添加暂停按钮压缩图片1.按图片的比例进行压缩2.直接设置图片压缩后的输出大小进行压缩3.按设置宽高对图片进行压缩文件工具类导入坐标:cn.hutoolhutool-all${hutool.version}commons-iocommons-io2.6工具类中的方法toFile:Mult
- vue+element 使用弹框this.$confirm 区分关闭和取消按钮
乐容
vue.jsjavascript前端
需求描述:点击按钮,弹出弹窗,要做两个选择按钮,要区分开选择和关闭的功能代码实现:this.$confirm("是否确定删除选中的数据?","提示",{confirmButtonText:"确定(A按钮)",cancelButtonText:"取消(B按钮)",type:"warning",distinguishCancelAndClose:true,//重要,设置为true才会把右上角X和取消区
- vue js原生上传图片前压缩方法
beyondjxx
javascriptvue.js前端
//压缩图片compressImage(file,maxWidth=750){returnnewPromise((resolve)=>{constreader=newFileReader();reader.onload=function(event){constimg=newImage();img.src=event.target.result;img.onload=function(){//co
- 在线图片编辑网站推荐(图片压缩)
LuckyCola2023
工具人工智能图像处理前端
发现神器!「可乐改图」——一站式在线图片编辑平台,让工作更高效!大家好!今天我要给大家安利一个我最近发现的宝藏工具——「可乐改图」,一个集多功能于一身的在线图片编辑平台,简直是职场人士和创作者的福音!官网地址:https://luckycola.com.cn一、产品介绍「可乐改图」是一款简单易用的在线图片编辑神器,它不仅涵盖了“压缩图片”、“图片格式转换”这些基础功能,还提供了“图片编辑(裁剪、旋
- 免费在线图片编辑网站推荐
LuckyCola2023
工具人工智能图像处理
发现神器!「可乐改图」——一站式在线图片编辑平台,让工作更高效!大家好!今天我要给大家安利一个我最近发现的宝藏工具——「可乐改图」,一个集多功能于一身的在线图片编辑平台,简直是职场人士和创作者的福音!官网地址:https://luckycola.com.cn一、产品介绍「可乐改图」是一款简单易用的在线图片编辑神器,它不仅涵盖了“压缩图片”、“图片格式转换”这些基础功能,还提供了“图片编辑(裁剪、旋
- 前端上传组件Plupload使用指南
梦想的征途
其他
Plupload有以下功能和特点:1、拥有多种上传方式:HTML5、flash、silverlight以及传统的。Plupload会自动侦测当前的环境,选择最合适的上传方式,并且会优先使用HTML5的方式。所以你完全不用去操心当前的浏览器支持哪些上传方式,Plupload会自动为你选择最合适的方式。2、支持以拖拽的方式来选取要上传的文件3、支持在前端压缩图片,即在图片文件还未上传之前就对它进行压缩
- vue+element 左侧菜单栏+Tab页访问本地页面
夏_克
javascriptvue前端
exportdefault{data(){return{pageList:[],linkList:[],activePage:'',reloadFlag:true}},provide(){return{closeCurrent:this.closeCurrent}},created(){//if(this.$route.path!=indexKey){//this.addIndexToFirst(
- vue+Element实现文字列表轮番滚动效果
菜鸟茜
ElementVUEjsvueElement
预警信息{{item.info}}{{item.info}}{{nei}}紧急联系人:周峰联系人电话:15515554312exportdefault{data(){return{chuxian:true,chuxians:false,nei:"",messages:[{type:"报警",deviceId:12,info:"温度传感器西特SetraSTC温度读数异常"},{type:"报警",d
- 【详细流程】vue+Element UI项目中使用echarts绘制圆环图 折线图 饼图 柱状图
G佳伟
vue.jsuiecharts
vue+ElementUI项目中数据分析功能需要用到圆环图折线图饼图柱状图等,可视化图形分析安装流程及示例1.安装依赖npminstallecharts--save2.在main.js中引入并挂载echartsimportechartsfrom'echarts'Vue.prototype.$echarts=echarts3.在需要使用echarts的页面引入echartsimport*asecha
- python:批量压缩图片质量
獨孤記憶
image.pngimage.png#compress_image#click->dosomethingfromtkinterimport*fromtkinter.filedialogimport*fromPILimportImageasImginfo={'path':[]}defmake_app():app=Tk()#标签Label(app,text='图片压缩小工具',font=('Hack'
- vue+element(项目中的使用)
友人!
VUEvue.js
Table1,带选择的table,选择时选择对应的id进行操作letarr=[];//选择id存放的数组for(leti=0;i{{item.name}}单元格项有不同的操作按钮使用slot-scope="scope"在el-table-column中加入一个随机的key值,这样界面切换的时候检测到不同的key值就会重新去加载:key="Math.random()"2,自定义表头label3,筛选
- JS连接打印机
友人!
代码案例
1,vue+element打印el-dialog弹框内容在main.js引入print.js文件importPrintfrom‘./assets/print’//下载到本地地址Vue.use(Print)//打印类属性、方法定义/*eslint-disable*/constPrint=function(dom,options){if(!(thisinstanceofPrint))returnnew
- 前端本地客户端压缩图片,兼容IOS,Android,PC、自动按需加载文件
chjqxxxx
JavaScript
演示一下自己试试点我直接进入演示页面说明在客户端压缩好要上传的图片可以节省带宽更快的发送给后端,特别适合在移动设备上使用。为什么需要已踩过很多坑,经过几个版本迭代,以及很多很多网友的反馈帮助、机型测试图片扭曲、某些设备不自动旋转图片方向,没有jpeg压缩算法..不支持newBlob,formData构造的文件size为0..还有某些机型和浏览器(例如QQX5浏览器)莫名其妙的BUG..按需加载(会
- el-table复选框显示异常
85d8c4f3886f
用vue+element写项目的时候遇到了一个问题,el-table的复选框按钮显示异常,具体表现为:只选择了一条数据时,上面控制全选的复选框也会呈“全选中”状态,而不是“半选中”状态的只显示一条横线,这样会对用户使用造成干扰。错误示例正确示例查看渲染出来的html,发现element是用class来控制“全选”和“半选中”的,如果是全选,对应的class为“is-checked”,如果是半选中,
- PPT制作技巧有哪些?办公资源模板怎么样?
ll鲸鱼
对于刚开始学习制作PPT的朋友来说,应该并不是很了解它是怎样的,并且制作起来也不是那么的容易,就会选择套用模板,这里小编和大家简单介绍办公资源和一些制作技巧,供大家参考。制作技巧:1、规则裁剪图片PPT中保持图片形状或尺寸的统一十分重要。在PPT中插入一张图片,点击格式-裁剪,选择裁剪为形状,可将图片裁剪为任意形状;选择纵横比,可快速修改图片比例:2、压缩图片一般我们可以通过压缩PPT中的图片来减
- android 下图片的Bitmap.compress()占用内存的大小分析
快乐前进
Android
上次研究了安卓下面图片通过缩放改变大小,这个变化是非常明显,但是失帧的情况也挺严重,这次主要是研究一下如何在不失帧的情况下压缩图片,一、基础知识1.1如果使用BitmapFactory.decodeResource()图片后会对图片进行缩放,造成图片变大的问题图片在windows下显示大小为大概是374k(374,077字节),在通过BitmapFactory.decodeResource()加载
- vue+Element实现tree树形数据展示
森森deHOME
简单粗暴是我的原则,方便复制粘贴是我的梦想!!!效果如下微信截图_20200710114604.pngimport{root}from'../../api/api';exportdefault{data(){return{setTree:[],defaultProps:{children:'children',label:'name'},}},methods:{getListData(){letd
- (已解决)vue+element-ui实现个人中心,仿照原神
BrianGriffin
vue.js前端javascript
差一个个人中心页面,看到了这个博主的个人中心,真的很不错地址:vue+element仿原神实现好看的个人中心最终效果:
- 图片太大如何缩小上传?分享一个解决办法
喝奶茶嘛
图像处理新媒体运营
随着手机、相机和其他设备拍摄照片的分辨率和质量不断提高,图片大小也越来越大,在设备存储空间有限的情况下,通过压缩图片可以节省存储空间,使得能够存储更多的图片文件,怎么把图片压缩小一点呢?想要将图片kb缩小,可以试试压缩图网站,这是一款在线图片处理工具,支持png、jpg、gif、webp、tiff等多种图片格式压缩,打开上传即可完成图片缩小,操作方便又简单,新手小白们都能一看就会。打开压缩图网站,
- 等比例压缩图片工具
scx_link
Javajava
packagecn.com.yuanquanyun.common.opencv;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.awt.image.CropImageFilter;importjava.awt.image.FilteredImageSource;im
- 如何压缩图片?3种简单的图片压缩方法
高效办公能手
如何压缩图片?
如何压缩图片?在数字时代,我们常常需要处理大量的图片,但有时候图片尺寸过大,导致上传或分享变得困难。这时,图片压缩工具就派上了用场。今天,我将为大家介绍三种简单易用的图片压缩工具,帮助你轻松应对大尺寸图片。第一款:迅捷图片压缩这是一款简单易用的图片压缩工具,它可以帮助您轻松地压缩图片,减小文件大小。只需要通过几个简单的步骤就可以完成图片压缩了。第一步:打开这个工具,然后在首页中找到【图片压缩】这个
- 图片文件大小kb怎么调整?试试这个方法吧
喝奶茶嘛
新媒体运营图像处理
随着我们拍照设备的提高,图片的质量也越来越高,随之而来的体积也越来越大,在很多平台上传分享图片的时候就容易遇到图片过大无法上传的情况,那么该怎么去降低图片kb大小呢?合理的使用图片压缩不仅可以节省的我们的储存空间,在后续的编辑处理上也更加方便,下面我们一起来看一下压缩图片的具体操作步骤吧。打开压缩图网站,点击上传图片,支持jpg、png、gif、webp等多种格式,可一次性批量处理60张。上传后自
- excel 如何缩小图片尺寸,不改变大小 2021-10-21
Crate
excel如何缩小图片尺寸,不改变大小1,选中图片2,格式--压缩图片--选项--把“保存时自动执行基本压缩”去掉前面的勾。image.png3,打勾“仅应用于所选图片”4,确定。
- 前端vue/react项目压缩图片工具@yireen/squoosh-browser
1024小神
HTML前端前端vue.jsreact.js
想要在前端项目中压缩图片,然后再上传到后端保存,就需要一个压缩工具的帮助,暂时有两个依赖库可以选择:image-conversion和yireen/squoosh-browser,看了官方仓库地址和更新时间等详情,发现还是yireen/squoosh-browser最新一些,所以就选择了yireen/squoosh-browser。@yireen/squoosh-browser地址:@yireen
- Squoosh在线无损图片压缩工具中文版,JPG/webP/PNG/互转
imMos
基于Squoosh本地部署的一套压缩工具,中文体验地址:https://www.i847.cn/yasuo/index.html。原英文网站:https://squoosh.app。在线图片压缩网站除了压缩图片大小之外,速度、方便性、保密性也是很有必要的,如果你经常需要压缩图片,那么今天分享的squoosh这款工具你一定要试试。它是谷歌Chrome实验室团队打造,界面易操作,实用性是非常高的,可以
- vue+element el-tree树形控件的底层菜单横向排列
@~~涛
Vue
完整代码:exportdefault{data(){return{routeList:[{title:"授权管理后台",list:[{id:1,label:"京店宝",children:[{id:2,label:"用户分析",children:[{id:4,label:"查询次数",children:[{id:7,label:"页面查看权限"},{id:8,label:"编辑"}]},{id:5,
- vue+element 换肤功能
~张小八~
vue.js前端javascript
1.首先建深色和浅色两个主题样式变量样式表,样式表名和按钮中传入的值一样,本例中起名为default.scss和dark.scss2.在data中定义主题变量名zTheme:‘defalut’,默认引用defalut.scss,在点击按钮时切换引用的样式表,达到换肤效果3.dom中写入主题切换按钮/****更换主题按钮*****/深色主题 ||浅色主题2.setTheme方法
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v
[email protected] 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
 
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l