总结一下关于Execl导入的软件的开发。
1.主要功能
功能非常的单一,对于Execl文件的导入,由于Execl2007版的生成的execl文件后缀为.xlsx,所以目前只能支持.xlsx后缀的Execl文件。
2.功能描述
外运长江安法部门相关保单的导入,保存在数据库中。
具体的使用方法可以参考:https://www.shimo.im/doc/H8DR9wpLxcsCkCAP
使用文档使用石墨文档进行编写,相对于word的优势是可以自适应图片的大小,但是功能有点单一。
3.开发过程的描述
3.1以前没有用过jquery,就算用过也相关的控件,这次进行的基础的使用,记录一下,相对来说还是进步了的。
申明使用在<head>和<body>之间
<script type="text/javascript" src=“<%=request.getContextPath()%>/js/jquery.min.js"></script>
参考w3c的可以引入官方的juery.min.js
Microsoft <head> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"> </script> </head>
3.2引入js
<script type="text/javascript" src="../js/showlink.js"></script>
3.3引入外部的css
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="../css/distribute.css" > <link rel="stylesheet" type="text/css" href="../css/button.css" > <link rel="stylesheet" type="text/css" href="../css/table.css" > <title>保险信息录入服务</title> </head>
3.4之前对jsp,servelt之间的跳转的路径不怎么记得。
jsp中
<form action="<%=request.getContextPath() + "/LoginServlet"%>">
request.getContextPath获得就是项目的路径。
再回顾一下相对路径和绝对路径,意思是理解的,但是有时候具体的表达方式会忘记。
摘自百度百科回答
绝对路径:是从盘符开始的路径,形如 C:\windows\system32\cmd.exe 相对路径:是从当前路径开始的路径,假如当前路径为C:\windows 要描述上述路径,只需输入 system32\cmd.exe 实际上,严格的相对路径写法应为 .\system32\cmd.exe 其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。 假如当前路径为c:\program files 要调用上述命令,则需要输入 ..\windows\system32\cmd.exe 其中,..为父目录。 当前路径如果为c:\program files\common files 则需要输入 ..\..\windows\system32\cmd.exe 另外,还有一种不包含盘符的特殊绝对路径,形如 \windows\system32\cmd.exe 无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。
3.5mysql导入导出
方法1:使用工具 Navicat for Mysql
方法2:命令行 导入的话可以用:
mysql> load data infile '绝对路径' into table tt -> fields terminated by',' -> lines terminated by'\r\n'
filelds有什么标记隔开。
因为Winsows中行以“\r\n”隔开,所以必须lines terminated by'\r\n', 如果不设置这个参数,也可导入成功,但是会多导入一个“\r”控制字符,可能在可视化 MySQL工具中看不出字段异样,但是在MySQL命令行中显示会明显混乱。
相对来说Navicat对于我这种懒人来说很好用。所以推荐方法一
3.6其中研究了很长时间的一个问题是mysql 导入execl文件。
其实一开始用Navicat的话会很好用,但是为了避免下新的工具,百度了很长时间。说一下步骤:
1.先建立一个Execl文件,保存为txt.
2.因为txt是unicode编码,所以需要打开txt另存在utf-8或者设置的编码。
3.用上面的方法二导入.txt文件。虽然会出现一些错误,我都是手动在mysql workbeach中修改。
3.7将在tomcat中的项目发布
因为是要求可以让别人使用的项目,所以需要发布到外网。
在公司里使用的是内网,当时并不知道,还折腾了一下午。
百度了一个如果是没有服务器的,用自己的电脑当服务器。
方法1:用一个从内网到外网的映射软件花生壳,注册会给你一个免费的域名,但是如果要从内网映射到外
网需要8块钱,但是我穷啊,没有用。
方法2:如果自己的电脑是有外网的ip的。可以进入tomcat,conf目录下的server.xml文件下修改。
修改的有3个地方:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
其中8080改成80.host改掉:可以改成域名,也可以改成外网ip.
最后公司有服务器所以直接部署在公司的服务器上啦。
注意能使用相对路径时就使用相对路径,绝对路径修改起来很困难。。。
比如:
var url="../DealSheetServlet?sheetid="+i; xmlhttp.open("GET",url,true); xmlhttp.send();
当时写的http://localhost/8080但是要发布到外网上啊。所以要用相对路径。
4.ajax我总是记不得,每次都在百度
var xmlhttp; function getAjax(){ if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } } getAjax(); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { window.location.reload(); } } var url="../DealSheetServlet?sheetid="+i; xmlhttp.open("GET",url,true); xmlhttp.send();
如果设置为false就直接没有onreadystatechange.调用函数后面是有括号的啊衰。。