• JSP连接MySQL数据库查询成绩


    工具:MySQL Eclipse
    MySQL:score数据库 Score表
    Eclipse:
    1.queryscore.jsp(表单学号填写)
    2.result.jsp(查询结果展示)
    3.DBmanger(数据库连接)
    4.UserDAO(操作数据库方法)
    5.User(用户成绩类)

    queryscore.jsp

    <%@ page language="java" contentType="text/html; charset=GBK"
    
        pageEncoding="GBK"%>
    <!DOCTYPE html>
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <body>
    <h1 align="center">成绩查询系统</h1>
    <hr size=4>
    <div align="center" >
    <form action="result.jsp" method="post">
    学号:<input type="text" name="no" align="center" size="50">
    
    <input type="submit" value="查询">
    </form>
    </div>
    </body>

    result.jsp

    <%@ page language="java" contentType="text/html; charset=GBK" import="aaa.*"
        pageEncoding="GBK"%>
    <!DOCTYPE html>
    <html>
    <head>
    <title>Insert title here</title>
    <style>
    table{
    border-1px;
    border-collapse:collapse;
    border-style:solid;
    border-color:grey;
    }
    
    </style>
    </head>
    <body>
    <%String no=request.getParameter("no");%>
    <jsp:useBean id="user" scope="page" class="aaa.User"></jsp:useBean>
    <jsp:setProperty property="no" name="user" value="<%=no%>"/>
    <%user.queryUser(); %>
    <%if(user.getname()!=null)
    { 
    %>
    <div align="center">
    <table>
    <tr>
    <td>学号</td><td>姓名</td><td>数据结构</td><td>数据库</td><td>java</td><td>web</td>
    </tr>
    <tr>
    <td><%=user.getno()%></td><td><%=user.getname()%></td><td><%=user.getDS()%></td><td><%=user.getDB()%></td><td><%=user.getjava()%></td><td><%=user.getweb()%></td>
    </tr>
    </table>
    </div>
    <% }
        else{
        %>
       <p align="center">系统中没有学号为<%=user.getno()%>的成绩!</p>
       <%} %>
    </body>
    </html>

    DBmanger

    package aaa;
    
    /**
     *
     * @author YANG
     */
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    
    public class DBManager extends HttpServlet {
    	
        ServletConfig config;                            
        private static String UserName="root";                  
        private static String Password="123456";                 
        private static String url="jdbc:mysql://localhost:3306/score";                  
        private static Connection connection;            
    
        @Override
        public void init(ServletConfig config) throws ServletException {
            super.init(config);                                  
            this.config = config;                               
            url = config.getInitParameter("ConnectionURL");     
        }
    
    
        public static Connection getConnection() {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                connection = DriverManager.getConnection(url, UserName, Password);
            } catch (ClassNotFoundException | InstantiationException
                    | IllegalAccessException | SQLException ex) {
                Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex);
            }
            return connection;
        }
    
        public static void closeAll(Connection connection, Statement statement,
                ResultSet resultSet) {
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException ex) {
                Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    UserDAO

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package aaa;
    
    /**
     *
     * @author YANG
     */
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    /**
     *
     * @author Administrator
     */
    public class UserDAO {
       
        static int i=0;
        public static User queryUser1(String no) {
           
            Connection connection = DBManager.getConnection();
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
    
            
            StringBuilder sqlStatement = new StringBuilder();
            sqlStatement.append("SELECT * FROM Score WHERE no=?");
    
           
            try {
                preparedStatement = connection.prepareStatement(sqlStatement.toString());
                preparedStatement.setString(1, no);
                
                resultSet = preparedStatement.executeQuery();
                User user = new User();
                if (resultSet.next()) {
                    user.setno(resultSet.getString("no"));
                    user.setname(resultSet.getString("name"));
                    user.setDS(resultSet.getInt("DS"));
                    user.setDB(resultSet.getInt("DB"));
                    user.setjava(resultSet.getInt("Java"));
                    user.setweb(resultSet.getInt("Web"));
    
                    return user;
                } else {
                    return null;
                }
            } catch (SQLException ex) {
                Logger.getLogger(UserDAO.class.getName()).log(Level.SEVERE, null, ex);
                return null;
            } finally {
                DBManager.closeAll(connection, preparedStatement, resultSet);
            }
            
        }
    }

    User

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package aaa;
    
    /**
     *
     * @author YANG
     */
    public class User {
    
    	private String no;
    	private String name;
    	private int DS;
    	private int DB;
    	private int java;
    	private int web;
    	public void setno(String no) {
    		this.no=no;
    	}
    	public String getno() {
    		return no;
    	}
    	public void setname(String name) {
    		this.name=name;
    	}
    	public String getname() {
    		return name;
    	}
    	public void setDS(int DS) {
    		this.DS=DS;
    	}
    	public int getDS() {
    		return DS;
    	}
    	public void setDB(int DB) {
    		this.DB=DB;
    	}
    	public int getDB() {
    		return DB;
    	}
    	public void setjava(int java) {
    		this.java=java;
    	}
    	public int getjava() {
    		return java;
    	}
    	public void setweb(int web) {
    		this.web=web;
    	}
    	public int getweb() {
    		return web;
    	}
    	public void queryUser() {
    		
    		User user=UserDAO.queryUser1(this.no);
    		if(user.name!=null) {
    			 this.name = user.getname();
    			 this.DS = user.getDS();
    			 this.DB = user.getDB();
    			 this.java =user.getjava();
    			 this.web = user.getweb();
    			 return;
    		}
    		
    	}
    }

    界面展示

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    LeetCode——37. 解数独
    LeetCode ——42. 接雨水
    异常
    IO/FILE
    函数与模块
    选择与循环
    运算符
    字符串、列表、元组等
    SVTyper
    Error:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-not69mld/pysam/
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309672.html
Copyright © 2020-2023  润新知