web.xml 中的listener、 filter、servlet 加载顺序及其详解
摘要:在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中使用servlet配置的,导致tomcat启动后在执行quartz任务时报空指针,原因就是servlet中的数据库连接信息未被加载。网上查询了下web.xml中配置的加载优先级: 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 f
阅读全文
posted @
2013-09-28 19:16
发表是最好的记忆
阅读(44065)
推荐(10) 编辑
忘记密码功能的安全实现(邮件方式)
摘要:最近在做P2P网贷系统,由于对安全的要求比较高,因此做每一步都比较小心,考虑再三。在做忘记密码功能时考虑到邮箱链接的安全性,去网上参考下别人的意见,查询后发现许多网站的这个功能都存在漏洞,如:手机方式:http://www.wooyun.org/bugs/wooyun-2010-018055 邮件方式:http://www.2cto.com/Article/201305/215934.html http://www.wooyun.org/bugs/wooyun-2013-017322吓到了吧,所以任何小的功能稍加不注意,可能就是一个大的漏洞我的解决方案:(有不同意见的可以马上喷):1...
阅读全文
posted @
2013-08-18 22:33
发表是最好的记忆
阅读(4813)
推荐(2) 编辑
java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。
摘要:package xidian.sl.netcredit.util;/** * Copyright (C) 2009-2010 Yichuan, Fuchun All rights reserved. * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright o
阅读全文
posted @
2013-08-18 14:39
发表是最好的记忆
阅读(6765)
推荐(0) 编辑
几种任务调度的 Java 实现方法与比较
摘要:综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺点进行比较,目的在于给需要开发任务调度的程序员提供有价值的参考。任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。Timer相信大家都已经非常熟悉 java
阅读全文
posted @
2013-08-01 21:46
发表是最好的记忆
阅读(31197)
推荐(5) 编辑
Java 的HTML 解析器-----jsoup
摘要:/** * jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操 作数据。jsoup的主要功能如下: 1. 从一个URL,文件或字符串中解析HTML; 2. 使用DOM或CSS选择器来查找、取出数据; 3. 可操作HTML元素、属性、文本;jsoup是基于MIT协议发布的,可放心使用于商业项目。 * */在线Javadoc:http://www.ostools.net/apidocs/apidoc?api=jsoup-1.6.3jsoup Cookbook(..
阅读全文
posted @
2013-01-17 12:55
发表是最好的记忆
阅读(9430)
推荐(0) 编辑
java 中文乱码问题的解决
摘要:java中的中文乱码问题应该是我们经常碰到的一个问题,今天就来总结下对于乱码问题的解决方法:1. 超链接中带有的中文字符,添加这样如果不进行处理在后台得到的数据就会出现中文乱码的问题,由于超链接实际是用get方式进行传值的,这个问题的解决方法有:a. 在我们用的Tomcat的conf文件夹中找到server.xml,在该文件中找到,然后在这里面加写URIEncoding="gb2312"即可解决。2.在服务端用代码进行处理:例如title是要进行处理的中文字符:public void setTitle(String title) { try { this.t...
阅读全文
posted @
2012-09-19 19:26
发表是最好的记忆
阅读(559)
推荐(0) 编辑
正则表达式详解
摘要:空闲下来决定好好研究下正则表达式,看了传说中正则表达式书中被誉为圣经级的书《精通正则表达式第三版》,以下作为我的记录稿1.正则表达式基础:完整的正则表达式由两种字符构成:特殊字符(元字符)和普通文本字符(文字);(1)首先是脱字符^与美元符$:在检查一行代码时,^表示行的开始,$表示行的结束;正则表达式cat查询就是普通文本,只要包含cat都在范围内,但^cat则不同,表示查找行首的cat,cat$表示只查找行尾的cat,^cat$表示一行中只有cat的行;匹配分别如下:(2)字符组:[.....],匹配列举的字符之一;例如[sS]hen[Ll]iang匹配的是shenliang,shenLi
阅读全文
posted @
2012-07-03 01:17
发表是最好的记忆
阅读(715)
推荐(0) 编辑
照片筛选与上传功能
摘要:现在对于软件的体验是越来越深了,其实你给客户做一个软件并不是说你将客户要的功能实现了就可以了,并不是那么按部就班的实现功能即可,例如:添加用户信息(管理员进行添加的),需要进行用户照片的上传,除了照片上传的其他信息很好解决只需要用excel进行批量导入即可,但照片你总不可能让管理员一张一张进行上传吧,那种数据量谁还会来使用你的系统阿,所以系统并不是说实现了某个功能即可,而是要根据客户的实际情况,对功能进行适当的完善,以解决用户实际问题以此来增加用户体验;最近给一个学院做的一个校友系统,需要将该学院的第一届毕业生到现在的所有校友信息进行录入,那个数据量确实很大,主要的问题就存在于照片的上传问题上
阅读全文
posted @
2012-07-01 14:26
发表是最好的记忆
阅读(564)
推荐(0) 编辑
全面掌握IO(输入/输出流)
摘要:File类:程序中操作文件和目录都可以使用File类来完成即不管是文件还是目录都是使用File类来操作的,File能新建,删除,重命名文件和目录,但File不能访问文件内容本身,如果需要访问文件本身,则需要使用输入/输出流,该类是位于java.io包下的输入与输出IO:输入流:只能从中读取数据,而不能向其中写入数据(由InputStream(字节流)和Reader(字符流)作为基类)输出流:只能向其写入数据,而不能从中读取数据(由OutputStream(字节流)和Writer(字符流)作为基类)java的io总共涉及40多个类,但都是从这四个抽象基类中派生出来的InputStream最重要的
阅读全文
posted @
2012-05-11 20:04
发表是最好的记忆
阅读(11712)
推荐(2) 编辑
jsp+servlet+javabean实现ssh的mvc模式
摘要:干了很久的项目都是使用SSH框架的,现在团队有位搞美工的美女突然想要搞java了,让我做下指导并打个基本的框架,需要使用最基本的架构,这样说来那SSH只能滚得远远的了;最基本的架构也就jsp+servlet+javabean,但心里感觉还是不爽,搞这个不是纯属浪费时间啊。后来一想,对了我自己可以不用框架来设计出一个简单的mvc架构来实现框架带来的分层效果:这里我就以登录为例子来讲解下,讲解的顺序为v--->c---->m页面端:login.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E
阅读全文
posted @
2012-05-11 11:08
发表是最好的记忆
阅读(13429)
推荐(1) 编辑
玩转log4j
摘要:由于最近正在扩展卫生局考务系统,由于上一次使用过一次该系统后,发现很多考生最后出现说已打印报名表但却在数据库中找不到她的报名记录;因此为了以后有依据,将所有用户的操作日志文件写入数据供管理员查询成为了这次扩张项目的一个内容;这里我决定使用的log4j日志文件,在多次的使用中感觉这个很不错;首先我们要使用log4j日志文件时,我们需将两个必须的包放入lib目录下:log4j.XX.jar和commons-logging.XX.jar;然后在classpath目录下(IDE中即为项目下的src目录下)新建一个日志文件,统一命名为:log4j.properties;1.需求一:只需要满足存储数据库:
阅读全文
posted @
2012-05-02 16:57
发表是最好的记忆
阅读(22395)
推荐(8) 编辑
基于servlet+smartUpload的文件上传
摘要:文件上传在web应用中是非常常见的,现在我就介绍下基于servlet的文件上传,基于Struts2的文件上传可以看:页面端代码:<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>注册</title>&l
阅读全文
posted @
2012-04-20 11:46
发表是最好的记忆
阅读(17574)
推荐(4) 编辑
java时间操作类
摘要:在程序开发中时间操作类是必不可少的,每次开发,在我的src目录下的util中都会有这个时间工具类,大家如果需要可以借鉴下:FormatDatepackage xidian.sl.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期格式化工具类 * @author sl 2011-11-17 * */public class FormatDate { /** * 得到当前系统...
阅读全文
posted @
2012-04-17 15:22
发表是最好的记忆
阅读(2910)
推荐(0) 编辑
java 计时器timer的使用
摘要:前段时间在做一个考试系统时候,遇到一个问题,发起一系列的考试后,要满足一个需求,就是能够设定时间来批量开始和结束一些列的考试,这里就想到使用timer了,前台的代码就省略不写了,这里只讨论timer的使用以下的方法autoOperatorExam(String idStr, String time, String type);三个参数分别是批量处理的id,设定的时间,类型(即是开始操作还是结束操作);//自动开始结束考试 public void autoOperatorExam(String idStr, String time, String type){ String[...
阅读全文
posted @
2012-04-05 18:39
发表是最好的记忆
阅读(5232)
推荐(2) 编辑
DAO层使用泛型的两种方式
摘要:1.DAO层使用泛型类,主要是定义一些通用的增删改查,然后其他DAO的类都来继承该类,通过构造方法将class对象传给该泛型类定义泛型接口package sanitation.dao;import java.util.List;/** * * @param <T> */public interface GenericDAO <T>{ /** * 通过ID获得实体对象 * * @param id实体对象的标识符 * @return 该主键值对应的实体对象 */ T findById(int id); /** * 将实体对...
阅读全文
posted @
2012-04-05 14:41
发表是最好的记忆
阅读(16634)
推荐(2) 编辑
从不同的配置文件中读取配置信息
摘要:在开发java EE 过程中遇到了太多的配置文件,今天我自己总结了下读取不同配置文件的方法:并且在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,这样就能更加灵活,也更加容易在服务器上进行更改,配置文件是不会进行编译的1.web.xml,在写servlet时必须用到的配置文件,当然一些配置的参数放在这里也是最方便读取的需求就是进行数据库的连接,而将数据库的连接信息放在web.xml配置文件中,用servlet进行数据库连接的初始化; 1 <!-- 数据库连接的一些信息 StartUpServlet的参数配置在 <init-param>间-->
阅读全文
posted @
2012-03-26 15:56
发表是最好的记忆
阅读(3086)
推荐(1) 编辑
产生4位包含大小字母与数字的验证码
摘要:1 package sanitation.Util; 2 3 import javax.servlet.*; 4 import javax.servlet.http.*; 5 import java.io.*; 6 import java.awt.*; 7 import java.awt.image.*; 8 import java.util.*; 9 import javax.imageio.*; 10 11 public class AuthImg extends HttpServlet 12 { 13 /** 14 * 验证码图片的处理 15 ...
阅读全文
posted @
2012-03-26 15:11
发表是最好的记忆
阅读(2869)
推荐(1) 编辑
Java语言中定义常量注意事项
摘要:一、常量定义的基本注意事项。 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容: 一是常量在定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。这跟局部变量或者成员变量不同。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。(接口中定义的常量的访问方法) 二是fin...
阅读全文
posted @
2011-10-27 17:45
发表是最好的记忆
阅读(1081)
推荐(0) 编辑
金迪短信猫的使用
摘要:步骤1.将短信猫插入到USB接口中,可以先不放sim卡,然后打开设备管理器,里面会有要安装的驱动的显示,为了安装驱动简单,可以下载驱动精灵来自动安装,按装完成后,安装完毕后,打开设备管理器。如图 com1即为短信猫端口,如要修改端口号,则在属性,高级里修改端口号。步骤2:下载两个包:javacomm20-win32.zip和smslib-v3.5.1.zip配置系统环境变量 %JDK_HOME%,然后拷贝所需的文件至%JDK_HOME%\jre\bin\win32com.dll%JDK_HOME%\jre\lib\javax.comm.propertiesJAVA_HOME是jdk的路径,而非
阅读全文
posted @
2011-10-26 15:35
发表是最好的记忆
阅读(6666)
推荐(0) 编辑
高效出去List集合和数组中的重复元素
摘要:/** * 通过HashSet踢除重复元素除去List集合中的重复数据 * */ public static List<Result> removeDuplicate(List<Result> list){ HashSet<Result> h = new HashSet<Result>(list); list.clear(); list.addAll(h); return list; } /** * 写个去除数组中重复数据的方法 * */ public static String[] array_unique(String[] a){ // ar
阅读全文
posted @
2011-10-26 15:08
发表是最好的记忆
阅读(7606)
推荐(0) 编辑