一个简单的java学生寝室查询系统

 更新时间:2017年10月21日 08:52:02   作者:数星星的咚咚咚  
这篇文章主要为大家详细介绍了一个简单的java学生寝室查询系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java学生寝室查询系统的具体代码,供大家参考,具体内容如下

前端部分:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>AHPU Freshman dormitory inquiry</title>
  <script src="confirm.js"></script>
<style>
html,body{
  margin:0px;
  padding:0px;
}
.main{
  position: relative;
  width:500px;
  height:500px; 
  background: url(image/ahpu1.jpg) no-repeat;
  margin:10px auto;
}
form>div{
  margin:20px 10px; 
}
address{
  position: absolute;
  bottom:20px;
  left:30px;
}
</style>  
</head>
<body>
  <div class="main">
    <form action="FindRoom/findInfo" method="post" >
      <div>
        <label for="sname" >姓名</label>
        <input type="text" name="sname" id="sname" required>
      </div>

      <div>
        <label for="sid">学号</label>
        <input type="text" name="sid" id="sid" required>
      </div>
      <div>
        <input id="submit" type="submit">
        <input id="reset" type="reset">
      </div>
    </form>
    <address><a href="javavscript:" rel="external nofollow" >双微工作室</a></address>
  </div>

</body>
</html>

confrim.js:

var EventUtil={
  addhandler:function(element,type,handler){
     if(element.addEventListener){
       element.addEventListener(type,handler,false);  
     }else if(element.attachEvent){
       element.attachEvent("on"+type,handler);
     }else{
       element["on"+type]=handler;
     }
   },
   removehandler:function(element,type,handler){
     if(element.removeEventListener){
        element.removeEventListener(type,handler,false);
     }else if(element.detachEvent){
        element.detachEvent("on"+type,handler);
     }else{
        element["on"+type]=null;
     }
   },

   getEvent:function(event){
     return event?event:window.event;
   },
   getTarget:function(event){
     return event.target || event.srcElement;
   },
   preventDefault:function(event){
     if(event.preventDefault){
       event.preventDefault();
     }else{
       event.returnValue=false;
     }
   },
   stopPropagation:function(event){//只能阻止事件冒泡
     if(event.stopPropagation){
       event.stopPropagation();
     }else{
       event.cancelBubble=true;
     }
   }
};



function confirmName(){
  if(((sname.value).trim).length!=0){
    reg=/^[\u4e00-\u9fa5]{1,10}$/;
    if(!reg.test(sname.value)){
      sname.value="";
      alert("请输入正确的姓名");
    } 
  }
}


function confirmSid(){
  if(((sid.value).trim()).length!=0){
    reg=/^([0-9]){10,10}$/;
    if(!reg.test(sid.value)){
      sid.value="";
      alert("请输入正确的学号");
    }
  }    
}

function confirm(){
  EventUtil.addhandler(sname,"blur",confirmName);
  EventUtil.addhandler(sid,"blur",confirmSid);
}

window.onload=function(){
  var sname=document.querySelector("#sname");
  var sid=document.querySelector("#sid");
  var po=document.querySelector("#submit");
  confirm();
  EventUtil.addhandler(po,"submit",confrimName);
  EventUtil.addhandler(po,"submit",confrimSid);
};

后端java部分:

package FindRoom;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

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

