Settings → Editor → Code Style → Java → imports
設定 「class count to use import with '*'」值 99 (不能關掉..所以就99)
設定以下順序:
static all other,
blank,
java.*,
blank,
javax.*,
blank,
org.*,
blank,
com.*,
blank,
all other imports
apply~ done~
Settings → Editor → Code Style → Java → imports
設定 「class count to use import with '*'」值 99 (不能關掉..所以就99)
設定以下順序:
static all other,
blank,
java.*,
blank,
javax.*,
blank,
org.*,
blank,
com.*,
blank,
all other imports
apply~ done~
public void createWorkBook() throws IOException {
//建excel活頁簿
XSSFWorkbook workBook = new XSSFWorkbook();
//建第一個sheet,命名為 new sheet
XSSFSheet sheet = workBook.createSheet("first sheet");
// 建一row,在sheet上
Row row = sheet.createRow(0);
// 在row上建一個cell
Cell cell = row.createCell(0);
//設cell裡的值
cell.setCellValue("第一個cell");
// Or do it on one line.
row.createCell(1).setCellValue("第一列的第2個cell");
row.createCell(2).setCellValue(new Date());
row.createCell(3).setCellValue(true);
row.createCell(4).setCellValue(2);
//file命名為myExcekbook.xlsx
FileOutputStream fileOut = new FileOutputStream("d:/myExcekbook.xlsx");
// 把workBook寫進FileOutputStream
workBook.write(fileOut);
//關閉FileOutputStream
fileOut.close();
}
/**
* @author Querida
http://solnone.blogspot.tw/2010/06/apache-commons-jexl.html
*/
package testQ;
import org.apache.commons.jexl3.JexlContext;
import org.apache.commons.jexl3.JexlEngine;
import org.apache.commons.jexl3.JexlExpression;
import org.apache.commons.jexl3.MapContext;
import org.apache.commons.jexl3.internal.Engine;
public class TestJEXL {
public static void main(String[] args) {
// Create or retrieve a JexlEngine
JexlEngine jexl = new Engine();
// Create an expression object
String fomula = "quanty * price * 100";
JexlExpression jexlExpression = jexl.createExpression(fomula);
// Create a context and add data
JexlContext jexlContext = new MapContext();
jexlContext.set("quanty", 2);
jexlContext.set("price", 3);
// Now evaluate the expression, getting the result
Object o = jexlExpression.evaluate(jexlContext);
System.out.println(o);
}
}
Date nowDate= new Date();
//java DATE TO joda time
new DateTime(nowDate);
//今天是一個月裡的第幾天
new DateTime(nowDate).getDayOfMonth();
//這個月有幾天
new DateTime(nowDate).dayOfMonth().getMaximumValue();
//上個月有幾天
DateTime dayOfPeriousMonth = new DateTime(nowDate).minusMonths (1);
System.out.println(dayOfPeriousMonth);
int daysInPeriousMonth=dayOfPeriousMonth.dayOfMonth().getMaximumValue();
System.out.println(daysInPeriousMonth);
//取出上個月的12號
DateTime periousM12=dayOfPeriousMonth.withDayOfMonth(12);
System.out.println(periousM12 );
//joda time to java Date
new DateTime().toDate();
//本月第一天
DateTime firstDayOfMonth = new DateTime().dayOfMonth().withMinimumValue();
//某個時間是否是在今天內
if( new DateTime( someDateTime).isAfter( DateTime.now().minusDays(1) )){
System.out.println(someDateTime+" is in 24 hours");
}else {
System.out.println("not in!");
}
<servlet>
<servlet-name>ServletAdaptor</servlet-name><!--指定 Servlet 幫你處理 RESTful WS-->
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>imemo.ws</param-value><!--指定 RESTful WS Package-->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>ServletAdaptor</servlet-name>
<url-pattern>/ws/*</url-pattern><!--指定 Servlet Mapping URL-->
</servlet-mapping>
@Path("/members") //指定 RESTful 服務的 Path (URL)
public class AccountsServices {
@POST //指定 HTTP Method
@Consumes(MediaType.MULTIPART_FORM_DATA) //指定 Consumes (消化)資料型態
@Produces(MediaType.TEXT_PLAIN) //指定 Produces (產出)資料型態
@Path("vip") //指定 Subpath
public String vip(@FormParam("account") String account) {
return Response.ok("OK").build();
}
}
<application xmlns="http://research.sun.com/wadl/2006/10">
<resources base="https://localhost:8888/ws/">
<resource path="/members"><!--指定 Path-->
<resource path="vip"><!--指定 Subpath-->
<method id="vip" name="POST"><!--指定 HTTP Method -->
<request><representation mediaType="multipart/form-data"/></request><!--指定 Consumes (消化)資料型態 -->
<response><representation mediaType="text/plain"/></response><!--指定 Produces (產出)資料型態 -->
</method>
…
log4j.rootLogger=Info, A1, A2
# A1 is set to be a ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n
# A2 is set to be a file
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n
log4j.appender.A2.File=./log/gpserver-${log4j.date}.log
org.apache.commons.logging.Log mylog= LogFactory.getLog("myTest1");
mylog.info("我在記log......");
log4j.logger.myTest1= INFO, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=./log/myTest1.log
log4j.appender.A1.DatePattern ='_'yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yyyy/MM/dd HH:mm:ss:SSS}][%p][%C-%L] %m%n
log4j.additivity.myTest1 = false
public static <T> T getSingleResult(Query query) {
query.setMaxResults(1);
List<?> list = query.getResultList();
if (list == null || list.size() == 0) {
return null;
}
return (T) list.get(0);
}
SELECT LPAD(rank,3,'0') FROM xxx
SELECT LPAD(rank,3,'*') FROM xxx
--012
String.format( "%03d", 12);//012
String.format("%3s", "12").replace(' ', '*');//*12
org.apache.commons.lang.StringUtils.leftPad("12", 3, "*");//*12
String fileName = new String(fileName.getBytes(), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
//判對MSIE 使用URLEncoder.encode() Firefox 使用BCodec.encode()
if (request.getHeader("User-Agent").indexOf("MSIE") != -1) {
response.setHeader("Content-Disposition",
"" + openType + "; filename=\"" + URLEncoder.encode(filename, "UTF-8") + "\"");
} else {
try {
response.setHeader("Content-Disposition",
"" + openType + "; filename=\"" + new BCodec().encode(filename, "UTF-8") + "\"");
} catch (EncoderException ex) {
ex.printStackTrace();
}