spring mvc 精簡code 各類反對宏哥~~~

com.control/CategroyControl html

com.xinhua.DAO/CategroyDAO java

com.xinhua.entity/Categroy node

 com.xinhua.execption/ExceptionClass web

com.xinhua.filter/AppFilter ajax

com.xinhua.fom/CategroyForm spring

com.xinhua.junit/CategroyJunit apache

com.xinhua.Resource/Resource json

com.xinhua.service/CategroyService session

com.xinhua.serviceimp/CategroyServiceImpl app

package com.xinhua.DAO;

import java.util.List;

import com.xinhua.entity.NewsObject;

/**
 * 
 * @Description: TODO(焦點圖管理)
 * @author 尹男男
 * @version V1.0  
 * @date 2013-11-20 下午3:45:40
 * @Package com.xinhua.DAO
 * @company 南京雲恆瑞通
 */
public interface CategroyDAO {
	/**
	 * 
	
	* @Title: findPhotoByCategroyId
	
	* @Description: TODO(這裏用一句話描述這個方法的做用)
	
	* @param @return    設定文件
	
	* @return List<NewsObject>    返回類型
	
	* @throws
	 */
	public NewsObject findPhotoByCategroyId(NewsObject o);

	/**
	 * 
	
	* @Title: updateCategroy
	
	* @Description: TODO(更新操做)
	
	* @param @param o    設定文件
	
	* @return void    返回類型
	
	* @throws
	 */
	public void updateCategroy(NewsObject o);
	/**
	 * 
	
	* @Title: updateCategroy
	
	* @Description: TODO(添加操做)
	
	* @param @param o    設定文件
	
	* @return void    返回類型
	
	* @throws
	 */
	public void insertCategroy(NewsObject o);
}




package com.xinhua.control;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;
import com.xinhua.Resource.Tool;
import com.xinhua.Service.CategroyService;
import com.xinhua.ServiceImpl.CategroyServiceImpl;
import com.xinhua.form.CategroyForm;
public class Categroy extends NewsObject{
	/**
	 * 存放圖片url地址
	 */
	private String imageUrl;
	/**
	 * 欄目名稱
package com.xinhua.execption;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;

import com.alibaba.fastjson.JSON;
import com.xinhua.Resource.Json;
import com.xinhua.Resource.Tool;


public class ExceptionClass  extends SimpleMappingExceptionResolver implements Tool {

	/**
	 * 
	 * 處理異常類 根據ajax請求和跳轉請求不一樣處理
	 */
	@Override
	protected ModelAndView doResolveException(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex) {
		// TODO Auto-generated method stub
		 String viewName = determineViewName(ex, request); 
		 
		 if (viewName != null) {// JSP格式返回  
			 
			 if (!(request.getHeader("accept").indexOf("application/json") > -1 || (request  
	                    .getHeader("X-Requested-With")!= null && request  
	                    .getHeader("X-Requested-With").indexOf("XMLHttpRequest") > -1))) {  
				 
				    Integer statusCode = determineStatusCode(request, viewName);  
	                if (statusCode != null) {  
	                    applyStatusCodeIfPossible(request, response, statusCode);  
	                }  
	                request.setAttribute("msg", EXCEPTION_CODE);
	                
	                return new ModelAndView( "redirect:/error/404.jsp?msg=203" );
			 }else {// JSON格式返回  
	                try {  
	                	PrintWriter writer = response.getWriter();  
	                    Json json = new Json();
	                    json.setReturnNo(EXCEPTION_CODE);
	                  
	                    writer.write(JSON.toJSONString(json));  
	                    writer.flush();  
	                    writer.close();
	                } catch (IOException e) {  
	                    e.printStackTrace();  
	                }  
	                return null;  
	  
	            }  
		 }
		return super.doResolveException(request, response, handler, ex);
	}
}