public class findInfo extends HttpServlet {
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost:3306/RoomQuery";
    // 数据库的用户名与密码,需要根据自己的设置
    static final String USER = "root";
    static final String PASS = "cd7089028";
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    this.log("执行doGet方法....");
    this.execute(request, response);
  }
  public void doPost(HttpServletRequest request,HttpServletResponse response)
      throws ServletException,IOException{
    this.log("执行doPost方法....");
    this.execute(request,response);
  }
  //执行方法
  public void execute(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    //StringBuffer requestURI=request.getRequestURL();
  // String method=request.getMethod();
    String sname=request.getParameter("sname");
    String sid=request.getParameter("sid");
    response.setContentType("text/html");
    //RequestDispatcher dispatcher=request.getRequestDispatcher("/RoomQuery/findInfo");
    Connection conn = null;
    Statement stmt = null;
     try{
        // 注册 JDBC 驱动
        Class.forName(JDBC_DRIVER);
       // DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        // 打开链接
        System.out.println("连接数据库...");
        conn = DriverManager.getConnection(DB_URL,USER,PASS);
        // 执行查询
        System.out.println(" 实例化Statement对...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT * FROM SumRoid where SId="+sid;
        ResultSet rs = stmt.executeQuery(sql);
        // 展开结果集数据库
        while(rs.next()){
          // 通过字段检索
          String flatNum=rs.getString("FlatNum");
          String bedrootNum=rs.getString("BedroomNum");
          String name = rs.getString("Sname");
          String Sid = rs.getString("SId");
          String ssex=rs.getString("Ssex");
          String academy=rs.getString("academy");
          String major=rs.getString("major");

          // 输出数据
          out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
          out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
          out.println("<HTML>");
          out.println("<BODY>");
          out.println("<h3>"+sname+"同学欢迎你</h3>");
          out.println("<p>公寓号:"+flatNum+"</p>"
            +"<p>寝室号: " + bedrootNum+"</p>"
            +"<p>姓名: " + name+"</p>"
            +"<p>学号: " + Sid+"</p>"
            +"<p>性别: " + ssex+"</p>"
            + "<p>学院: " + academy+"</p>"
            +"<p>专业: " + major+"</p>");
        }
        out.println("<BODY>");
        out.println("</HTML>");         
        // 完成后关闭
        rs.close();
        stmt.close();
        conn.close();
        out.flush();
        out.close();
      }catch(SQLException se){
        // 处理 JDBC 错误
        se.printStackTrace();
      }catch(Exception e){
        // 处理 Class.forName 错误
        e.printStackTrace();
      }finally{
        // 关闭资源
        try{
          if(stmt!=null) stmt.close();
        }catch(SQLException se2){
        }// 什么都不做
        try{
          if(conn!=null) conn.close();
        }catch(SQLException se){
          se.printStackTrace();
        }
      }
   } 

}

数据库mysql部分:

将excel中学生的信息存放在A盘的stu.txt文件中;

创建table:

复制代码 代码如下:
create table SumRoid(FlatNum char(10),BedroomNum char(3),Sname char(10),SId char(15),Ssex char(2),academy char(30),major char(20));

3 . 将数据读入mysql数据库中:

load data local infile 'A:/stu.txt' into table SumRoid;

至此,一个超级简单的查询系统已完毕。

说明:

1. 在做表单输入验证时,bug很多;
2. jdbc的驱动一定要导入web-inf lib中;
3. web.xml配置一定要检查好;
4. 不能预防sql注入;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringCloud之Feign示例详解

    SpringCloud之Feign示例详解

    本篇文章主要介绍了SpringCloud之Feign示例详解,详细的介绍了Feign简介和使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • java调用接口返回乱码问题及解决

    java调用接口返回乱码问题及解决

    这篇文章主要介绍了java调用接口返回乱码问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java中的强引用,软引用,弱引用,虚引用的作用介绍

    Java中的强引用,软引用,弱引用,虚引用的作用介绍

    这篇文章主要介绍了Java中的强引用,软引用,弱引用,虚引用的作用,下文内容具有一定的知识参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • Java使用定时器编写一个简单的抢红包小游戏

    Java使用定时器编写一个简单的抢红包小游戏

    这篇文章主要为大家介绍了Java如何使用定时器编写一个简单的抢红包小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-07-07
  • MyBatis-Plus 乐观锁的具体实现

    MyBatis-Plus 乐观锁的具体实现

    MyBatis-Plus 的乐观锁通过简单的配置和注解,可以轻松实现高并发场景下的数据并发控制,具有一定的参考价值,感兴趣的可以了解一下
    2024-09-09
  • Java与Spring boot后端项目Bug超全总结

    Java与Spring boot后端项目Bug超全总结

    Spring Boot是一个开源的 Java 开发框架,它的目的是简化Spring应用程序的开发和部署,下面这篇文章主要给大家介绍了关于Java与Spring boot后端项目Bug的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Spring Boot日志SLF4J和Logback示例详解

    Spring Boot日志SLF4J和Logback示例详解

    这篇文章主要介绍了Spring Boot日志SLF4J和Logback详解,Logback相比于Log4j,性能提高了10倍以上的性能,占用的内存也变小了,并且文档十分详细,推荐使用Slf4j+Logback,需要的朋友可以参考下
    2023-07-07
  • jackson 实体转json 为NULL或者为空不参加序列化(实例讲解)

    jackson 实体转json 为NULL或者为空不参加序列化(实例讲解)

    下面小编就为大家带来一篇jackson 实体转json 为NULL或者为空不参加序列化(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • maven 使用assembly 进行打包的方法

    maven 使用assembly 进行打包的方法

    这篇文章主要介绍了maven 使用assembly 进行打包的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 一篇文章带你入门Springboot整合微信登录与微信支付(附源码)

    一篇文章带你入门Springboot整合微信登录与微信支付(附源码)

    微信支付是腾讯公司的支付业务品牌,微信支付商户平台支持线下场所、公众号、小程序、PC网站、APP、企业微信等经营场景快速接入微信支付。这里一篇文章带你入门!
    2021-06-06

最新评论