|
jsp操作MySQL实现查询、插入与删除功能(query、insert、delete)示例如下,感兴趣的朋友可以参考下
直接贴代码吧: 首先,index_test.jsp页面的代码如下: 复制代码 代码如下: <%@ page language="java" pageEncoding="utf-8"%> <%@ page contentType="text/html;charset=utf-8"%> <% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>人员操作</title> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <style> #popDivAdd,#popDivDelete { position: absolute; visibility: hidden; overflow: hidden; border: 2px solid #AEBBCA; background-color: #EEF1F8; cursor: move; padding: 1px; }
#popTitle { background: #9DACBF; height: 20px; line-height: 20px; padding: 1px; }
#popForm { padding: 2px; }
.title_left { font-weight: bold; padding-left: 5px; float: left; }
.title_right { float: right; }
#popTitle .title_right a { color: #000; text-decoration: none; }
#popTitle .title_right a:hover { text-decoration: underline; color: #FF0000; } </style> <script> function showPopup(type) {//弹出层 //var objDiv = null;//objDiv是目标div if(type == 'add'){ objDiv = document.getElementById("popDivAdd"); } else if(type = 'delete'){ objDiv = document.getElementById("popDivDelete"); } objDiv.style.top = "50px";//设置弹出层距离上边界的距离 objDiv.style.left = "200px";//设置弹出层距离左边界的距离 objDiv.style.width = "300px";//设置弹出层的宽度 objDiv.style.height = "220px";//设置弹出层的高度 //objDiv.style.display = "block"; objDiv.style.visibility = "visible"; } function hidePopup(type) {//关闭层 //var objDiv = null;//objDiv是目标div if(type == 'add'){ objDiv = document.getElementById("popDivAdd"); } else if(type = 'delete'){ objDiv = document.getElementById("popDivDelete"); } objDiv.style.visibility = "hidden"; } </script> </head> <body> <!-- 表单div --> <form action="insert_test.jsp" method="post"> <p> ID :<input type="text" name="id" value="0" /></br> 姓名:<input type="text" name="name" value="" /></br> 性别:<input type="text" name="sex" value="" /></br> 年龄:<input type="text" name="age" value="" /></br> </p> <input type="submit" value="提交" /> <input type="reset" value="重置" /> <input type="reset" value="取消" onclick="hidePopup('add')" /> </form> </div> </div> <div id="popDivDelete"><!-- 删除人员的div --> <div id="popTitle"><!-- 标题div --> <span class="title_left">删除人员</span> <span class="title_right"> <a href="#" onclick="hidePopup('delete');">关闭</a> </span> </div> <div id="popForm"><!-- 表单div --> <form action="delete_test.jsp" method="post"> <p> ID :<input type="text" name="id" value="" /> </br> 姓名:<input type="text" name="name" value="" /> </br> </p> <input type="submit" value="提交" /> <input type="reset" value="重置" /> <input type="reset" value="取消" onclick="hidePopup('delete')" /> </form> </div> </div> <p> <input name="" type="button" onclick="location.href = 'query_test.jsp'" value="查询" /> <input name="" type="button" onclick="showPopup('add')" value="添加" /> <input name="" type="button" onclick="showPopup('delete')" value="删除" /> </p>
<script type="text/javascript"> /*-------------------------鼠标左键拖动---------------------*/ /*--------当不需要实现此功能时,可以将这一部分代码删除------------*/ var objDiv = document.getElementById("popDiv"); var isIE = document.all ? true : false;//判断浏览器类型 document.onmousedown = function(evnt) {//当鼠标左键按下后执行此函数 var evnt = evnt ? evnt : event; if (evnt.button == (document.all ? 1 : 0)) { mouseD = true;//mouseD为鼠标左键状态标志,为true时表示左键被按下 } }
objDiv.onmousedown = function(evnt) { objDrag = this;//objDrag为拖动的对象 var evnt = evnt ? evnt : event; if (evnt.button == (document.all ? 1 : 0)) { mx = evnt.clientX; my = evnt.clientY; objDiv.style.left = objDiv.offsetLeft + "px"; objDiv.style.top = objDiv.offsetTop + "px"; if (isIE) { objDiv.setCapture(); //objDiv.filters.alpha.opacity = 50;//当鼠标按下后透明度改变 } else { window.captureEvents(Event.MOUSEMOVE);//捕获鼠标拖动事件 //objDiv.style.opacity = 0.5;//当鼠标按下后透明度改变 } } } document.onmouseup = function() { mouseD = false;//左键松开 objDrag = ""; if (isIE) { objDiv.releaseCapture(); //objDiv.filters.alpha.opacity = 100;//当鼠标左键松开后透明度改变 } else { window.releaseEvents(objDiv.MOUSEMOVE);//释放鼠标拖动事件 //objDiv.style.opacity = 1;//当鼠标左键松开后透明度改变 } }
document.onmousemove = function(evnt) { var evnt = evnt ? evnt : event; if (mouseD == true && objDrag) { var mrx = evnt.clientX - mx; var mry = evnt.clientY - my; objDiv.style.left = parseInt(objDiv.style.left) + mrx + "px"; objDiv.style.top = parseInt(objDiv.style.top) + mry + "px"; mx = evnt.clientX; my = evnt.clientY; } } </script> </body> </html> query_test.jsp页面代码如下: 复制代码 代码如下: <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%> <%@ page contentType="text/html;charset=utf-8"%> <% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); %> <html> <body> <% Connection con=null; String url="jdbc:mysql://localhost/html_db?user=root&password=123456"; //html_db为数据库名 Class.forName("org.gjt.mm.mysql.Driver").newInstance();//新建实例 Connection conn= DriverManager.getConnection(url);//建立连接 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from person_tb"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> ID:<%=rs.getString("id")%> </br> 姓名:<%=rs.getString("name")%></br> 性别:<%=rs.getString("sex")%></br> 年龄:<%=rs.getString("age")%></br></br> <%}%> <%out.print("恭喜你!数据库操作成功! ");%> <% rs.close(); stmt.close(); conn.close(); %> </br> <input name="" type="button" onclick="location.href = 'index_test.jsp'" value="返回" /> </body> </html> insert_test.jsp页面代码如下:
复制代码 代码如下: <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%> <%@ page contentType="text/html;charset=utf-8"%> <% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); %> <htnl> <head> <title>往数据库插入数据</title> </head> <body> <% String id=request.getParameter("id"); //从表单获得 String name=request.getParameter("name"); //从表单获得 String sex=request.getParameter("sex"); //从表单获得 String age=request.getParameter("age"); //从表单获得
try { /** 连接数据库参数 **/ String driverName = "com.mysql.jdbc.Driver"; //驱动名称 String DBUser = "root"; //mysql用户名 String DBPasswd = "123456"; //mysql密码 String DBName = "html_db"; //数据库名
String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd; Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(connUrl); Statement stmt = conn.createStatement(); stmt.executeQuery("SET NAMES UTF8"); String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')"; String query_sql = "select * from person_tb";
try { stmt.execute(insert_sql); }catch(Exception e) { e.printStackTrace(); } try { ResultSet rs = stmt.executeQuery(query_sql); while(rs.next()) { %> ID:<%=rs.getString("id")%> </br> 姓名:<%=rs.getString("name")%> </br> 性别:<%=rs.getString("sex")%> </br> 年龄:<%=rs.getString("age")%> </br> </br> <% } }catch(Exception e) { e.printStackTrace(); } //rs.close(); stmt.close(); conn.close(); }catch (Exception e) { e.printStackTrace(); } %> </br> <input name="" type="button" onclick="location.href = 'index_test.jsp'" value="返回" /> </body> </html> delete_test.jsp页面的代码如下: 复制代码 代码如下: <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=UTF-8"%> <% request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); %> <htnl> <head> <title>删除人员</title> </head> <body> <% String id=request.getParameter("id"); //从表单获得 String name=request.getParameter("name"); //从表单获得 try { /** 连接数据库参数 **/ String driverName = "com.mysql.jdbc.Driver"; //驱动名称 String DBUser = "root"; //mysql用户名 String DBPasswd = "hel610"; //mysql密码 String DBName = "html_db"; //数据库名 String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd; String query_sql = "select id,name,sex,age from person_tb"; String delete_sql = ""; Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(connUrl); Statement stmt = conn.createStatement(); try{ if(id != null && id != ""){ out.println("删除了id=" + id + "的人。</br></br>"); delete_sql = "delete from person_tb where id=" + id; } else if(name != null && name != ""){ out.println("删除了name=" + name + "的人。</br></br>"); delete_sql = "delete from person_tb where name='" + name + "'"; }else{ out.println("请至少输入ID、姓名中的一个!</br></br>"); } }catch(Exception e){ e.printStackTrace(); } try { stmt.execute(delete_sql); }catch(Exception e){ e.printStackTrace(); } try { ResultSet rs = stmt.executeQuery(query_sql); while(rs.next()) { %> ID:<%=rs.getString("id")%> </br> 姓名:<%=rs.getString("name")%> </br> 性别:<%=rs.getString("sex")%> </br> 年龄:<%=rs.getString("age")%> </br> </br> <% } }catch(Exception e) { e.printStackTrace(); } //rs.close(); stmt.close(); conn.close(); }catch (Exception e) { e.printStackTrace(); } %> </br> <input name="" type="button" onclick="location.href = 'index_test.jsp'" value="返回" /> </body> </html> 在浏览器直接访问index_test.jsp页面,点击删除按钮,填入ID或者姓名之中的任何一个并提交即可进行删除: 执行删除前(下左图)、后(下右图)数据库的内容显示为:
总的来说,查询、插入与删除的功能都实现了。
现在发现的问题是:本来是实现的是弹出层的位置是可以移动的,但现在移动不了了,具体原因在于鼠标拖动部分的第一句代码:var objDiv = document.getElementById("popDiv");即指定拖动对象时,没有指定好。正在找方法解决。有谁有比较好的方法,请帮下忙吧,多谢了! |
|