`
文章列表
# %r 时间 0  # %t 方法名 main  # %p 优先级 DEBUG/INFO/ERROR  # %c 所属类的全名(包括包名)  # %l 发生的位置,在某个类的某行  # %m 输出代码中指定的讯息,如log(message)中的message  # %n 输出一个换行符号 
此配置把全部日志写到一个文件,然后把error日志抽出来再单独写一个文件 这样查找日志方便点。。。 ### set log levels ### log4j.rootLogger = info, stdout, D, E ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log ...
DBOperation: package com.community.util; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.servlet.ServletContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DBOperation { private PreparedStatement stsm; private static Logger log = ...

读取文本

    博客分类:
  • java
/** * 读取文本文件 * @param filepath * @return */ public static StringBuilder parser(String filepath) { InputStream inStream = StrUtils.class.getResourceAsStream(filepath); String encoding = "UTF-8"; StringBuilder content = new StringBuilder(); if(inStream ! ...
public class IDCard { // wi =2(n-1)(mod 11) final int[] wi = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1}; // verify digit final int[] vi = {1,0,'X',9,8,7,6,5,4,3,2}; private int[] ai = new int[18]; public IDCard() { } public boolean Verify(String idcard) { if (idcard.length() ...
Connection conn = null; conn = DriverManager.getConnection("jdbc:oracle:thin:@152.146.231.183:1521:crm", "crm", "p"); java.sql.Statement stmt = conn.createStatement(); java.sql.ResultSet rs = stmt.executeQuery(sql.toString()); rs.close(); stm ...
web.xml: 可以把<property name="annotatedClasses">  改成<property name="packagesToScan"> <list> <value>com.***.***</value> </list> </property> <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&q ...
上传工具:UploadFileUtils import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import javax.servlet.http.Http ...
在action上加拦截器的时候,一定要先加@InterceptorRef("defaultStack") 不然会抛异常,哪个异常我忘记了。。。 下面是防止重复提交的过滤器 当然页面中要加<s:token></s:token> @Action(interceptorRefs = {@InterceptorRef("defaultStack"), @InterceptorRef("token")}, value = "quickReply", results = { @Resul ...
有的时候用get传值到后端时,会出现乱码 可这样解决 new String(getRequest().getParameter("foscontent").getBytes("iso8859-1"),"utf-8");
/** * 获取字符串中的中文字符长度 * @param str * @return */ public static int getChineseCharacters(String str){ byte chars[]=str.getBytes(); String cc=""; byte temp[]=new byte[2]; for(int i=0, count=0; i<chars.length; i++){ if(chars[i]<0){ temp[count]=chars[i]; ...
Windows Live Contacts API - Beta 1.0 目前还不会使用,标记下 http://www.accptech.com/article/net/722.html
默认:dispatcher 可不写 转向 jsp 页面,jsp页面前要加"/" @Action(value = "showPostsById", results = { @Result(name = Constants.SUCCESS, location = "/post.jsp")}) 如果是跳转到另一action,而且必须传递值 那么type=chain @Action(value = "leaveWord", results = { @Result(name = Constants.SUC ...
收集一下正则表达式的写法。还望大家补充 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g // 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+) ...
action中: @Action(interceptorRefs = {@InterceptorRef("defaultStack"), @InterceptorRef("token")}, value = "testdrive", results={@Result(name = Constants.SUCCESS, location = "/website/testdrive.jsp")} ) 注意: 需要加此返回 @Result(name = Constants.INVALIDTOKEN, ...
Global site tag (gtag.js) - Google Analytics