public class AppFilter implements HandlerInterceptor ,Tool{
	static Logger logger = Logger.getLogger(CategroyServiceImpl.class.getName());
	public void afterCompletion(HttpServletRequest arg0,
			HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// TODO Auto-generated method stub
		logger.debug("AppFilter:afterCompletion");
	}

	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2, ModelAndView arg3) throws Exception {
		// TODO Auto-generated method stub
		logger.debug("AppFilter:postHandle");
	}
	/**
	 * 比對請求是否正常 若是不正常不返回數據
	 */
	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2) throws Exception {
		String p = arg0.getParameter("key");
		Json json = new Json();//實例化返回對象
		Object p1 =	arg0.getAttribute("key");//獲取參數
		logger.debug("AppFilter:preHandle into");
		if("".equals(Resource.getInstall().getKey()) || null == Resource.getInstall().getKey()){//若是key是null或者沒有內容進行加載屬性文件
			
			Config config = new Config(arg0.getSession().getServletContext()
					.getRealPath("\\WEB-INF\\")+"/Key.properties");//讀取配置
			String key = config.getValue(config.getValue("frist"));
			logger.debug("key.properties="+key);
			Resource.getInstall().setKey(key);//設置key
			
		}
		if(p == null && p1 == null){
			
			json.setReturnNo(KEY_ERROR_CODE);//設置錯誤碼
			
		}else{
		
			if(Resource.getInstall().getKey().equals(p) || Resource.getInstall().getKey().equals(p1)){
				
				return true;
			}else{
				json.setReturnNo(KEY_ERROR_CODE);//設置錯誤碼
				
			}
			
		}
		PrintWriter print = arg1.getWriter();
		print.write(JSON.toJSONString(json));//轉換 返回請求
		print.flush();//釋放資源
		print.toString();
		logger.debug("AppFilter:preHandle out");
		return false;

	}

}



ublic class Resource implements Tool{
	/**
	 * 日誌
	 */
	static Logger logger = Logger.getLogger(Resource.class.getName());
	/**
	 * 資源類
	 */
	private static Resource resource = null;
	
	/**
	 * 單例模式
	 */
	private Resource(){
		
	}
	/**
	 * 加密碼
	 */
	private String key = "" ;
	
	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	/**
	 * 初始化操做
	 */
	
	static{
		
		try {
			resource =(Resource) Class.forName("com.xinhua.Resource.Resource").newInstance();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			logger.debug("resource exception:"+e.getMessage());
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			logger.debug("resource exception:"+e.getMessage());
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			logger.debug("resource exception:"+e.getMessage());
		}
		logger.debug("resource init:"+resource);
	}
	/**
	 * 
	
	* @Title: getInstall
	
	* @Description: TODO(返回資源類)
	
	* @param @return  返回單例
	
	* @return Resource    返回類型
	
	* @throws
	 */
	public static Resource getInstall(){
		
		return resource;
	}
	
	/**
	 * 
	
	* @Title: getOpenImage
	
	* @Description: TODO(獲取啓動插件圖片)
	
	* @param @return    設定文件
	
	* @return NewsObject    返回類型
	
	* @throws
	 */
	public NewsObject getOpenImage(HttpSession request){
		logger.debug("com.xinhua.Resource.Resource.getOpenImage into");
		Json json = new Json();
		json.setRow(START_PATH);
		logger.debug("com.xinhua.Resource.Resource.getOpenImage out");
		return json;
		
	}
	
	/**
	 * 
	
	* @Title: getAll
	
	* @Description: TODO(獲取文檔)
	
	* @param @param content
	* @param @return    設定文件
	
	* @return List    返回類型
	
	* @throws
	 */
	public List getAll(String content){
		
		Document doc = Jsoup.parse(content); //html數據
		List<Node> list = doc.body().childNodes();
		return doNode(list,new ArrayList());
		
	}
	/**
	 * 
	
	* @Title: doNode
	
	* @Description: TODO(遞歸循環節點)
	
	* @param @param list    設定文件
	
	* @return void    返回類型
	
	* @throws
	 */
	public List  doNode(List<Node> list,List content ){
	
		for (Node node : list) {
			if(node.childNodeSize() != 0){
				doNode(node.childNodes(),content);//遞歸 若是還有子節點繼續循環操做
				
			}else{
				Content  con = new Content();
				if(node.outerHtml().indexOf("<img")>=0){//若是是 img標籤進行標識type
					con.setContent(node.attr("src"));//取出src 路徑
					con.setType(1);//設置類型
				}else if(node.outerHtml().indexOf("<embed")>=0){
					con.setType(2);//設置圖集類型
					con.setContent(node.attr("src"));//獲取 視頻的url地址
				}else{
					if(!("".equals(node.outerHtml().trim()))){//若是不是空的進行設置類型
						con.setType(3);//文本類型
						con.setContent(node.outerHtml().trim());
					}else{
						continue;
					}
					
				}
				content.add(con);
			}
		
		}
		return content;
		
	}
	/**
	 * 
	
	* @Title: doPage
	
	* @Description: TODO(處理分頁操做)
	
	* @param @return    設定文件
	
	* @return Json    返回類型
	
	* @throws
	 */
	public Json doPage(Json json){
		int size = 0;
		int count = json.getTotal();
		
		if(count%json.getRows() > 0){
			size = count/json.getRows() + 1 ;
		}else{
			size = count/json.getRows();
		}
		if(json.getPage() - 1 > 0){
			json.setBack(json.getPage() - 1 );
		}else{
			json.setBack( 1 );
		}
		if(json.getPage()+1 > size){
			json.setNext(size);
		}else{
			json.setNext(json.getPage()+1);
		}
		return json;
	}
	
	/**
	 * 
	
	* @Title: doMap
	
	* @Description: TODO(參數處理方法到hashmap)
	
	* @param @param form
	* @param @param map    設定文件
	
	* @return void    返回類型
	
	* @throws
	 */
	public void doMap(NewForm form,ModelMap map){
		
		map.put("type",form.getType());
		map.put("page",form.getPage());
		map.put("rows",form.getRows());//防止重複刷新提交重定向
	}
	public static void main(String[] args) {

	}
}



