随笔分类 -  WEB开发

J2EE记录
摘要:以前没弄过,开个帖子记录一下。基本上要做的就是安装JDK、安装tomcat、安装sql。1、安装JDKJDK在本机上,需要传输到远程linux服务器上。为了存放我们上传的文件。打开putty,进入/tmp目录下,新建一个java目录预备使用。PSCP是PUTTY包里面的一个文件上传工具。之前putty直接双击就可以运行了。pscp怎么双击都没用!好吧……笨拙的搜了一下使用方法,原来要从cmd底下进入到putty所在的目录(从网上下载putty.zip包,然后解压)才行。把目测要用到的地方都标注了一下。现在来编辑一下命令:pscp -P 33333 -l root -pw 123456 -2 - 阅读全文
posted @ 2013-07-02 15:58 elar 阅读(3922) 评论(0) 推荐(0) 编辑
摘要:好文推荐《两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计》地址: http://www.oschina.net/translate/scaling-pinterest-from-0-to-10s-of-billions-of-page-views?from=20130428英文原文: Scaling Pinterest - From 0 to 10s of Billions of Page Views a Month in Two Years介绍了web规模不断扩大时的框架应对策略,以及产品的选择。非常棒!都是干活!! 阅读全文
posted @ 2013-05-02 09:35 elar 阅读(293) 评论(0) 推荐(0) 编辑
摘要:在mysql的文档里面看到一段有用的transaction代码,摘录留用。关键的部分都用红字标出。public void updateCoffeeSales(HashMap<String, Integer> salesForWeek) throws SQLException { PreparedStatement updateSales = null; PreparedStatement updateTotal = null; String updateString = "update " + dbName + ".COFFEES " + & 阅读全文
posted @ 2013-04-16 15:36 elar 阅读(404) 评论(0) 推荐(0) 编辑
摘要:情景设定 客户端为android手机,登录后希望保存其在线状态(server端),并且对于每一个在线用户都有一个相应的checksum值,每次执行操作时需要校验该值。为了防止黑客截获checksum值进行二次攻击,因此checksum值在每次登录或间隔一段时间后都会动态改变。因此需要在server端保存用户的在线状态,当用户离线时或超出一定时间没有操作时,删掉在线记录,这样每次新登录时就会产生新的checksum值。问题 需要定时清理过期的在线用户,因为有的用户喜欢保存密码而不使用登出功能。解决方法 定时清理过期的在线用户,可以想到使用一些周期性的定时任务。定时任务可以设置在操作系统中,... 阅读全文
posted @ 2013-04-16 11:45 elar 阅读(5546) 评论(0) 推荐(1) 编辑
摘要:本来想用MD5做散列来做密码传输的,无奈现在字典满天飞,而且已经被碰撞破解了。后打算用SHA1,但是到MD5.JS 上一看,人家作者推荐用SHA256或者更强的。好吧,那就改用SHA256好了。服务器端JAVA的MessageDigest类直接可以做SHA散列,不过散列完以后是Byte[]类型数据,所以还要再处理一下,使用apache的commons-codec库来做,就不自己写了。commons-codec库的下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi代码是:(标红的是关键语句)import j 阅读全文
posted @ 2013-04-09 16:30 elar 阅读(18375) 评论(0) 推荐(2) 编辑
摘要:《Using one-time passwords to prevent password phishing attacks》讲说可以使用一次性的密码,当用户注册时候,通过用户填写的联系方式,如手机或者email来发送一次性密码。之后的登录貌似也是一样的。《Kamouflage Loss-Resistant Password Management》斯坦福的。讲说一般的系统都只存储用户的密码S。他们提出一个框架是存储S + (N-1)个S的变种,认为当用户设备被盗时,黑客破解的时间会增加。不过没看完这篇,跟我们的需求不符。Digest access authenticationIt applie 阅读全文
posted @ 2013-04-09 10:36 elar 阅读(403) 评论(0) 推荐(0) 编辑
摘要:PrepareStatement有两种executeQuery方法,一种是带参的,一种是不带参的。带参的executeQuery:ResultSetexecuteQuery(Stringsql) throws SQLExceptionExecutes the given SQL statement, which returns a single ResultSet object.Note:This method cannot be called on a PreparedStatement or CallableStatement.Parameter... 阅读全文
posted @ 2013-04-07 12:09 elar 阅读(1825) 评论(0) 推荐(1) 编辑
摘要:1、mysql的limit关键字 (DAO)select * from tablename limit startPoint, numberPerPage;tablename 就是要分页显示的那张表的名称;startPoint 就是起始的位置 -1;numberPerPage 就是一页显示的条数。例如: select * from comment limit 20,5;则是从comment表中抽取21~25号评论:2、jQuery load函数 (页面JS)MySQL的limit关键字可以完成抽取一定范围(n,n+m]的记录,也就是说需要两个参数来决定某一页显示的内容,即“第x页”以及每页显示 阅读全文
posted @ 2013-03-28 23:20 elar 阅读(25861) 评论(2) 推荐(4) 编辑
摘要:本来看到旧版的server administration可以自动备份的,想着workbench应该也可以……没想到竟然不行,而且mysql只是考虑将这个功能加到community plugin中。忧桑……还好有人写了个AutoMySQLBackup共享在了sourceforge上。试试看怎么样吧。人家在sourceforge上的介绍:DescriptionAutoMySQLBackup with a basic configuration will create Daily, Weekly and Monthly backups of one or more of your MySQL dat 阅读全文
posted @ 2013-03-22 17:12 elar 阅读(5297) 评论(2) 推荐(1) 编辑
摘要:实现要先在centOS下安装好mysql workbench咯。具体见上一篇文章。在centOS下安装完workbench以后就可以开始做导出/导入工作了。step1:将数据库从win下导出现在在win下打开mysql workbench,在右边server administration那选择数据库import和export管理点进去以后选择要导出的数据库在下方,可以选择导出的方式。一种是将选中的database导出到一个文件夹中,每一个table作为一个单独的sql文件存在。另一种,是导出成自包含文件,这样导出的sql文件只有一个。我们选择后者。修改路径后,点击export。等一会就导出好了 阅读全文
posted @ 2013-03-19 15:57 elar 阅读(2174) 评论(0) 推荐(1) 编辑
摘要:step0:安装mysql在按照workbench之前,先安装mysql。指令是yum install mysql mysql-server mysql-libs mysql-server关于mysql各个包的功能是:“mysql for the client tools, mysql-server for the server and associated tools, and mysql-libs for the libraries. The libraries are required if you want to provide connectivity from different 阅读全文
posted @ 2013-03-19 10:50 elar 阅读(11386) 评论(0) 推荐(0) 编辑
摘要:现在北大的镜像被移除了,好伤感……在win下打开的几个镜像都不行,还是在centOS下的浏览器打开的镜像可以。在terminal中输入wget http://labs.mop.com/apache-mirror/tomcat/tomcat-7/v7.0.37/bin/apache-tomcat-7.0.37.tar.gz下载进度下完以后解压一下tar -xzvf apache-tomcat-7.0.37.tar.gz解压完了以后把目录移动到/usr/local/tomcat下面mv apache-tomcat-7.0.37 /usr/local/tomcat到/usr/local下面看看目录移 阅读全文
posted @ 2013-03-18 10:28 elar 阅读(973) 评论(0) 推荐(0) 编辑
摘要:登录界面的底色不要设置,直接只设置阴影和圆角还有1px的白色边框就可以有玻璃的效果了。换不同的背景可以看出效果。炫目的背景透出来的效果更好一些。中间的内容区域设置min-height:100%可以白色区域纵向铺满屏幕,不会出现内容少时页面只有一半的尴尬场面。由于右边的列表很长很长……滚动到下面的时候header就看不到了,不滚动的时候footer就看不到了,所以就使用了header和footer采用完全fixed的设置。另外,右边橘色的块块原本是放在页面中部的,但是,因为是一个随时可能发生的随机操作,最后决定把它也fixed,放在右边固定的位置,这样用户什么时候想点都可以点到了,而不用将网页滚 阅读全文
posted @ 2013-03-14 19:12 elar 阅读(340) 评论(0) 推荐(0) 编辑
摘要:之前在测试页面功能时,发现在input type=“text”的输入栏中按下回车键时,会导致form表单的自动提交,遂将提交按钮由submit类型改为button类型。这样虽然解决了表单自动提交的问题,但是却导致了新问题的出现,即表单中的nicEdit的值无法被提交了。在google的过程中看到这篇文章(《NicEdit在JQuery下无法获取textarea值》)得到一个灵感,就是可以先用js读取出nicEdit富文本编辑器中的内容,将其内容赋给textarea,然后再提交表单。代码为:<textarea name="intro" rows="15&quo 阅读全文
posted @ 2013-03-11 16:13 elar 阅读(519) 评论(0) 推荐(0) 编辑
摘要:Java Exception 应用情景1:用户登录经常在登录时,遇到“用户名或密码错误”这样的提示,让人搞不清楚究竟是用户名记错了,还是密码输错了。那么为什么程序员不将这两种情况分开提示呢? 当Control层(如,servlet)直接调用Model层的"boolean login(String username, String password)"方法,login函数在用户名密码均正确时,返回true,否则返回false。编写Control层代码的程序员可以通过判断返回 的值来判断登录是否成功。但是,这样只能知道用户是否登录成功,但万一不成功,却无法获知登录失败的原因。按 阅读全文
posted @ 2013-03-01 16:52 elar 阅读(2368) 评论(6) 推荐(4) 编辑
摘要:原来工程的上传图片存储地址在web应用的目录下,并且是硬编码到其中的:每次使用maven tomcat:redeploy以后,这个目录就没有了。现在想要把上传图片的位置移动到tomcat的webapps目录中专门存放图片的一个目录下。即,新建的一个images目录用来存放web应用的图片们。这样就把工程和用户上传图片分离了,以后在redeploy时也不用预先备upload目录,然后再拷贝回去,因而在web应该更新时比较方便些。此外,还想改变文件路径被硬编码到java文件中的现状,所以将文件的存储位置预先定义在web.xml中,这样将来再改变位置的时候就不需要再回去改动代码了。要完成上述目的,需 阅读全文
posted @ 2013-02-26 16:55 elar 阅读(5808) 评论(3) 推荐(1) 编辑
摘要:前言移动设备由于受到带宽、处理器运算速度的限制,因而对网页的性能有更高的要求。究竟是网页中的何种元素拉低了网页在移动设备中加载的速度呢?这些元素应该做何处理以提升页面在移动设备中的整体性能?是否存在一种设计模式可以同时满足移动端及桌面端的页面设计呢?本文目录:1、桌面网页的性能检测2、移动设备中网页的性能检测3、移动设备网页的性能瓶颈4、如何改善移动设备网页的性能5、什么是Mobile-first Responsive Web Design和Progressive Enhancement正文1、桌面网页的性能检测桌面浏览器使用的页面可以利用一个插件来检测,名为Yslow。Firefox和chr 阅读全文
posted @ 2013-01-08 18:03 elar 阅读(2440) 评论(0) 推荐(1) 编辑
摘要:上集回顾:昨天讲了页面如何根据不同的设备尺寸做出响应。主要是利用了@media命令以及尺寸百分比化这两招。上集补充:其中,利用以下CSS设置让图片或视频大小不超过设备屏幕的宽度:img, object{max-width:100%;}这一语句一般加在@media screen and (max-width:481)的判断内,主要是让手机用户在查看网页时图片不至于比手机屏幕还大。这一招在《Head First Moblie Web》中被称为“Fluid Image Technique”。视频能够做成响应式吗?除了图片以外,还有一种常见的多媒体形式是视频。有时在web设计中,根据需要会在页面中加入 阅读全文
posted @ 2013-01-07 21:02 elar 阅读(2037) 评论(0) 推荐(0) 编辑
摘要:现在移动设备越来越普及,用户使用智能手机、pad上网页越来越普遍。但是传统的fix型的页面在移动终端上无法很好的显示。因此,Ethan Marcotte提出一种响应式web设计的概念。响应式web设计的英文为Responsive Web Design,简写为RWD。在图书馆借到一本O'REILLY的《Head First Moblie Web》,里面讲到了一些做RWD的技巧。今天学到的两招是:1、使用media信息来帮助判断屏幕尺寸2、使用百分比来替换以前使用的像素来声明宽度等与尺寸相关的信息看看今天试验的成果(本文最后有试验例子的下载链接):视频:全屏幕显示页面时 将浏览器拉窄模仿移 阅读全文
posted @ 2013-01-06 19:41 elar 阅读(2310) 评论(9) 推荐(4) 编辑
摘要:本文翻译自Tim McCune 的《Exception-Handling Anipatterns》 应该抛出一个异常还是应该返回一个null?是抛出checked类型异常还是抛出unchecked类型异常?对于很多中级的开发人员而言,异常处理往往是一件事后才去考虑的事情。他们经常使用的异常处理方式是 阅读全文
posted @ 2012-12-24 16:54 elar 阅读(4610) 评论(4) 推荐(3) 编辑