天天看點

财務管理系統(3)項目eclips簡單工具類

将對象轉換成Json字元串,響應給前台ajax回調函數,調用阿裡巴巴的fastJson包

package com.zyd.util;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;

public class JsonUtil {
		public static void toJson(Object object,HttpServletResponse response){
			//設定響應類型和編碼
			response.setContentType("application/json;charset=UTF-8");
			//将對象轉換為json字元串
			String json = JSON.toJSONString(object);
			//得到輸出流
			try {
				PrintWriter out = response.getWriter();
				//響應1JSON字元串
				out.write(json);
				out.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
}      

字元串判斷是否為空工具類

package com.zyd.util;


/**
 * 字元串工具類
 * @author Lisa Li
 *
 */
public class StringUtil {

	
	public static boolean isEmpty(String str) {
		if (str == null || "".equals(str.trim())) {
			return true;
		}
		return false;
	}
	
	

	public static boolean isNotEmpty(String str) {
		if (str == null || "".equals(str.trim())) {
			return false;
		}
		return true;
	}
}      
package com.zyd.filter;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet Filter implementation class EncodeFilter
 */
@WebFilter("/*")
public class EncodeFilter implements Filter {

    /**
     * Default constructor. 
     */
    public EncodeFilter() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		System.out.println("destroy....");
	}

	/**
	 * Tomcat8:
	 * get請求不處理
	 * post:request請求:request.setCharacterEncoding("UTF-8");
	 *      response:response.setContentType("text/html;charset=UTF-8");
	 * Tomcat7以及以下:  
	 * get請求:
	 * 	new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
	 *  response:response.setContentType("text/html;charset=UTF-8");
	 *  post一樣
	 */
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
		//基于Http
		HttpServletRequest request = (HttpServletRequest) req;
		HttpServletResponse response = (HttpServletResponse) resp;
		//設定接受和響應的字元編碼
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		//得到請求方式
		String method  = request.getMethod();
		
		
		// 判斷是否是GET請求
		if ("GET".equals(method.toUpperCase())) { // GET請求
			// 得到伺服器的版本   Apache Tomcat/8.0.45
			String serverInfo = request.getServletContext().getServerInfo();
			System.out.println(serverInfo);
			// 得到伺服器的版本号
			String versionStr = serverInfo.substring(serverInfo.indexOf("/")+1, serverInfo.indexOf("/")+2);
			// System.out.println(versionStr);
			Integer version = Integer.parseInt(versionStr);
			// 如果Tomcat的版本是8以下,需要處理亂碼
			if (version < 8) {
				// 重寫getParameter()方法處理GET亂碼
				MyWapper myWrapper = new MyWapper(request);
				// 放行
				chain.doFilter(myWrapper, response);
				return;
			}
			
		}
		
		
		chain.doFilter(request, response);
	}

	class MyWapper extends HttpServletRequestWrapper{

		private HttpServletRequest request;
		public MyWapper(HttpServletRequest request) {
			super(request);
			this.request = request;
		}

		@Override
		public String getParameter(String name) {
			String value = "";
			try {
				// 解決get亂碼
				value = new String(request.getParameter(name).getBytes("ISO-8859-1"), "UTF-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			return value;
		}
		
	}
	
	public void init(FilterConfig fConfig) throws ServletException {
		System.out.println("init...");
	}

}      

繼續閱讀