⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.java

📁 重点不是信息管理系统
💻 JAVA
字号:
package com.yijia_ctgu.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

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

import org.apache.commons.beanutils.BasicDynaBean;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;

import com.yijia_ctgu.DB.*;
import com.yijia_ctgu.exception.NotQueryException;
/**
 * 
 * @author yijia
 *
 */
public class Search extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public Search() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {

		doPost(req,res);
	}

	/**
	 * tableName这个参数尤其要注意,不要把它放到property数组中。
	 */
	public void doPost(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {
		
		res.setCharacterEncoding("utf-8");
		res.setContentType("text/html");
		PrintWriter out = res.getWriter();
		String tableName=req.getParameter("tableName");
		int start=Integer.parseInt(req.getParameter("start"));
		int limit=Integer.parseInt(req.getParameter("limit"));
		Enumeration enu=req.getParameterNames();
		JSONObject obj=new JSONObject();
	    ArrayList list=new ArrayList();
	    while(enu.hasMoreElements()){
	    	String propertyName=(String)enu.nextElement();
	    	String propertyValue=(String)req.getParameter(propertyName);
	    	String temp[]=new String[2];
	    	if(!("".equals(propertyValue)||propertyValue==null||propertyName.equals("tableName")||propertyName.equals("start")||propertyName.equals("limit"))){
	    		temp[0]=propertyName;
	    		temp[1]=propertyValue;
	    		list.add(temp);
	    	}
	    }
	    Object[] propertyObjec=list.toArray();
	    String[][] property=new String[propertyObjec.length][];
	    for(int j=0;j<propertyObjec.length;j++){
	    	property[j]=(String[])propertyObjec[j];
	    	//System.out.println(property[j][0]+property[j][1]);
	    }
	    try {
	    	if(!(property.length==0)){		
	    		List resultList=DB.getTable(tableName).search(property,start,limit);
	    		int totalProperty=DB.getTable(tableName).count(property);
	    		if(resultList.isEmpty()){
					obj.put("success", false);
					obj.put("errors", "抱歉,没有对应的数据");
				}else{
					Iterator listIterator=resultList.iterator();
					JSONArray array=new JSONArray();
					while(listIterator.hasNext()){
						obj=new JSONObject();
						BasicDynaBean result=(BasicDynaBean)listIterator.next();
						Map resultMap=result.getMap();
						//System.out.println(resultMap.get("locationregdate"));
						obj.putAll(resultMap);
						array.add(obj);
					}
					obj=new JSONObject();
					obj.put("totalProperty", totalProperty);
					obj.put("row", array);
					obj.put("success",true);
				}
	    	}
	    	else{
	    		List resultList=DB.getTable(tableName).list(start,limit);
	    		int totalProperty=DB.getTable(tableName).count();
	    		
	    		if(resultList.isEmpty()){
					
				}else{
					Iterator listIterator=resultList.iterator();
					JSONArray array=new JSONArray();
					while(listIterator.hasNext()){
						obj=new JSONObject();
						BasicDynaBean result=(BasicDynaBean)listIterator.next();
						Map resultMap=result.getMap();
						//System.out.println(resultMap.get("locationregdate"));
						obj.putAll(resultMap);
						array.add(obj);
					}
					obj=new JSONObject();
					obj.put("totalProperty", totalProperty);
					obj.put("row", array);
					obj.put("success",true);
				}
	    	}
		} catch (SQLException e) {
			obj.put("success", false);
			obj.put("errors", "数据库错误");
		} catch (NotQueryException e) {
			obj.put("success", false);
			obj.put("errors", "抱歉,没有对应的数据");
		}
		out.println(obj);
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occure
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -