JSP对Oracle数据库进行增删改查实例
- 格式:docx
- 大小:40.38 KB
- 文档页数:9
使用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实现对数据库的增删改查首先,打开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与数据库的增删改查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.%>。
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的原理你就弄清楚了,所以本人重点讲解一下自己所遇到的问题。
jsp连接Oracle的增删改查****************************************db包中的stu学生************************************ package db;public class stu { //学生类private String sid;private String name;private String age;public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}}*****************************************db包中的ConnDb************************************ package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;public class ConnDb { //数据库连接和操作的类private static Connection con=null;private static Statement stmt=null;private static ResultSet rs=null;public static void statrconn(){ //连接数据库方法try {Class.forName("oracle.jdbc.driver.oracledriver "); //创建连接数据库中间件try {con=DriverManager.getConnection("jdbc:odbc:thin:@127.0.0.1:1521:orcl","",""); //连接access数据源 } catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void endconn() throws SQLException{ //关闭数据源的类if(rs!=null){rs.close();rs=null;}if(stmt!=null){stmt.close();stmt=null;}if(con!=null){con.close();con=null;}}public static void update(String sql) throws SQLException{ //数据库更新类statrconn();stmt=con.createStatement();stmt.executeUpdate(sql);endconn();}public static ArrayList getList1(String sql) throws SQLException{ //数据库查询类,查询结果集以列表返回 ArrayList list=new ArrayList();statrconn();stmt=con.createStatement();rs=stmt.executeQuery(sql);while(rs.next()){stu st=new stu();st.setSid(rs.getString("sid"));st.setName(rs.getString("sname"));st.setAge(rs.getString("sage"));list.add(st);}endconn();return list;}}********************************主jsp页面list.jsp****************************************<%@ page language="java" import="db.ConnDb,db.stu,java.util.*" pageEncoding="gbk"%><%--jsp头文件,包括引入的包和支持语言,gbk为支持中文--%><%ArrayList list = ConnDb.getList1("select sid,sname,sage from test"); //获得test表中所有数据并以列表形式返回%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'list.jsp' starting page</title></head><body><input type="button" name="bottom" value="添加新学生"onclick="javascript:window.location.href='add.jsp'"><br><br><table border="1" ><tr><td>编号</td><td>姓名</td><td>年龄</td><td>操作</td></tr><% {for(Iterator it=list.iterator();it.hasNext();){stu s=(stu)it.next();%><tr><td><%=s.getSid()%></td><td><%=s.getName()%></td><td><%=s.getAge()%></td><td><a href="update.jsp?sid=<%=s.getSid()%>">修改</a><a href="delete.jsp?sid=<%=s.getSid()%>" onclick="return confirm('确定删除?');">删除</a></td></tr><% }}%></table></body></html>************************************************添加学生的jsp页面add.jsp******************************************<%@ page language="java" pageEncoding="gbk"%><%%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>add</title></head><body><form action="addinfo.jsp" method="post"> 提交到addinfo.jsp<p>添加学生:</p>姓名:<input type="text" name="sname"><br><br>年龄:<input type="text" name="sage"><br><br><input type="submit" name="submit" value="提交"></form></body></html>*******************************************添加学生的处理jsp页面addinfo.jsp*******************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%String name = new String(request.getParameter("sname").getBytes("iso-8859-1"));String age = new String(request.getParameter("sage").getBytes("iso-8859-1"));ConnDb.update("insert into test (sname,sage) values ('"+name+"','"+age+"')");response.sendRedirect("list.jsp");%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'addinfo.jsp' starting page</title></head><body>添加成功!<br></body></html>***********************************修改学生信息的jsp页面update.jsp*******************************************************<%@ page language="java" import="db.ConnDb,db.stu,java.util.*" pageEncoding="gbk"%><%String sid=new String(request.getParameter("sid")); //获得要修改人的sidArrayList list=ConnDb.getList1("select sid,sname,sage from test where sid=" +sid); //查询要修改学生的信息,并以列表返回stu s = (stu)list.get(0); //将列表内容换成学生类%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'update.jsp' starting page</title></head><body><form method="post" action="updateInfo.jsp"> 提交到updateInfo.jsp页面<p>修改学生信息 </p><p>姓名:<input type="text" name="sname" value="<%=s.getName() %>"> 修改学生信息</p><p> 年龄:<input type="text" name="sage" value="<%=s.getAge()%>"><input type="hidden" name="sid" value="<%=sid%>"></p><p> <input type="submit" value="提交" name="button1"></p></form></body></html>**************************************修改的处理页面updateInfo.jsp*********************************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%String name = new String(request.getParameter("sname").getBytes("ISO-8859-1")); //接收信息 String age = new String(request.getParameter("sage").getBytes("ISO-8859-1"));String sid = new String(request.getParameter("sid").getBytes("ISO-8859-1"));String sql = "update test set sname='"+name+"',sage='"+age+"' where sid="+sid;ConnDb.update(sql); //执行修改response.sendRedirect("list.jsp"); //转到list.jsp页面%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'updateInfo.jsp' starting page</title></head><body>This is my JSP page. <br></body></html>******************************************删除的处理页面delete.jsp********************************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%ConnDb.update("delete from test where sid ="+request.getParameter("sid")); //获得要删除人的sid并删除response.sendRedirect("list.jsp"); //转到list.jsp页面%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'delete.jsp' starting page</title></head><body>This is my JSP page. <br></body>。
一利用jsp实现Oracle数据库中表格的分页浏览:二在Oracle数据库中建立表格,包含员工的工号、姓名、性别、工龄、工资等字段,并实现增删改查操作。
(1)所建的worker表格如下:(2)Input.jsp运行结果如下:(3)Inputcheck.jsp运行结果如下:Pagebreak.jsp代码如下:<%@page contentType="text/html"pageEncoding="UTF-8" import="java.sql.*"%>分页显示记录内容<%String oracledriver="oracle.jdbc.driver.OracleDriver";String oracleUrl="jdbc:oracle:thin:@localhost:1521:ORACLE";String username="scott";String password="tiger";Connection con;Class.forName(oracledriver;con=DriverManager.getConnection(oracleUrl,username,password;int intPageSize;int intRowCount;int intPageCount;int intPage;String strPage;int i;intPageSize = 10;strPage = request.getParameter("page";if(strPage==null{intPage =1;}else{intPage = ng.Integer.parseInt(strPage;if(intPage<1 intPage = 1;}Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY;String sql = "select * from worker";ResultSet rs=stmt.executeQuery(sql;st(;intRowCount = rs.getRow(;intPageCount = (intRowCount+intPageSize-1/intPageSize;if(intPage>intPageCountintPage =intPageCount;if(intPageCount>0{rs.absolute((intPage-1*intPageSize+1;i = 0;while(i<%rs.next(;i++;}}%>工号姓名性别工龄工资<%=rs.getStrin g("id"%> <%=rs.getString("name"%><%=rs.getString("sex"%><%=rs.getString("workyear"%><%=rs.getString("sal"%>第<%=intPage%>页共<%=intPageCount%>页<%if(intPage%>下一页<%}if(intPage>1{%>上一页<%}rs.close(;stmt.close(;con.close(;%>Input.jsp代码如下:<%@page contentType="text/html"pageEncoding="UTF-8"%>工号姓名性别工龄工资[</span><span style=]提交">[</span><span style=]取消"> Inputcheck.jsp 代码如下:<%@page contentType="text/html"pageEncoding="UTF-8" import="java.sql.*"%>已添加员工信息<%String empID = request.getParameter("empID";byte []b=empID.getBytes("ISO-8859-1";empID = new String(b,"UTF-8";String empName = request.getParameter("empName";byte []b1=empName.getBytes("ISO-8859-1";empName = new String(b1,"UTF-8";String empSex = request.getParameter("empSex";byte []b2=empSex.getBytes("ISO-8859-1"; empSex = new String(b2,"UTF-8";String empWorkyear= request.getParameter("empWorkyear";byte []b3=empWorkyear.getBytes("ISO-8859-1";empWorkyear = new String(b3,"UTF-8";String empSal = request.getParameter("empSal";byte []b4=empSal.getBytes("ISO-8859-1";empSal = new String(b4,"UTF-8";String oracledriver="oracle.jdbc.driver.OracleDriver";String oracleUrl="jdbc:oracle:thin:@localhost:1521:ORACLE";String username="scott";String password="tiger";Class.forName(oracledriver;Connection con=DriverManager.getConnection(oracleUrl,username,password; Statement stmt=con.createStatement(;String sql="insert into worker values('" +empID+"','"+empName+"','"+empSex+"',"+empWorkyear+","+empSal+"";stmt.executeUpdate(sql;stmt.close(;con.close(;%>已删除员工信息<%String oracledriver1="oracle.jdbc.driver.OracleDriver";String oracleUrl1="jdbc:oracle:thin:@localhost:1521:ORACLE";String username1="scott";String password1="tiger";Class.forName(oracledriver1;Connection con1=DriverManager.getConnection(oracleUrl1,username1,password1; Statement stmt1=con1.createStatement(;String sql1="delete from worker where empName='韩信'";stmt1.executeUpdate(sql1;stmt1.close(;con1.close(;%>已更改员工信息<%String oracledriver2="oracle.jdbc.driver.OracleDriver";String oracleUrl2="jdbc:oracle:thin:@localhost:1521:ORACLE";String username2="scott";String password2="tiger";Class.forName(oracledriver2;Connection con2=DriverManager.getConnection(oracleUrl2,username2,password2; Statement stmt2=con2.createStatement(;String sql2="update worker set empName='李莉莉' where empName='Kababa'"; stmt2.executeUpdate(sql2;stmt2.close(;con2.close(;%>经过以上操作后,Worker表如下:<%String oracledriver3="oracle.jdbc.driver.OracleDriver";String oracleUrl3="jdbc:oracle:thin:@localhost:1521:ORACLE";String username3="scott";String password3="tiger";Class.forName(oracledriver3;Connection con3=DriverManager.getConnection(oracleUrl3,username3,password3; Statement stmt3=con3.createStatement(;String sql3="Select * from worker";ResultSet rs=stmt3.executeQuery(sql3;while(rs.next({%><%} rs.close(;stmt3.close(;con3.close(;%>编号姓名性别工龄工资<%=rs.getStrin g("empID"%> <%=rs.getString("empName"%><%=rs.getString("empSex"%><%=rs.getString("empWorkyear"%><%=rs.getString("empSal"%>。