JSP对Oracle数据库进行增删改查实例
在Java中实现Oracle的增删改查

sid="+sid.getText()); rset.close(); sql_stmt.close(); conn.close(); } sid.setText(""); sname.setText(""); sage.setText(""); scity.setText(""); } if(e.getSource()==button_alter) { area.setText(""); int id = 0; while (rset.next()) { id=rset.getInt("sid"); } if(id!=Integer.parseInt(sid.getText())) { JOptionPane.showMessageDialog(null, " No Message! ","JDBC ",JOptionPane.ERROR_MESSAGE); sid.setText(""); } else { rset = sql_stmt.executeQuery("update student set sname='"+sname.getText()+ "', sage="+sage.getText()+", scity='"+scity.getText()+"' where sid="+sid.getText()); String str="ID:"+sid.getText()+"\n Name:"+sname.getText()+"\n Age:"+sage.getText()+"\n Sity:"+scity.getText(); area.append(str); rset.close(); sql_stmt.close(); conn.close(); } sid.setText(""); sname.setText(""); sage.setText(""); scity.setText(""); } } catch (SQLException e1) { e1.printStackTrace(); } } public static void main(String[] args) throws SQLException { new JDBCExam(); } }
JSP程序设计实例教程第8讲 数据库增-删-改操作

本课目标
灵活运用JDBC-ODBC桥连接数据库
技能 目标
灵活运用专用JDBC驱动程序连接数据库 能应用Microsoft SQL Server 2005 Driver for JDBC驱动 程序方法建立与数据库的连接,并能进行检索与更新操作。
素质 目标
严谨认真的工作态度 语言表达和与人沟通能力 团队合作精神
Sun公司提供的JDBC-ODBC桥可以访问任何支持ODBC的数据 库。用户只需设置好ODBC数据源,再由JDBC-ODBC驱动程 序转换成JBDC接口供应用程序使用。 ODBC数据源的配置步骤如下: (1)打开【控制面板】窗口,选择【管理工具】中的【数据 源 (ODBC)】打开ODBC数据源管理器,选择【系统DSN】选 项卡,单击【添加(D)…】按钮,如8-1所示。 (2)在数据源驱动程序窗口,选择“SQL Server”,然后单 击【完成】按钮,如图8-2所示。 (3)在数据源客窗口中,将数据源的名称设置为 “shopData”,该名称就是用来连接数据库的数据源名称 ,但不一定是数据库的名称,同时选择SQL Server数据库 服务器的名称,这里选择本机(.\sql2005),然后单击 【下一步】按钮如图8-3所示。
第八讲 数据库增-删-改操作
主要内容
•本课目标 •新课引入与项目展示 •案例1 –数据库连接 •案例2 –检索数据库 •案例3 –更新数据库 •课堂实践 •巩固与提高
本课目标
知识 目标
掌握JDBC的概念 掌握JDBC API主要内容 熟悉和掌握Statement接口、Result接口的常用方法和 相关概念(重点、难点) 掌握JSP中检索数据库和更新数据库的方法 (重点、难点)
(3)配置环境。 在classpath中追加SQL Server Driver for JDBC 需要用 到的类sqljdbc.jar。也可将这个文件复制到Tomcat安装文件 夹下的lib文件夹中。 (4)保证数据库访问用户具有足够的访问权限。 一旦SQL Server 2005 Driver For JDBC驱动程序安装配 置好,重启Tomcat,即可使用专用的驱动程序连接SQL Server 2005数据库。
用jsp程序对数据库表进行增、删、差、改操作

