做了一个查询界面,吸收了杨子光老师给的教训,空按按钮,查询显示所有内容
package test2; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import test2.table; import test2.DBUtil; /** * Servlet implementation class queryTable */ @WebServlet("/queryTable") public class queryTable extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public queryTable() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); String type=request.getParameter("type"); if(type.equals("all")) { ArrayList<table> list=DBUtil.gettables("all"); request.setAttribute("list", list); request.getRequestDispatcher("chaxun.jsp").forward(request, response); } else { String value=request.getParameter("value"); System.out.println(value); if(value.length()!=0) { ArrayList<table> list=DBUtil.getDocesByCase(type,value); request.setAttribute("list", list); request.getRequestDispatcher("chaxun.jsp").forward(request, response); } else { ArrayList<table> list=DBUtil.gettables("all"); request.setAttribute("list", list); request.getRequestDispatcher("chaxun.jsp").forward(request, response); } } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
package test2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import org.apache.catalina.User; import test2.table; public class DBUtil { //数据库URL和账号密码 private static final String connectionURL="jdbc:mysql://127.0.0.1:3306/doc_system?useUnicode=true&characterEncoding=GB18030&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true"; private static final String username="root"; private static final String password="123456"; //数据库连接 public static Connection getConnection() { try { Class.forName("com.mysql.cj.jdbc.Driver"); return DriverManager.getConnection(connectionURL,username,password); } catch (Exception e) { // TODO: handle exception System.out.println("数据库连接失败"); e.printStackTrace(); return null; } } public static void closeAll(Connection connection,PreparedStatement statement,ResultSet rSet) { try { if(connection!=null) connection.close(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } try { if(statement!=null) statement.close(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } try { if(rSet!=null) rSet.close(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } //关闭connection和preparedstatement public static void closePart(Connection connection,PreparedStatement statement) { try { if(connection!=null) connection.close(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } try { if(statement!=null) statement.close(); } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public static void main(String[] args) { //getConnection(); } public static ArrayList<table> gettables(String type) { Connection connection=null; PreparedStatement preparedStatement=null; ResultSet rSet=null; try { connection=getConnection(); String sql; System.out.println(type); sql="select * from t_table"; preparedStatement=connection.prepareStatement(sql); rSet=preparedStatement.executeQuery(); ArrayList<table> list=new ArrayList<>(); while(rSet.next()) { table doc=new table(); doc.setId(rSet.getInt("id")); doc.setJgmc(rSet.getString("jgmc")); doc.setXssh(rSet.getString("xssh")); doc.setBmsh(rSet.getString("bmsh")); doc.setGlcs(rSet.getString("glcs")); doc.setResult(rSet.getInt("result")); list.add(doc); } return list; } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } finally { closeAll(connection, preparedStatement, rSet); } return null; } public static ArrayList<table> getDocesByCase(String type, String value) { Connection connection=null; PreparedStatement preparedStatement=null; ResultSet rSet=null; try { connection=getConnection(); String sql=""; System.out.println(type); if(type.equals("jgmc")) { sql="select * from t_table where jgmc='"+value+"'"; } else if(type.equals("sfsh")) { sql="select * from t_table where sfsh='"+value+"'"; } else if(type.equals("bmsfsh")) { sql="select * from t_table where bmsfsh='"+value+"'"; } else if(type.equals("result")) { sql="select * from t_table where result='"+value+"'"; } preparedStatement=connection.prepareStatement(sql); rSet=preparedStatement.executeQuery(); ArrayList<table> list=new ArrayList<>(); while(rSet.next()) { table doc=new table(); doc.setId(rSet.getInt("id")); doc.setJgmc(rSet.getString("jgmc")); doc.setXssh(rSet.getString("xssh")); doc.setBmsh(rSet.getString("bmsh")); doc.setGlcs(rSet.getString("glcs")); doc.setResult(rSet.getInt("result")); list.add(doc); } return list; } catch (SQLException e) { // TODO: handle exception e.printStackTrace(); } finally { closeAll(connection, preparedStatement, rSet); } return null; } }
<%@page import="test2.DBUtil"%> <%@page import="test2.table"%> <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> <title>Insert title here</title> <style> .form-group{ 35%; float:left; margin-left:10px; margin-top:10px; } label{ 30%; float:left; margin-right:5px; margin-top:5px; } .form-control{ 60%; } .btn{ 100px; height:40px; border:0px; border-radius:5px; background-color:orange; color:black; margin-left:20px; margin-top:10px } </style> </head> <body> <div> <div class="form-group"> <label for="type">请选择查询类型:</label> <select class="form-control" id="type"> <option value="jgmc">机构全称</option> <option value="sfsh">形式审核</option> <option value="bmsfsh">部门审核</option> </select> </div> <div class="form-group"> <label for="content">请输入查询内容:</label> <input type="text" class="form-control" id="content"> </div> <div> <input type="button" class="btn" value="查询" onclick="query()"> </div> </div> <div> <table class="table table-hover table-striped table-bordered table-sm"> <tr> <th>编号</th> <th>机构全称</th> <th>形式审核</th> <th>部门审核</th> <th>管理处室</th> </tr> <%ArrayList<table> list=(ArrayList<table>)request.getAttribute("list"); %> <c:forEach var="l" items="<%=list %>" varStatus="i"> <tr> <td id="id${i.index+1 }">${l.getId() }</td> <td>${l.getJgmc() }</td> <td>${l.getXssh() }</td> <td>${l.getBmsh() }</td> <td>${l.getGlcs() }</td> </tr> </c:forEach> </table> </div> </body> <script> function query(){ var sel=document.getElementById("type"); var type=sel.options[sel.selectedIndex].value; var value=$("#content").val(); window.location="queryTable?type="+type+"&value="+value; } </script> </html>