public interface Tool {
	/**
	 * 系統異常
	 */
	public  final int EXCEPTION_CODE = 300;
	/**
	 * 沒找到
	 */
	public  final int NOFIND_CODE=301;
	/**
	 * 更新失敗
	 */
	public  final int UPDATE_CODE=302;
	/**
	 * 刪除失敗
	 */
	public  final int DETELE_CODE=303;
	/**
	 * 添加失敗
	 */
	public  final int ADD_CODE =304;
	/**
	 * id不能惟恐
	 */
	public  final int ID_NULL=305;
	/**
	 * 欄目類別不能爲空
	 */
	public  final int CATEGROY_NULL=306;
	/**
	 * 類型不能爲空
	 */
	public  final int TYPE_NULL = 307;
	/**
	 * 更新成功
	 */
	public  final int UPDATE_OK_CODE = 308 ;
	/**
	 * 添加成功
	 */
	public  final int ADD_OK_CODE = 309;
	/**
	 * 刪除成功
	 */
	public  final int DELTE_OK_CODE = 310;
	
	/**
	 * id傳輸格式不正確
	 */
	public  final int ID_ROUND = 311;
	/**
	 * key錯誤
	 */
	public  final int KEY_ERROR_CODE=312;
	/**
	 *用戶名不能爲空
	 */
	public  final int USER_NULL = 313;
	/**
	 * 密碼不能爲空
	 */
	public  final int PASSWORD_NULL = 314;
	/**
	 *賬號或者密碼錯誤
	 */
	public  final int USER_PASSWROD_ERROR  = 315;
	/**
	 *登陸成功
	 */
	public  final int SESSION_CODE = 316;
	
	/**
	 * 確認密碼不能爲空
	 */
	public  final int REPASSWORK_CODE = 317;
	/**
	 * 修改密碼成功
	 */
	public final int RESET_OK_CODE = 318;
	
	/**
	 * 確認密碼和密碼不一致
	 */
	public final int REPASSWORD_ERROR = 319;
	/**
	 * app啓動圖片
	 */
	public  final String START_PATH ="/file/open/open.jpg";
	/**
	 * 公司新聞是0  媒體據聚焦是1 圖集是2 其餘是3  
	 * 公司新聞
	 */
	public  final int COMPNAY_TYPE = 0;
	/**
	 * 媒體聚焦
	 */
	public  final int MEDIA_TYPE = 1;
	/**
	 * 獲取圖集數據
	 */
	public  final int PHOTO_TYPE=2;
	
	
	
	/**
	 * 實體類標識字段
	 */
	public final String NEW_BEAN = "new_Bean";
	/**
	 * 實體類標識字段
	 */
	public final String NEW_BEAN_LIST = "new_Bean_List";
	/**
	 * session 用戶參數
	 */
	public final String SESSION_USER = "user";
	
	/**
	 * 焦點圖實體bean
	 * 
	 */
	public final String CATEGROY_BEAN_LIST = "categroyList";
	/**
	 * json返回數據
	 */
	public final String JSON_BEAN = "json";
	/**
	 * 普通文件存放目錄
	 */
	public  final String COMMON_PATH ="/file/common/";



/**
	 * 
	
	* @Title: findPhotoByCategroyId
	
	* @Description: TODO(根據類型查找焦點圖)
	
	* @param @return    設定文件
	
	* @return List<NewsObject>    返回類型
	
	* @throws
	 */
	public NewsObject findPhotoByCategroyId(NewsObject o) throws Exception;
	