pstmt.setString(6,request.getParameter("Phone")) ;
pstmt.setFloat(7,Float.parseFloat(Grade)) ;//这个地方的问题要牢记
pstmt.setFloat(8,Float.parseFloat(Use)) ;//这个地方的问题要牢记
生 日 费:<input type="text"name="Use"><br>
<input type="submit"value="添加">
<input type="reset"value="重置">
</font>
</form>
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
int x = pstmt.executeUpdate() ;//这个用法牢记
%>
<%
if(x>=1){
flag = true;
%>
添加信息成功!
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
<%
}
%>
<%
}catch(Exception e){
e.printStackTrace() ;
使用JSP对数据库进行增删改查

使用JSP对数据库进行增删改查JSP(Java Server Pages)是一种用于开发Web应用程序的Java技术。
它可以直接在HTML页面中嵌入Java代码,实现动态生成页面内容。
在使用JSP进行数据库的增删改查操作时,通常需要借助JDBC(Java Database Connectivity)来进行数据库的连接和操作。
接下来,需要进行数据库的连接。
可以使用JDBC提供的DriverManager类和Connection接口来实现。
首先,需要定义数据库的相关信息,如驱动程序名称、数据库URL、用户名和密码。
然后,使用DriverManager的静态方法getConnection(来获取数据库连接,传入相应的参数。
例如,对于MySQL数据库,可以使用如下代码进行连接:String url = "jdbc:mysql://localhost:3306/database_name"; // 数据库URLString userName = "root"; // 数据库用户名String password = "password"; // 数据库密码try//加载驱动程序Class.forName(driverName);//获取数据库连接Connection connection = DriverManager.getConnection(url, userName, password);//...} catch (ClassNotFoundException e)e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;连接成功后,接下来可以进行数据库的增删改查操作。
通常,可以使用JDBC的Statement或PreparedStatement对象来执行SQL语句。
Statement对象用于静态SQL语句,而PreparedStatement对象用于动态SQL语句。
仅用Jsp实现对数据库的增删改查

仅用Jsp实现对数据库的增删改查首先,打开sql*plus,输入用户名(我用的scott)密码(我设置的是tiger)。
先建个表student,Create table student (id number(30) not null primary key,name varchar(50) ,age number(30),gender varchar(30),major varchar(50) );1,打开myeclipse8.5新建一个web project2,在project name 中输入合法名字,比如normal3,新建的normal工程4,在webRoot目录下添加以下.jsp文件4.1 submit.jsp文件代码如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>输入学生信息界面</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript"">function validate(){var id=document.forms[0].id.value;var name=document.forms[0].name.value;var age=document.forms[0].age.value;var major=document.forms[0].major.value;if(id<=0){alert("学号不能为空,请输入学号!");return false;}else if(name.length<=0){alert("姓名不能为空,请输入姓名!");return false;}else if(age<=0){alert("请输入合法年龄!");return false;}else if(major.length<=0){alert("专业不能为空,请输入所学专业!");return false;}else{return true;}//document.getElementById("form").submit();}</script></head><body><br><center><h2>学生信息输入</h2><hr><form action="insert.jsp" method="post" id="form" onSubmit="return validate()" ><h4> 学号:<input type="text" name="id" class="{required:true}"></input><br></h4> <h4> 姓名:<input type="text" name="name"></input><br></h4><h4> 年龄:<input type="text" name="age"></input><br></h4><h4> 性别:<input type="radio" name="gender" value="男">男<input type="radio" name="gender" value="女">女<br></h4><h4> 专业:<input type="text" name="major"></input><br></h4><input type="submit" value="提交"/></form><a href=layout.jsp>查看已输入信息</a></center></body></html>4.2 insert.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>插入学生信息</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");System.out.println(name);String age=request.getParameter("age");String gender=request.getParameter("gender");String major=request.getParameter("major");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("insert into student(id,name,age,gender,major)values("+id+",'"+name+"',"+age+",'"+gender+"','"+major+"')"); %><center><%if(rs.next()){out.print("<br><h3>成功输入!</h3>");}else{out.print("<br><h3>输入失败!</h3>");}%><br><a href=submit.jsp>返回信息输入页面</a> <a href=layout.jsp>进入信息查询页面</a></center><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.3 layout.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>学生信息</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%response.setCharacterEncoding("UTF-8");request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");String age=request.getParameter("age");String gender=request.getParameter("gender");String major=request.getParameter("major");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();// stat.execute("insert into student(id,name,age,gender,major)values("+id+",'"+name+"',"+age+",'"+gender+"','"+major+"')");rs=stat.executeQuery("select * from student");%><br><h2>学生信息</h2> <hr><br><h3>全部学生信息如下</h3><table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr><td>学号</td><td>姓名</td><td>年龄</td><td>性别</td><td>专业</td></tr><%while(rs.next()){out.print("<tr>");out.print("<td>"+rs.getInt("id")+"</td>");out.print("<td>"+rs.getString("name")+"</td>");out.print("<td>"+rs.getInt("age")+"</td>");out.print("<td>"+rs.getString("gender")+"</td>");out.print("<td>"+rs.getString("major")+"</td>");%><td><a href="delete.jsp?id=<%=rs.getInt("id") %>">删除</a></td><td><a href="update3.jsp?id=<%=rs.getInt("id") %>">修改</a></td><%out.print("</tr>");}%></table><br><form action="idselect.jsp" method="post"><h3>按学号查询:<input type="text" name="id" value="" title="学号不能为空" ></input> <input type="submit" value="查询"/></h3><br></form><form action="nameselect.jsp" method="post"><h3>按姓名查询:<input type="text" name="name" value="" title="姓名不能为空"></input> <input type="submit" value="查询" /></h3><br></form><form action="ageselect.jsp"method="post"><h3> 按年龄查询:<input type="text" name="age" value="" title="年龄不能为空"></input> <input type="submit" value="查询"/></h3><br></form><form action="genderselect.jsp"method="post"><h3> 按性别查询:<input type="text" name="gender" value=""title="性别不能为空"></input><input type="submit" value="查询"/></h3><br></form><form action="majorselect.jsp"method="post"><h3> 按专业查询:<input type="text" name="major" value=""title="专业不能为空"></input><input type="submit" value="查询"/></h3><br></form><br><h3><a href=submit.jsp>返回信息输入页面</a></h3><br><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.4 delete.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>删除页面</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");// String name=request.getParameter("name");// String age=request.getParameter("age");// String gender=request.getParameter("gender");// String major=request.getParameter("major");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("delete from student where id="+id+"");if(rs.next()){out.print("<center><br><br><h3>删除成功!</h3></center>");}else{out.print("<center><h3>删除失败!</h3></center>");}%><br><br><center> <a href=submit.jsp>返回信息输入页面</a> <a href=layout.jsp>返回信息查询页面</a></center><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.5 idselect.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>按学号条件查询</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("select * from student where id="+id+"");%><br><h3>符合条件的学生信息</h3><hr><br><table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr><td>学号</td><td>姓名</td><td>年龄</td><td>性别</td><td>专业</td></tr><%if(rs.next()){out.print("<tr>");out.print("<td>"+rs.getInt("id")+"</td>");out.print("<td>"+rs.getString("name")+"</td>");out.print("<td>"+rs.getInt("age")+"</td>");out.print("<td>"+rs.getString("gender")+"</td>");out.print("<td>"+rs.getString("major")+"</td>");%><td><a href="delete.jsp?id=<%=rs.getInt("id") %>">删除</a></td><td><a href="update3.jsp?id=<%=rs.getInt("id") %>">修改</a></td><%out.print("</tr>");}else{out.print("<h4>不存在此条件的信息!</h4>");}%></table><br><br><h4><a href=layout.jsp>返回查询页面</a></h4><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.6 nameselect.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>按姓名查询</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");String name=request.getParameter("name");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("select * from student where name='"+name+"'");%><br><h3>符合条件的学生信息</h3><hr><br><table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr><td>学号</td><td>姓名</td><td>年龄</td><td>性别</td><td>专业</td></tr><%if(rs.next()){out.print("<tr>");out.print("<td>"+rs.getInt("id")+"</td>");out.print("<td>"+rs.getString("name")+"</td>");out.print("<td>"+rs.getInt("age")+"</td>");out.print("<td>"+rs.getString("gender")+"</td>");out.print("<td>"+rs.getString("major")+"</td>");%><td><a href="delete.jsp?id=<%=rs.getInt("id") %>">删除</a></td><td><a href="update3.jsp?id=<%=rs.getInt("id") %>">修改</a></td><%out.print("</tr>");}else{out.print("<h4>不存在此条件的信息!</h4>");}%></table><br><br><h4><a href=layout.jsp>返回查询页面</a></h4><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.7 ageselect.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>按年龄查询</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");// String id=request.getParameter("id");// String name=request.getParameter("name");String age=request.getParameter("age");// String gender=request.getParameter("gender");// String major=request.getParameter("major");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("select * from student where age="+age+"");%><br><h3>符合条件的学生信息</h3><hr><br><table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr><td>学号</td><td>姓名</td><td>年龄</td><td>性别</td><td>专业</td></tr><%if(rs.next()){out.print("<tr>");out.print("<td>"+rs.getInt("id")+"</td>");out.print("<td>"+rs.getString("name")+"</td>");out.print("<td>"+rs.getInt("age")+"</td>");out.print("<td>"+rs.getString("gender")+"</td>");out.print("<td>"+rs.getString("major")+"</td>");%><td><a href="delete.jsp?id=<%=rs.getInt("id") %>">删除</a></td><td><a href="update3.jsp?id=<%=rs.getInt("id") %>">修改</a></td> <%out.print("</tr>");}else{out.print("<h4>不存在此条件的信息!</h4>");}%></table><br><br><h4><a href=layout.jsp>返回查询页面</a></h4><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.8 genderselect.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>按性别查询</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");// String id=request.getParameter("id");// String name=request.getParameter("name");// String age=request.getParameter("age");String gender=request.getParameter("gender");// String major=request.getParameter("major");Connection conn=null;Statement stat=null;ResultSet rs=null;Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:orcl";String user="scott";String password="tiger";conn=DriverManager.getConnection(url,user,password);stat=conn.createStatement();rs=stat.executeQuery("select * from student where gender='"+gender+"'");%><br><h3>符合条件的学生信息</h3><hr><br><table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr><td>学号</td><td>姓名</td><td>年龄</td><td>性别</td><td>专业</td></tr><%while(rs.next()){out.print("<tr>");out.print("<td>"+rs.getInt("id")+"</td>");out.print("<td>"+rs.getString("name")+"</td>");out.print("<td>"+rs.getInt("age")+"</td>");out.print("<td>"+rs.getString("gender")+"</td>");out.print("<td>"+rs.getString("major")+"</td>");%><td><a href="delete.jsp?id=<%=rs.getInt("id") %>">删除</a></td><td><a href="update3.jsp?id=<%=rs.getInt("id") %>">修改</a></td><%out.print("</tr>");}%></table><br><br><h4><a href=layout.jsp>返回查询页面</a></h4><%if(rs!=null){rs.close();}if(stat!=null){stat.close();}if(conn!=null){conn.close();}%></body></html>4.9 major.jsp文件<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.sql.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>按专业查询</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%request.setCharacterEncoding("UTF-8");// String id=request.getParameter("id");// String name=request.getParameter("name");// String age=request.getParameter("age");// String gender=request.getParameter("gender");String major=request.getParameter("major");//major=;Connection conn=null;。
JSP与数据库的增删改查

JSP与数据库的增删改查1.准备工作,首先要有一个数据库,在数据库里新建一个表,用来操作id要设置为自动增长列,否则在插入操作无法成功在MyEclipse中新建一个Web Progect工程在src目录下建立entity包,dao包在WebRoot/WebInfo/lib/导入sqljdbc.jar包(用于对数据库进行操作)2.entity包,用于操作数据库(这部分用到的成员变量最好直接通过数据库来直接复制,以免存在漏泄,写错单词等低级错误,其他的就是简单的get和set方法了)[java] view plain copyprint?1.package entity;2.3.public class UserInfo {4.private int id;5.private String user_name;6.private String user_sex;7.private int user_age;8.private String user_hobby;9.private String user_city;10.private String mtext;11.public int getId() {12.return id;14.public void setId(int id) {15.this.id = id;16.}17.public String getUser_name() {18.return user_name;19.}20.public void setUser_name(String user_name) {er_name = user_name;22.}23.public String getUser_sex() {24.return user_sex;25.}26.public void setUser_sex(String user_sex) {er_sex = user_sex;28.}29.public int getUser_age() {30.return user_age;31.}32.public void setUser_age(int user_age) {er_age = user_age;34.}35.public String getUser_hobby() {36.return user_hobby;37.}38.public void setUser_hobby(String user_hobby) {er_hobby = user_hobby;40.}41.public String getUser_city() {42.return user_city;44.public void setUser_city(String user_city) {er_city = user_city;46.}47.public String getMtext() {48.return mtext;49.}50.public void setMtext(String mtext) {51.this.mtext = mtext;52.}53.}Dao包下用于对数据库的操作数据库(1)BaseDao.Java链接数据库(其中的close方法中依次关闭了结果集,操作句柄,链接)[java] view plain copyprint?1.package dao;2.3.import java.sql.Connection;4.import java.sql.DriverManager;5.import java.sql.ResultSet;6.import java.sql.Statement;7.8.public class BaseDao {9.public static Connection getConnection()throws Exception{10.Class.forName("com.microsoft.sqlserver.jdbc.SQLServe rDriver");11.String url="jdbc:sqlserver://127.0.0.1:1433;database= mydb";12.return DriverManager.getConnection(url, "sa", "sa");13.}14.15.public static void close(ResultSet rs,Statement sta,Con nection con)throws Exception{16.if(rs!=null){17.//关闭结果集18.rs.close();19.}20.if(sta!=null){21.//关闭操作句柄22.sta.close();23.}24.if(con!=null){25.//关闭链接26.con.close();27.}28.}29.}UserinfoDao.java是数据库的增删改查的方法[java] view plain copyprint?1.package dao;2.3.import java.sql.Connection;4.import java.sql.PreparedStatement;5.import java.sql.ResultSet;6.import java.util.ArrayList;7.8.import erInfo;9.10.public class UserInfoDao {11.12.//查询所有(查)13.public ArrayList findAll(){14.Connection con=null;15.PreparedStatement psta=null;16.ResultSet rs=null;17.ArrayList list=new ArrayList();18.String sql="select * from userinfo";19.try{20.con=BaseDao.getConnection();21.psta=con.prepareStatement(sql);22.rs=psta.executeQuery();23.while(rs.next()){erInfo obj=new UserInfo();25.obj.setId(rs.getInt(1));26.obj.setUser_name(rs.getString(2));27.obj.setUser_sex(rs.getString(3));28.obj.setUser_age(rs.getInt(4));29.obj.setUser_hobby(rs.getString(5));30.obj.setUser_city(rs.getString(6));31.obj.setMtext(rs.getString(7));32.list.add(obj);33.}34.}catch(Exception e){35. e.printStackTrace();36.}finally{37.try{38.BaseDao.close(rs, psta, con);39.}catch(Exception e){40. e.printStackTrace();41.}42.return list;43.}44.}45.46.//插入方法(增)47.public boolean save(UserInfo obj){48.Connection con=null;49.PreparedStatement psta=null;50.String sql="insert into userinfo values(?,?,?,?,?,?)";51.boolean flag=false;52.try{53.con=BaseDao.getConnection();54.psta=con.prepareStatement(sql);55.psta.setString(1, obj.getUser_name());56.psta.setString(2, obj.getUser_sex());57.psta.setString(3, obj.getUser_age()+"");58.psta.setString(4, obj.getUser_hobby());59.psta.setString(5, obj.getUser_city());60.psta.setString(6, obj.getMtext());61.flag=psta.executeUpdate()>0;62.}catch(Exception e){63. e.printStackTrace();64.}finally{65.try{66.BaseDao.close(null, psta, con);67.}catch(Exception e){68. e.printStackTrace();69.}70.return flag;71.}72.}73.74.//删除方法(删)75.public boolean remove(int id){76.Connection con=null;77.PreparedStatement psta=null;78.boolean flag=false;79.String sql="delete from userinfo where id=?";80.try{81.con=BaseDao.getConnection();82.psta=con.prepareStatement(sql);83.psta.setInt(1, id);84.flag=psta.executeUpdate()>0;85.}catch(Exception e){86. e.printStackTrace();87.}finally{88.try{89.BaseDao.close(null, psta, con);90.}catch(Exception e){91. e.printStackTrace();92.}93.return flag;94.}95.}96.//通过id修改,为更新做准备的(改)97.public UserInfo findById(int id){98.Connection con=null;99.PreparedStatement psta=null;100.ResultSet rs=null;erInfo obj=null;102.String sql="select * from userinfo where id=?"; 103.try{104.con=BaseDao.getConnection();105.psta=con.prepareStatement(sql);106.psta.setInt(1, id);107.rs=psta.executeQuery();108.if(rs.next()){109.obj=new UserInfo();110.obj.setId(rs.getInt(1));111.obj.setUser_name(rs.getString(2));112.obj.setUser_sex(rs.getString(3));113.obj.setUser_age(rs.getInt(4));114.obj.setUser_hobby(rs.getString(5));115.obj.setUser_city(rs.getString(6));116.obj.setMtext(rs.getString(7));117.}118.}catch(Exception e){119. e.printStackTrace();120.}finally{121.try{122.BaseDao.close(rs, psta, con);124. e.printStackTrace();125.}126.return obj;127.}128.}129.130.//更新方法(修改数据)(改)131.public boolean update(UserInfo obj){132.Connection con=null;133.PreparedStatement psta=null;134.String sql="update userinfo set user_name=?,user_sex =?,user_age=?,user_hobby=?,user_city=?,mtext=? where id=?";135.boolean flag=false;136.try{137.con=BaseDao.getConnection();138.psta=con.prepareStatement(sql);139.psta.setString(1, obj.getUser_name());140.psta.setString(2, obj.getUser_sex());141.psta.setString(3, obj.getUser_age()+"");142.psta.setString(4, obj.getUser_hobby());143.psta.setString(5, obj.getUser_city());144.psta.setString(6, obj.getMtext());145.psta.setInt(7,obj.getId());146.flag=psta.executeUpdate()>0;147.}catch(Exception e){148. e.printStackTrace();149.}finally{150.try{151.BaseDao.close(null, psta, con);153. e.printStackTrace();154.}155.return flag;156.}157.}158.159.160.}3.界面演示查找界面在WebRoot/WEB-INF下的index.jsp下设计要演示的界面这里为了方便操作还增加了一些删除和修改的跳转链接(这部分是为了方便后续的删除和修改操作)[javascript] view plain copyprint?1.<pre name="code" class="javascript"><%@ page import ="java.util.*,dao.*,entity.*" pageEncoding="UTF-8"%>2.<html>3.<head>4.<title></title>5.</head>6.<%erInfoDao dao=new UserInfoDao();8.ArrayList list=dao.findAll();9.%>10.11.<script type="text/javascript">12.function myAction(pid){13.document.forms[0].id.value=pid;14.document.forms[0].submit();15.}16.</script>17.<body>18.<h1 align="center"><br></h1><h1 align="center"> 用户信息</h1>19.<form action="doRemove.jsp" method="post">20.<!-- 用于存放选择的id,然后会随表单提交给服务器处理页面 -->21.<input type="hidden" name="id">22.<table align="center" border="1" width="80%">23.<tr>24.<td colspan="8" align="right">25.<a href="add.jsp">添加新信息</a>26.</td>27.</tr>28.<tr>29.<th>编号</th>30.<th>姓名</th>31.<th>性别</th>32.<th>年龄</th>33.<th>爱好</th>34.<th>城市</th>35.<th>描述</th>36.<th>操作</th>37.</tr>38.<%for(int i=0;i<list.size();i++){erInfo obj=(UserInfo)list.get(i);%>40.<!--Html代码-->41.<tr>42.<td><%=obj.getId()%></td>43.<td><%=obj.getUser_name()%></td>44.<td><%=obj.getUser_sex()%></td>45.<td><%=obj.getUser_age()%></td>46.<td><%=obj.getUser_hobby()%></td>47.<td><%=obj.getUser_city()%></td>48.<td><%=obj.getMtext()%></td>49.<td>50.<%-- <a href="doRemove.jsp?id=<%=obj.getId()%>">删除</a> --%>、51.<a href="update.jsp?id=<%=obj.getId()%>">修改</a>52.<input type="button" value="删除" onclick="myAction('<%=obj.getId()%>')"/>53.</td>54.</tr>55.<%}%>56.</table>57.</form>58.</body>59.<html>对于JSP onclick的方法中提交时可以用document.forms[0].name.value (name为表单的名字,这个表单中为id)或者document.表单名.控件名.value 提交的必须是<input/>中的打开数据库,开启服务器后,在浏览器中键入地址后的界面如下这样查询的操作就完成了4.下面进行添加数据的操作设计add.jsp提供数据添加的界面[javascript] view plain copyprint?1.<%@ page import="java.util.*" pageEncoding="UTF-8"%>2.3.<html>4.<head>5.<title></title>6.</head>7.<!-- JavaScript是搭配HTML使用的脚本代码,可以帮助我们操作HTML内容和浏览器本身 -->8.<!-- JavaScript可以做很多很多事情,甚至可以用来编写游戏和强大的基于浏览器的应用9.然而更普遍的功能是利用JavaScript帮助我们进行表单验证,确保提交的数据是符合服务器业务处理要求的 -->10.<script type="text/javascript">11.function myBack(){12.//将浏览器导航为index.jsp,location.href属性可以更改当前浏览器地址栏的内容13.location.href="index.jsp";14.//window.location.href="index.jsp";15.16.}17.//mySubmit方法用于提交表单,并且在提交之前验证表单数据的格式是否符合要求18.function mySubmit(){19.//先来个简单的,验证姓名必须有填写,不能为空20.//首先获取姓名输入框的数据21.//document是文档对象,代表整个HTML页面22.//forms是表单集合,如果存在多个表单的话,索引从0开始,并且是从上往下编号如果表单有表单名可以用<span style="font-family:FangSong_GB2312;"><strong>document.表单名.控件名.value </strong></span>23.//user_name是表单下控件的名字24.//value是获取这个控件的value值25.//length是一个属性,返回长度26.//var是变量,JavaScript是弱类型语言,也就是说不区分int,double,Object这些类型27.//而是统一使用var表示28.var name=document.forms[0].user_name;29.//通过document.getElementById(“id名”)可以获取非<input /> 中的内容,但是dojsp无法获取30.var name_msg=document.getElementById("name_ms g");31.var hobby_msg=document.getElementById("hobby_m sg");_msg.innerHTML="";33.hobby_msg.innerHTML="";34.if(name.value.length==0){35.//提示用户36.//alert("姓名为必填项");_msg.innerHTML="<font color='red'>*姓名为必填项</font>";38.//聚焦(鼠标定位).focus();40.return ;//中断方法的运行41.}42.//对于多选的控件判断会稍微麻烦点点哦43.var hobby_item=document.forms[0].user_hobby;44.var flag=false;45.for(var i=0;i<hobby_item.length;i++){46.if(hobby_item[i].checked==true){47.flag=true;48.break;49.}50.}51.if(flag==false){52.//alert("至少选择一个爱好");53.hobby_msg.innerHTML="<font color='red'>*至少选择一个爱好</font>";54.return ;55.}56.document.forms[0].submit();//submit是提交方法57.}58.</script>59.<body>60.<h1 align="center">新增信息</h1>61.<form action="doadd.jsp" method="post" >62.<table align="center" width="50%">63.<!-- 姓名 -->64.<tr>65.<td align="right" width="37%">姓名:</td>66.<td align="left" width="25%"><input type="text" na me="user_name" ></td>67.<td>68.<div id="name_msg" align="left"></div>69.</td>70.</tr>71.<!-- 性别 -->72.<tr>73.<td align="right">性别:</td>74.<td align="left" colspan="2"><input type="radio" na me="user_sex" value="男" checked="checked">男75.<input type="radio" name="user_sex" value="女" />女</td>76.</tr>77.<!-- 年龄 -->78.<tr>79.<td align="right">年龄:</td>80.<td align="left" colspan="2"><select name="user_ag e">81.<% for(int i=18;i<=30;i++){%>82.<option value="<%=i%>" ><%=i%></option>83.<%} %>84.</select></td>85.</tr>86.<!-- 爱好 -->87.<tr>88.<td align="right">爱好:</td>89.<td align="left"><input type="checkbox" name="us er_hobby" value="唱歌"/>唱歌90.<input type="checkbox" name="user_hobby" value="跳舞"/>跳舞91.<input type="checkbox" name="user_hobby" value="阅读"/>阅读 </td>92.<td>93.<div id="hobby_msg"></div>94.</td>95.</tr>96.<!-- 城市 -->97.<tr>98.<td align="right" valign="middle">城市:</td>99.<td align="left" colspan="2"><select name="user_cit y" multiple="multiple" size="9 ">100.<option value="北京">北京 </option>101.<option value="南京">南京 </option>102.<option value="成都">成都 </option>103.<option value="杭州">杭州 </option>104.<option value="深圳">深圳 </option>105.<option value="西安">西安 </option>106.<option value="长沙">长沙 </option>107.<option value="武汉">武汉 </option>108.<option value="上海">上海 </option>109.</select></td>110.</tr>111.<!-- 描述 -->112.<tr>113.<td align="right" valign="middle">描述:</td>114.<td align="left" colspan="2"><textarea rows="8" na me="mtext"></textarea></td>115.</tr>116.<!-- 按钮 -->117.<tr>118.<td align="center" colspan="3">119.<input type="button" value="添加" onclick="mySubmit()">120.121.<input type="button" value="返回" onclick="myBack()">122.</td>123.</tr>124.</table>125.</form>126.</body>127.</html>这个界面要将新添加的信息发送给doadd.jsp页面,因此表单中要有post方式界面如下而doadd.jsp 是处理操作的页面,并非用于显示数据,所以无需任何HTML代码,只是将上一个add.jsp传递过来的数据进行处理,不用于在浏览器上显示出来[javascript] view plain copyprint?1.<%@ page import="java.util.*,entity.*,dao.*" pageEncodi ng="UTF-8"%>2.<!-- 处理操作的页面,并非用于显示数据,所以无需任何HTML 代码 -->3.<%4.//接收数据,在JSP中每个页面都具备一个隐藏的对象,这个对象包含着所有提交的请求信息5.//这就是request对象,也成为请求对象6.//request是一个隐式对象,所谓的隐式对象是无需声明直接使用的对象(事实上声明是存在的,不过不由我们来做)7.//getParameter是request中最常见的方法,作用是根据传入的name获取value8.//setCharacterEncoding是设置请求对象中参数的编码,必须在调用getParameter之前调用该方法9.//并且一般来说这里的编码要和提交页面的编码一致10.request.setCharacterEncoding("UTF-8");11.String user_name=request.getParameter("user_name") ;12.String user_sex=request.getParameter("user_sex");13.String user_age=request.getParameter("user_age");14.//getParameterValues可以获取name对应的一组value(如果name下有多个value被提交的话)15.String[] s1=request.getParameterValues("user_hobby") ;16.StringBuffer user_hobby=new StringBuffer();17.for(int i=0;s1!=null&&i<s1.length;i++){er_hobby.append(s1[i]);19.if(i<s1.length-1){er_hobby.append(",");21.}22.}23.String[] s2=request.getParameterValues("user_city");24.StringBuffer user_city=new StringBuffer();25.for(int i=0;s2!=null&&i<s2.length;i++){er_city.append(s2[i]);27.if(i<s2.length-1){er_city.append(",");29.}31.String mtext=request.getParameter("mtext");erInfo obj=new UserInfo();33.obj.setUser_name(user_name);34.obj.setUser_sex(user_sex);35.obj.setUser_age(Integer.parseInt(user_age));36.obj.setUser_hobby(user_hobby.toString());37.obj.setUser_city(user_city.toString());38.obj.setMtext(mtext);39.erInfoDao dao=new UserInfoDao();41.dao.save(obj);42.43.//除了request外,还有个隐藏的对象叫response44.//response也是隐式对象,无需声明就可以直接使用45.//和request不同的地方在于,它是表示响应46.//现在我们要做的时候结束完所有工作后,页面重新为index.jsp47.//所以需要通过响应对象将index.jsp页面响应回客户浏览器,否则客户浏览器得到的是doadd.jsp的页面代码48.//换句话说就是空无一物49.response.sendRedirect("index.jsp");50.%>接下来进行删除操作doRemove.jsp[javascript] view plain copyprint?1.<%@ page import="java.util.*,dao.*" pageEncoding="UT F-8"%>3.request.setCharacterEncoding("UTF-8");erInfoDao dao=new UserInfoDao();5.int id=Integer.parseInt(request.getParameter("id"));6.String msg="操作出问题了,请稍后重试,或联系管理员";7.if(dao.remove(id)){8.msg="恭喜你,操作成功,成功删除id为"+id+"的数据";9.}10.//response.sendRedirect是重定向11.//重定向会让我们的浏览器显示指定的页面,但是对于用户来说无法得知操作是否成功(只能通过查看显示的页面效果来判断)12.//除了重定向以外还有3种提示效果13./14.//1.弹出对话框,等待用户确认消息后再继续前往下一个页面15.//2.显示信息,在一段时间后自动前往下一个页面16.//response.sendRedirect("index.jsp");17.%>18.<%--19.<script type="text/javascript">20.alert("<%=msg%>");21.location.href="index.jsp";22.</script>23.--%>24.<%--25.JSP是一个多种代码混杂的编写环境,其中包括的代码可以分为服务器端代码和客户端代码26.所谓的服务器端代码是指运行在服务器环境中,由服务器负责解析和执行的代码,在JSP中Java代码就是服务器端代码27.而其他的HTML,JS,CSS等代码都是客户端代码,是由浏览器来解析和执行28.从请求响应模式的流程来说,是先执行服务器代码,然后执行客户端代码29.在这个执行过程中不会去考虑混杂在一起后的先后顺序问题30.简单的说,就是执行Java代码的时候,HTML,JS等代码是完全忽略的31.而执行HTML,JS等代码的时候,Java代码早已执行完毕,所有Java代码的地方已经变成运行后的结果32.--%>33.<%//response.sendRedirect("index.jsp"); %>34.<!-- 2.显示信息,在一段时间后自动前往下一个页面 -->35.<%--36.<html>37.<head>38.<meta http-equiv="refresh" content="5;index.jsp">39.</head>40.</html>41.<h1><%=msg%>,5秒后返回首页,如浏览器无反应,<a href="index.jsp">请点击</a></h1>42.--%>43.<div id="msg"><h1><%=msg%>,5秒后返回首页,如浏览器无反应,<a href="index.jsp">请点击</a></h1></div>44.<script type="text/javascript">45.var count=4;46.window.setInterval(function(){47.if(count==0){48.location.href="index.jsp";49.}50.var div_msg=document.getElementById("msg");51.div_msg.innerHTML="<h1><%=msg%>,"+count+"秒后返回首页,如浏览器无反应,<a href='index.jsp'>请点击</a></h1>"52.count--;53.}, 1000);54.</script>修改操作update.jsp[javascript] view plain copyprint?1.<%@ page import="java.util.*,dao.*,entity.*" pageEncodi ng="UTF-8"%>2.<%3.request.setCharacterEncoding("UTF-8");4.int id=Integer.parseInt(request.getParameter("id"));erInfoDao dao=new UserInfoDao();erInfo obj=dao.findById(id);7.8.//准备好常量9.ArrayList sexs=new ArrayList();10.sexs.add("男");11.sexs.add("女");12.ArrayList hobbys=new ArrayList();13.hobbys.add("唱歌");14.hobbys.add("跳舞");15.hobbys.add("阅读");16.ArrayList citys=new ArrayList();17.citys.add("北京");18.citys.add("南京");19.citys.add("成都");20.citys.add("杭州");21.citys.add("深圳");22.citys.add("西安");23.citys.add("长沙");24.citys.add("武汉");25.citys.add("上海");26.%>27.<html>28.<head>29.<title></title>30.</head>31.<script type="text/javascript">32.function myBack(){33.location.href="index.jsp";34.}35.36.function mySubmit(){37.var name=document.forms[0].user_name;38.var name_msg=document.getElementById("name_ms g");39.var hobby_msg=document.getElementById("hobby_m sg");_msg.innerHTML="";41.hobby_msg.innerHTML="";42.if(name.value.length==0){_msg.innerHTML="<font color='red'>*姓名为必填项</font>";.focus();45.return ;46.}47.var hobby_item=document.forms[0].user_hobby;48.var flag=false;49.for(var i=0;i<hobby_item.length;i++){50.if(hobby_item[i].checked==true){51.flag=true;52.break;53.}54.}55.if(flag==false){56.hobby_msg.innerHTML="<font color='red'>*至少选择一个爱好</font>";57.return ;58.}59.document.forms[0].submit();60.}61.</script>62.<body>63.<h1 align="center">修改信息</h1>64.<form action="doUpdate.jsp" method="post" >65.<input type="hidden" name="id" value="<%=obj.getI d()%>">66.<table align="center" width="50%">67.<!-- 姓名 -->68.<tr>69.<td align="right" width="37%">姓名:</td>70.<td align="left" width="25%"><input type="text" na me="user_name" value="<%=obj.getUser_name()%>" ></td>71.<td>72.<div id="name_msg" align="left"></div>73.</td>74.</tr>75.<!-- 性别 -->76.<tr>77.<td align="right">性别:</td>78.<td align="left" colspan="2">79.<%for(int i=0;i<sexs.size();i++){%>80.<input type="radio" name="user_sex" value="<%=se xs.get(i).toString()%>"81.<%if(obj.getUser_sex().equalsIgnoreCase(sexs.get(i).to String())){%>82.checked="checked"83.<% } %>84./><%=sexs.get(i).toString()%>85.<% } %>86.</td>87.</tr>88.<!-- 年龄 -->89.<tr>90.<td align="right">年龄:</td>91.<td align="left" colspan="2"><select name="user_ag e">92.<% for(int i=18;i<=30;i++){%>93.<option value="<%=i%>" <%if(obj.getUser_age()==i) {out.print("selected='selected'");} %>><%=i%></option>94.<%} %>95.</select></td>96.</tr>97.<!-- 爱好 -->98.<tr>99.<td align="right">爱好:</td>100.<td align="left">101.<%for(int i=0;i<hobbys.size();i++){%>102.<input type="checkbox" name="user_hobby" value= "<%=hobbys.get(i).toString()%>"<%if(obj.getUser_hobby().inde xOf(hobbys.get(i).toString())!=-1){%>checked="checked"<%}%>/><%=hobbys.get(i).toString() %><% } %>103.</td>104.<td>105.<div id="hobby_msg"></div>106.</td>107.</tr>108.<!-- 城市 -->109.<tr>110.<td align="right" valign="middle">城市:</td>111.<td align="left" colspan="2"><select name="user_cit y" multiple="multiple" size="9 ">112.<%for(int i=0;i<citys.size();i++){%>113.<option value="<%=citys.get(i).toString()%>" <%if(o bj.getUser_city().indexOf(citys.get(i).toString())!=-1){%>selected="selected"<%} %>><%=citys.get(i).toString()%> </option>114.<%} %>115.</select></td>116.</tr>117.<!-- 描述 -->118.<tr>119.<td align="right" valign="middle">描述:</td>120.<td align="left" colspan="2"><textarea rows="8" na me="mtext"><%=obj.getMtext()%></textarea></td>121.</tr>122.<!-- 按钮 -->123.<tr>124.<td align="center" colspan="3">125.<input type="button" value="修改" onclick="mySubmit()">126.127.<input type="button" value="返回" onclick="myBack()">128.</td>129.</tr>130.</table>131.</form>132.</body>133.</html>doUpdate.jsp[javascript] view plain copyprint?1.<%@ page import="java.util.*,dao.*,entity.*" pageEncodi ng="UTF-8"%>2.<%3.request.setCharacterEncoding("UTF-8");4.String user_name=request.getParameter("user_name");5.String user_sex=request.getParameter("user_sex");6.String user_age=request.getParameter("user_age");7.//如果多选控件没有选定值的话,返回是null而非长度为0的数组8.String[] hobbys=request.getParameterValues("user_hobb y");9.StringBuffer user_hobby=new StringBuffer();10.for(int i=0;hobbys!=null&&i<hobbys.length;i++){er_hobby.append(hobbys[i]);12.if(i<hobbys.length-1){er_hobby.append(",");14.}15.}16.String[] citys=request.getParameterValues("user_city");17.StringBuffer user_city=new StringBuffer();18.for(int i=0;citys!=null&&i<citys.length;i++){er_city.append(citys[i]);20.if(i<citys.length-1){er_city.append(",");22.}23.}24.String mtext=request.getParameter("mtext");25.int id=Integer.parseInt(request.getParameter("id"));26.27.erInfo obj=new UserInfo();29.obj.setId(id);30.obj.setUser_name(user_name);31.obj.setUser_sex(user_sex);32.obj.setUser_age(Integer.parseInt(user_age));33.obj.setUser_hobby(user_hobby.toString());34.obj.setUser_city(user_city.toString());35.obj.setMtext(mtext);erInfoDao dao=new UserInfoDao();37.dao.update(obj);38.response.sendRedirect("index.jsp");39.40.%>。
JDBC操作Oracle数据库(增删改查详细实例教程)(精)

private finalString = "oracle.jdbc.driver.OracleDriver"及登录;功能实现。
E clipse + struts2+oracle+jdbc eb开发技术框架入门小项目,一般都是从增删改功能实现开始入手,就像学编程语言几乎从“HelloWorld final”一样的经典,本人初入 String = "jdbc:oracle:thin:@192.168.0.99:1521:denver";private final String DBUSER = "zzw";private final一、环境搭建"zzw";private Connection conn = null;导入必要的包,我所建工程引入如下包:public DataBaseConnection( {C lasses12.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang-2.5.jar freemarker-2.3.16.jar javassist-3.11.0.GA.jar ognl-3.0.1.jar ojdbc14.jar struts-core-2.2.3.jar xwork-core-2.2.3.jartry {引入的包具体的版本同struts 的版本有关系,我的是sturts2.2.6.(DBDRIVER;this.conn = DriverManager.getConnection二、DBURL, web.xml, DBPASSWORD;} 我的web.xml内容如下:}xml}?>// 取得数据库连接web-apppublic Connection getConnection( {"xmlns=" return xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" }="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd "id="WebApp_ID"version=" close( {">try{<display-name>// 我的工程名为webDemo} catch (Exception e {}struts-default.xml,struts-plugin.xmlstaticfilter>System..println(aa.getConnection(;<filter-mapping }<filter-name> filter-name测试类Main.java Java url-pattern>/*url-pattern>package com.connect.t01;filter-mappingimportimport <welcome-file-listimport //默认显示页面import<;welcome-file>* @desc>* jdbc>数据库(welcome-file>default.html welcome-file>< 2013-default.htm welcome-file*/<welcome-file>default.jspwelcome-file@SuppressWarnings(public staticmain(String[] args{web-appPerson person =如果有不懂的地方,百度搜索一下“person.setId("002"三、配置 person.setName(通俗一点来书,本人觉得S就像一个导航,也是一个映射关系,页面的跳转,及动作的发生,都是struts.xml"002",基本上struts的原理你就弄清楚了,所以本人重点讲解一下自己所遇到的问题。
使用JSPSERVLETJDBC实现对数据库的增删改查(详细)(精)

public void setCurrentRecord(int currentRecord{
this.currentRecord=currentRecord;
}
//获得和设置每页记录数量
public int getPageSize({
return pageSize;
}
public void setPageSize(int pageSize{
private int totalRecord;
private int currentRecord;
private int pageSize=8;
//获得和设置当前页
public int getCurrentPage({
return currentPage;
}
public void setCurrentPage(int currentRecord,int pageSize{
String major=request.getParameter("major";
conn=connect(;
stat=conn.createStatement(;
stat.execute("insert into student(id,name,age,gender,major values("+id+",'"+name+"',"+age+",'"+gender+"','"+major+"'";
// TODO Auto-generated catch block
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
stu s = (stu) list.get(0);//将列表内容换成学生类
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01 Transitional//EN">
</p>
<p>
<inputtype="submit"value="提交"name="button1">
</p>
</form>
</body>
</html>
8、建立updateInfo.jsp
<%@pagelanguage="java"import="db.ConnDb"pageEncoding="gbk"%>
onclick="return confirm('确定删除?');">删除</a>
</td>
</tr>
<%
}
}
%>
</table>
</body>
</html>
6、建立add.jsp
<%@pagelanguage="java"pageEncoding="gbk"%>
<%%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01 Transitional//EN">
con=null;
}
}
publicstaticvoidupdate(String sql)throwsSQLException {
//数据库更新
statrconn();
stmt=con.createStatement();
stmt.executeUpdate(sql);
endconn();
}
publicstaticArrayList getList1(String sql)throwsSQLException {
publicstaticvoidstatrconn() {//连接数据库方法
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
//创建连接数据库中间件
try{
con= DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:YUJIAN","scott","root");
//数据库查询
ArrayList list =newArrayList();
statrconn();
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()) {
stu st =newstu();
st.setSid(rs.getString("sid"));
String sid =newString(request.getParameter("sid").getBytes("ISO-8859-1"));
String sql ="update test set sname='"+name+"',sage='"+age+"' where sid="+sid;
<html>
<head>
<title>MyJSP'list.jsp' starting page</title>
</head>
<body>
<inputtype="button"name="bottom"value="添加新学生"
onclick="javascript:window.location.href='add.jsp'">
<br>
<br>
<tableborder="1">
<tr>
<td>
编号
</td>
<td>
姓名
</td>
<td>
年龄
</td>
<td>
操作
</td>
</tr>
<%
{
for(Iterator it = list.iterator(); it.hasNext();) {
stu s = (stu) it.next();
String age =newString(request.getParameter("sage").getBytes("iso-8859-1"));
ConnDb.update("insert into test (sid,sname,sage) values ('"+sid+"','"+name+"','"+age+"')");
response.sendRedirect("list.jsp");
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01 Transitional//EN">
<html>
<head>
<title>MyJSP'addinfo.jsp' starting page</title>
}catch(SQLException e) {
//TODOAuto-generated catch block
e.printStackTrace();
}
}catch(ClassNotFoundException e) {
//TODOAuto-generated catch block
e.printStackTrace();
JSP对Oracle数据库进行增删改查实例
时间:2012-3-20 20:38:22作者:雨剑电脑来源:原创查看:224评论:0
JSP对Oracle数据库进行增删改查实例
1、建立一个web工程Oracle,引入Oracle驱动包classes12.jar。
2、建立数据库
createtabletest(
publicvoidsetName(String name) {
= name;
}
publicString getAge() {
returnage;
}
publicvoidsetAge(String age) {
this.age= age;
}
publicstaticvoidmain(String[] args) {
<%
String name =newString(request.getParameter("sname").getBytes("ISO-8859-1"));//接收信息
String age =newString(request.getParameter("sage").getBytes("ISO-8859-1"));
}
}
publicstaticvoidendconn()throwsSQLException {//关闭连接
if(rs!=null) {
rs.close();
rs=null;
}
if(stmt!=null) {
stmt.close();
stmt=null;
}
if(con!=null) {
con.close();
<p>
姓名:
<inputtype="text"name="sname"value="<%=s.getName()%>">
修改学生信息
</p>
<p>
年龄:
<inputtype="text"name="sage"value="<%=s.getAge()%>">
<inputtype="hidden"name="sid"value="<%=sid%>">
<inputtype="text"name="sname">
<br>
<br>