- MQTT.js 简述
Wu Youlu
javascript开发语言ecmascript
MQTT.js简述简介MQTT是一种轻量级的消息传输协议,常用于物联网(IoT)设备间的通信。mqtt.js是一个JavaScript库,支持在Node.js和浏览器中使用,用于通过MQTT协议与MQTTBroker进行通信。安装在Node.js中,可以通过以下命令安装:npminstallmqtt--save在浏览器中使用:基础概念Broker(代理):处理客户端消息的中介服务,管理消息的发布和
- DataV的安装与使用(Vue3版本)
炒毛豆
vue.js前端
1、DataV(vue3)地址:DataVVue3+TS+Vite版|DataV-Vue32、使用npminstall@kjgl77/datav-vue3安装3、全局引入。4、此时就可以按需使用了~
- 浏览器打开网站此站点不安全问题
张俊凯
浏览器报错信息image.pngimage.pngimage.png问题分析一个浏览器不可以,其他浏览器可以,修复单个浏览器清理浏览器缓存,重启浏览器重新安装安全证书重新安装浏览器(不推荐)所有浏览器都不行,系统问题,修复系统,刷新网络状态更新系统时间网络连接禁用启用重启系统手动更换IP宽带连接断开再连接路由器重启拔网线再插
- npm i 一直报错死活安装不下来所需要的依赖
有时间指导毕业设计
换成淘宝的镜像地址试试:npminstall-globalcnpm--registry=https://registry.npm.taobao.org然后:cnpmi最后启动终于成功。。。。。。。。。npm会出现各种报错可能,就是安装不下来,也不知道具体才能原因,百度了一大堆,就是安装不成功。
- Parastoo Font 开源项目安装与使用教程
郁俪晟Gertrude
ParastooFont开源项目安装与使用教程parastoo-font(Discontinued)-APersian(Farsi)Font-فونت(قلم)فارسیپرستو项目地址:https://gitcode.com/gh_mirrors/pa/parastoo-font1.项目目录结构及介绍ParastooFont是一个已不再维护的波斯语(Farsi)字体项目。尽管该项目已被归档,我
- composer手动安装
骑着大象去上班
1、下载下载composer.phar文件官网下载https://getcomposer.org/download/1.8.0/composer.phar或者命令执行php-r"readfile('https://getcomposer.org/installer');"|php然后将composer.phar放在某个文件夹下,比如我的就是D:\wnmp\composer下下载后在composer
- 【LINUX】阿里云linux服务器上使用iptables设置安全策略的方法_status=$(grep -i ubuntu etc issue)
2401_85154737
linux服务器阿里云
yuminstall-yiptablesiptables安装好后就可以来配置规则了。由于作为web服务器来使用,所以对外要开放80端口,另外肯定要通过ssh进行服务器管理,22端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:第一步:清空所有规则当ChainINPUT(po
- Python 读取配置文件config.ini
【灯火阑珊】我还在路上
Pythonpython
文章目录前言一、创建配置文件config.ini二、使用步骤1.安装库并引入库2.读取配置文件3.获取配置文件的内容总结前言在项目制的工作中往往会用到配置文件,这样可以灵活配置和切换,ini最常见一种配置文件类型,其使用python自带的configparser模块实现配置文件的写入、更新、删除、读取等操作。一、创建配置文件config.ini[Mock]mock_ip=127.0.0.1mock
- Docker编译环境的使用(ubuntu)
伍六七0804
dockerubuntu容器
目录Ubuntu安装docker重启docker拉取镜像进入docker安装软件提交docker添加用户到docker组进入docker添加build用户停止容器保存docker镜像load镜像删除容器Ubuntu安装dockersudoaptinstalldocker.io国内可用的源Welcometonginx!(tencentyun.com)https://ccr.ccs.tencentyu
- 详解氧惠是什么?看完你就明白氧惠了
氧惠全网优惠
氧惠是什么?淘宝优惠券推广软件的测评,帮你了解和分析哪个好?氧惠自2022年11月20上线,首月已拥有上万首批推广者和注册用户。氧惠邀请码是多少?很多人下载氧惠后会发现跟其它软件不同之处,安装后不注册无法看到App里的内容,而注册时又需要输入氧惠邀请码,那么全国首码氧惠邀请码是多少呢?其实原始的氧惠邀请码是:211985211985211985重要的事情说三遍,重要的事情说三遍。请输入上面的原始顶
- python网络爬虫(五)——爬取天气预报
光电的一只菜鸡
pythonpython爬虫开发语言
1.注册高德天气key 点击高德天气,然后按照开发者文档完成key注册;作为爬虫练习项目之一。从高德地图json数据接口获取天气,可以获取某省的所有城市天气,高德地图的这个接口还能获取县城的天气。其天气查询API服务地址为https://restapi.amap.com/v3/weather/weatherInfo?parameters,若要获取某城市的天气推荐2.安装MongoDB Mong
- Django跨域问题
一个简短且非常好记的ID
djangopython
简介由于本站以及很大部分项目都是前后端分离模式,前后端所配置的域名并不相同,所以会受到浏览器的同源策略限制,导致不能正确的请求资源,以下内容先用最简单的方法实现Django后端的跨域问题解决,后续原理再慢慢补充实现跨域(省流版)安装core依赖pipinstalldjango-cors-headers声明app在settings.pyINSTALLED_APPS元组中添加corsheadersIN
- docker基础用法
先饮乌龙茶
linuxdocker
文章目录OCI&OCFdocker架构docker镜像与镜像仓库docker对象docker的安装及使用docker安装docker加速docker常用操作OCI&OCFOCIOCI(OpenContainerInitiative)Linux基金会于2015年6月成立组织,旨在围绕容器格式和运行时制定一个开放的工业化标准,包括容器运行时的规范和镜像文件的规范。OCFOCF(OpenContaine
- 全城寻找金钱豹,但愿人豹两无恙
微言微评
全城寻找金钱豹,但愿人豹两无恙文/孙新合从前天开始,杭州富阳县金苑山庄小区发现豹子的消息引发举国关注。当事老人说,晚上八九点左右,他家里的瓦片突然掉落,于是,饲养的爱犬开始狂吠。他通过安装的监控发现,有只疑似豹子的动物正在自家院子里面闲逛。我的天,赶紧报警吧。遗憾的是,等到相关人员赶过来,对整个小区进行了地毯式的搜索,豹子却踪迹全无。为了保证安全,辖区发出公告,居民应该减少外出,尽量待在家中,同时
- 在 Docker 容器中配置 PIP 源:加速 Python 包安装的实践指南
代码之光_1980
docker
Docker是一个流行的容器化平台,它允许开发者将应用及其依赖打包在轻量级、可移植的容器中。在Docker容器中使用Python时,经常需要通过pip安装和管理包。然而,默认情况下,pip使用的源可能不是最优的,尤其是在某些地区访问默认源可能较慢。本文将详细介绍如何在Docker容器中配置pip源,以加速Python包的安装过程。Docker与pip概述Docker容器提供了一个隔离的环境,其中可
- dockerfile部署fastapi项目
hzw0510
dockerfastapi
dockerfile部署fastapi项目1、Dockerfile#使用Python官方镜像作为基础镜像FROMpython:3.8-slim#更新apt-get源并安装依赖#RUNapt-getupdate-y&&apt-getinstall-ygit#设置环境变量ENVPYTHONDONTWRITEBYTECODE1ENVPYTHONUNBUFFERED1#创建工作目录WORKDIR/app#
- 在Vue项目中使用Proj4js库进行坐标系转换并加载WMTS服务
卡夫卡的小熊猫
vue.js前端
OpenLayers是一个用于创建Web地图应用程序的JavaScript库。它支持许多不同的地图投影和坐标系,包括常见的Web墨卡托投影(EPSG:3857)和经纬度坐标系(EPSG:4326),以及其他许多本地或自定义的投影和坐标系。要在OpenLayers中转换不同坐标系下的WMTS服务,你需要了解两个主要部分:坐标系的定义和WMTS服务的配置。安装Proj4js:首先,在Vue项目中安装P
- 12.11日日精进
京心达侯天祥
今天下午给独特探险者安装后备箱电动支撑杆撞完了倒是能撑住了但就是不能直接升到最高之后也不知道说什么去学习一下最后店长把后备箱盖打开到最高然后长按关闭按钮最后就学习到了最新的高度所以不会就一定多问问才行我
- 使用proj4JS进行坐标转换
海亮啊
ArcGISAPIJSarcgisjavascript
proj4JS地址https://github.com/proj4js/proj4js安装npminstallproj4--save引入importproj4from"proj4"定义需要转换的坐标使用的坐标系,参数可以在qgis中查询proj4的值proj4.defs('EPSG:4548',"+proj=tmerc+lat_0=0+lon_0=117+k=1+x_0=500000+y_0=0+
- Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo
让梦想疯狂
DockerLinuxCentOScentosdockerlinux
出现错误#将Docker官方的YUM存储库添加到CentOS系统中sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repoCentOS安装Docker时,执行以上命令时出现错误:Loadedplugins:fastestmirroraddingrepofrom:https://do
- VMware中安装 Ubuntu ,实现 Windows 和 Ubuntu 之间自由复制粘贴
让梦想疯狂
UbuntuLinuxubuntulinux运维
VMware中安装Ubuntu24.04系统后发现与Windows系统不能自由复制粘贴,实现Windows和Ubuntu之间自由复制粘贴的方法如下:执行以下命令sudoapt-getautoremoveopen-vm-toolssudoapt-getinstallopen-vm-toolssudoapt-getinstallopen-vm-tools-desktop重启ubuntu
- Python入门 - pip安装
全栈老实人
Pythonpython
Python入门-pip安装安装pip命令python-mpipinstall--upgradepip如果失败可能是环境变量问题,见安装Python,配置环境变量pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple模块名称示例:pipinstall-ihttps://pypi.tuna.tsinghua
- chatgpt赋能python:Python中如何安装和使用pip包管理器
laod112
ChatGptpythonchatgptpip计算机
Python中如何安装和使用pip包管理器Python是一种非常流行的编程语言,而pip则是Python的包管理器。它使Python应用程序的安装和管理变得更加简单。在此文章中,我们将介绍pip的安装和使用,以及使用pip来安装和卸载Python模块的步骤。安装pip在Python2.7.9及更高版本中,pip已经预先安装,因此您可以直接使用它。对于早于2.7.9的Python版本,您需要手动安装
- PyArmor库
吉小雨
python库python
PyArmor是一个用于保护Python代码免受反编译的工具。它通过加密Python字节码,并可选地将其绑定到特定的硬件或分发许可,来增强代码的安全性。下面的教程适用于中级以上的Python工程师,将介绍如何使用PyArmor来保护Python项目。对于PyArmor8.0及以上版本,对命令结构进行了简化,主要包括gen、reg和cfg这三个命令。下面是针对这个新版本的更新教程:1.安装PyArm
- es安装ik分词器
abments
ESelasticsearchjenkins大数据
下载分词器首先确定es对应的版本(假设版本是7.10.0)根据版本下载指定的分词器开始安装在线安装./bin/elasticsearch-plugininstallhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip离线安装-
- how to resolve install mysql always notice‘You must reset your password using ALTER USER statement before executing this statement.’
WXL_JIANSHU
现象:#[YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement.](http://www.cnblogs.com/debmzhang/p/5013540.html)修复:安装完mysql之后,登陆以后,不管运行任何命令,总是提示这个step1:SETPASSWORD=PASSWORD('yournew
- 硬加密和软加密
Angus sonder
加密算法安全
一、加密方法不同1、软加密:是指通过特定的软件算法进行加密。2、硬加密:作为物理加密技术,其主要是通过芯片对硬盘中的每一个字符、每一个数据进行加密,这有些像早期的微电码。二、数据保护方式不同1、软加密:通过加密软件的方法来实现加密功能,并不对数据进行转换运算。2、硬加密:硬加密可将需要保护的数据转换成不可识别的数据模块。其在2000/XP的加密下,除了安装其本身驱动程序外,不需要安装其它任何驱动软
- 增量更新
世道无情
1.概述在我们开发的过程中,对于版本更新,按照我们一般套路都是在app刚一打开的时候,直接从服务器中下载最新的版本,然后下载安装就行。但是如果你app新的版本比较大,20M、30M的话,如果让用户下载,可能会比较耗流量、耗时间,需要用户去等待,所以这个时候就出现了增量更新。2.增量更新原理图如下增量更新原理.png3.增量更新算法核心比如用户手中当前版本是1.0,服务器中是2.0,并且服务器中肯定
- Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号
让梦想疯狂
Jenkinsjenkins
步骤1:安装VersionNumberPlugin登录Jenkins的管理界面。进入“ManageJenkins”->“ManagePlugins”。在“Available”选项卡中搜索“VersionNumberPlugin”。选中并安装插件,完成后可能需要重启Jenkins。步骤2:配置版本号生成打开项目配置页面。在下方找到“BuildEnvironment”,勾选“Createaformat
- SublimeText3 + Markdown + 实时预览
TomGui
SublimeText3是一款给力的文本编辑器,通过安装插件可以编辑Markdown文本,在编辑Markdown文本的同时可以实时预览编辑效果。安装准备:找到菜单栏:Preferences→PackageControl→PackageControl:InstallPackage;没有找到PackageControl,那么点击PackageControl安装吧,安装完重启Sublime。安装过程:需
- 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