	/**
	 * 
	
	* @Title: insertByCategroyId
	
	* @Description: TODO(若是不存在添加操做)
	
	* @param @param o
	* @param @return
	* @param @throws Exception    設定文件
	
	* @return NewsObject    返回類型
	
	* @throws
	 */
	public NewsObject insertByCategroyId(NewsObject o) throws Exception;



public class CategroyServiceImpl implements CategroyService {
	/**
	 * categroy 持久層操做
	 */
	@Autowired
	private CategroyDAO categroyMapper;
	static Logger logger = Logger.getLogger(CategroyServiceImpl.class.getName());
	public CategroyDAO getCategroyMapper() {
		return categroyMapper;
	}

	public void setCategroyMapper(CategroyDAO categroyMapper) {
		this.categroyMapper = categroyMapper;
	}
	/**
	 * 
	
	* @Title: findPhotoByCategroyId
	
	* @Description: TODO(根據類型查找焦點圖)
	
	* @param @return    設定文件
	
	* @return List<NewsObject>    返回類型
	
	* @throws
	 */
	public NewsObject findPhotoByCategroyId(NewsObject o) {
		// TODO Auto-generated method stub
		logger.debug("com.xinhua.ServiceImpl.CategroyServiceImpl.findPhotoByCategroyId into");
		Json json = new  Json();
		NewsObject list = categroyMapper.findPhotoByCategroyId(o);
		json.setRow(list);
		logger.debug("com.xinhua.ServiceImpl.CategroyServiceImpl.findPhotoByCategroyId out");
		return json;
	}
	/**
	 * 添加操做
	 */
	public NewsObject insertByCategroyId(NewsObject o) throws Exception {
		// TODO Auto-generated method stub
		logger.debug("com.xinhua.ServiceImpl.CategroyServiceImpl.insertByCategroyId into");
		Json json = new  Json();
		NewsObject newsObject =  categroyMapper.findPhotoByCategroyId(json);
		if(newsObject == null){
			categroyMapper.insertCategroy(o);
		}else{
			o.setId(newsObject.getId());
			categroyMapper.updateCategroy(o);
		}
		logger.debug("com.xinhua.ServiceImpl.CategroyServiceImpl.insertByCategroyId out");
		return json;
	}
	
}
*/ private String name; /** * 字符串新聞id */ private String news_id; /** * 字符串type */ private String types; /** * 公司新聞是0 媒體據聚焦是1 圖集是2 其餘是3 */ private int type; public int getType() { return type; } public void setType(int type) { this.type = type; } public String getNews_id() { return news_id; } public void setNews_id(String news_id) { this.news_id = news_id; } public String getTypes() { return types; } public void setTypes(String types) { this.types = types; } public String getImageUrl() { return imageUrl; } public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
@Controller @RequestMapping("/categroy") public class CategroyControl implements Tool { @Autowired private CategroyService categroyService; static Logger logger = Logger.getLogger(CategroyControl.class.getName()); public CategroyService getCategroyService() { return categroyService; } public void setCategroyService(CategroyService categroyService) { this.categroyService = categroyService; } /** * 2.3.8. 獲取焦點圖列表接口 * @throws Exception */ @ResponseBody @RequestMapping("/app/findPhotoByCategroyId.do") public String findPhotoByCategroyId(CategroyForm form) throws Exception{ logger.debug("com.xinhua.control.CategroyControl.findPhotoByCategroyId into"); String json = JSON.toJSONString(categroyService.findPhotoByCategroyId(form));//查詢焦點圖返回界面 logger.debug("com.xinhua.control.CategroyControl.findPhotoByCategroyId out"); return json; } /** * * @Title: findPhotoByCategroyIdWeb * @Description: TODO(根據類型不一樣加載不一樣焦點圖進行操做) * @param @param form * @param @param map * @param @return * @param @throws Exception 設定文件 * @return String 返回類型 * @throws */ @RequestMapping("/web/findPhotoByCategroyId.do") public String findPhotoByCategroyIdWeb(CategroyForm form,ModelMap map) throws Exception{ logger.debug("com.xinhua.control.CategroyControl.findPhotoByCategroyId into"); map.put("CATEGROY_BEAN_LIST",categroyService.findPhotoByCategroyId(form));//根據類型查詢數據 if(form.getType() == 1){//根據不一樣類型進行跳轉 }else if(form.getType() == 2){ }else if(form.getType() == 3){ }else{ } logger.debug("com.xinhua.control.CategroyControl.findPhotoByCategroyId out"); return ""; } /** * * @Title: insertPhotoByCategroyId * @Description: TODO(添加焦點圖分類) * @param @param form * @param @param map * @param @return * @param @throws Exception 設定文件 * @return String 返回類型 * @throws */ @RequestMapping("/web/insertPhotoByCategroyId.do") public String insertPhotoByCategroyId(CategroyForm form,ModelMap map) throws Exception{ return ""; } }
相關文章
相關標籤/搜索