log4j 데이터베이스 삽입 및 HTML 생성(최종 버전)

3830 단어 DAOhtmllog4j
스승님의 설명으로 끝났습니다.이 글은 학습 경험을 공유하는 데만 쓰일 뿐 다른 의도는 없다.모두가 개원의 정신을 기르기를 바란다.
조금 드러난 부분이 있을지도 모르니 앞의 두 문장을 보세요.

public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		UserDao dao=new DaoImp();
		List<Log4j> all=new ArrayList();
		
		int pageCount = 4;//    
		
		int pages=dao.getPages(pageCount);
		String webpagestr=createWebPage(pages);
		
		
		
		for(int i=0;i<pages;i++){
			
		all=dao.all(pageCount*i-i, pageCount);
		creatHtml(request, all, i,webpagestr);
		}
		
		request.setAttribute("list", all);

		return mapping.findForward("suce");
	}

	private String createWebPage(int pages) {
		//     
		StringBuilder webpagestr = new StringBuilder();
		final String pagelink="<a href=";
		for(int n=0;n<pages;n++){
			//    
			webpagestr.append(pagelink).append("log").append(n).append(".html>")
			.append(n).append("</a>")
			.append("&nbsp;");
		}
		String sss= webpagestr.toString();
		return sss;
	}

	protected void creatHtml(HttpServletRequest request, List<Log4j> all,int pages,String webpagestr)
			throws FileNotFoundException, IOException {
		//------  HTML-------------------------------
				
				String filePath = "";
				filePath = request.getRealPath("/")+"template.html";
				
			/******** begin ************/
			
				final String beginForHtmlTag = "<###for###>";
				final String endForHtmlTag = "</###for###>";
				
			FileInputStream input=new FileInputStream(filePath);
			int length=input.available();
			byte[] b=new byte[length];
			input.read(b);    //    
		
			String result = new String(b);//    
			int beginIndex = result.indexOf(beginForHtmlTag);
			int endIndex = result.indexOf(endForHtmlTag);
			String begin = result.substring(0, beginIndex);
			String end = result.substring(endIndex+endForHtmlTag.length());
			
			String table=result.substring(beginIndex+beginForHtmlTag.length(), endIndex);//get table 
			/**
			 *     
			 */
			StringBuilder content=new StringBuilder();
			for(Log4j log4j:all){
				String temp = table.replace("###username###",log4j.getUsername());
				temp = temp.replace("###classs###",log4j.getClasss());
				temp = temp.replace("###method###",log4j.getMethod());
				temp = temp.replace("###leve###",log4j.getLogLevel());
				temp = temp.replace("###mess###",log4j.getMessage());
				temp = temp.replace("###titme###",log4j.getCreateTime());
				content.append(temp);
			}
			result=begin+content+"<br />current pages:"+pages+"__"+webpagestr+end;
			/******** end ************/
			
			//         
//			Calendar calendar = Calendar.getInstance();
//			String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
	
			String fileame ="log"+pages+".html";
			//  html  
			fileame = request.getRealPath("/")+fileame;//   html      
			
			//  
			FileOutputStream fileoutputstream = new FileOutputStream(fileame);
			byte tag_bytes[] = result.getBytes();
			fileoutputstream.write(tag_bytes);
			fileoutputstream.close();
			
			
		//---------------------------
	}
	
}



좋은 웹페이지 즐겨찾기