J2EE学习笔记——Servlet操作数据库(编辑数据)
来源:互联网 发布:测量数据如何导入cad 编辑:程序博客网 时间:2024/05/16 01:14
首先从 显示页面(show) 把 所要编辑的数据的列的数据传送到 下一页
package com.xuyan; import javax.servlet.http.*; import java.io.*; import java.sql.*;public class Datashow extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) { String username=req.getParameter("posturl"); Connection con=null; Statement sm=null; ResultSet rs=null; int pageSize=4;//每页显示多少记录 int pageNow=1;//当前显示第几页 int pageCount=0;//共有多少页 int rowCount=0;//共有多少条记录 //设置中文字体 res.setCharacterEncoding("gbk"); String getPageNow=req.getParameter("spageNow"); if(getPageNow!=null) { pageNow=Integer.parseInt(getPageNow); } try { PrintWriter pw=res.getWriter(); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动 con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=StudentInfo","sa","1234"); sm=con.createStatement(); rs=sm.executeQuery("select count(*) from student");//查询共有多少记录 if(rs.next()) //此处说明有记录 { rowCount=rs.getInt(1); if(rowCount%pageSize==0) { pageCount=rowCount/pageSize; } else { pageCount=rowCount/pageSize+1; //int类型 会转化为整数 } pw.println("<body><center>"); pw.println("欢迎 :"+username+" 进入"); pw.println("<br>"); pw.println("<br>"); pw.println("共有记录数 :" + rowCount); pw.println("共有页码数:" +pageCount); //查询 rs=sm.executeQuery("select top "+pageSize+"* from student where ID not in(select top "+pageSize*(pageNow-1)+" ID from student)"); pw.println("<table border=2>"); pw.println("<tr bgcolor=pink><th>Id</th><th>Name</th><th>Genger</th><th>Age</th><th>Grade</th><th>删除数据</th><th>编辑数据</th></tr>"); while(rs.next()) { pw.println("<td>"+rs.getInt(1)+"</td>"); pw.println("<td>"+rs.getString(2)+"</td>"); pw.println("<td>"+rs.getString(3)+"</td>"); pw.println("<td>"+rs.getString(4)+"</td>"); pw.println("<td>"+rs.getString(5)+"</td>"); pw.println("<td><a href=deleteb?canshu="+rs.getInt(1)+">删除数据</a></td>"); pw.println("<td><a href=edittable?editid="+rs.getInt(1)+"&editname="+rs.getString(2)+"&editgender="+rs.getString(3)+"&editage="+rs.getString(4)+"&editgrade="+rs.getString(5)+">编辑数据</a></td>"); pw.println("</tr>"); } } else { pw.println("NotFoundSQL"); } pw.println("</table >"); for(int i=1;i<=pageCount;i++){ pw.println("<a href=show?spageNow="+i+">"+i+"</a>"); } if((pageNow-1)>0) { pw.println("<a href=show?spageNow="+(pageNow-1)+">上一页</a>"); } if((pageNow)<pageCount) { pw.println("<a href=show?spageNow="+(pageNow+1)+">下一页</a>"); } } catch(Exception ex) { ex.printStackTrace(); } finally { try{ if(rs!=null) { rs.close(); } if(sm!=null){ sm.close(); } if(con!=null){ con.close(); } } catch(SQLException eexx) { eexx.printStackTrace(); } } } public void doPost(HttpServletRequest req,HttpServletResponse res) { this.doGet(req,res); } }
然后是 先用 input 先读出原来的数据:edittable
/** * AWT Sample application * * @author * @version 1.00 12/10/21 *//** * AWT Sample application * * @author * @version 1.00 12/10/21 */ package com.xuyan; import javax.servlet.http.*; import java.io.*; import java.sql.*;public class Updatatable extends HttpServlet{ //req用于向浏览器请求信息 //res用于向浏览器返回信息 public void doGet(HttpServletRequest req,HttpServletResponse res) { //String par=req.getParameter("editid"); //设置中文字体 res.setCharacterEncoding("gbk"); try { PrintWriter pw=res.getWriter(); pw.println("<html>"); pw.println("<head>"); pw.println("<title>test</title>"); pw.println("</head>"); pw.println("<body>"); pw.println("<form action=editdata method=post>"); pw.println("<h1>数据编辑</h1>"); pw.println("<table border=2>"); pw.println("<tr><th>ID</th><th>Name</th><th>Genger</th><th>Age</th><th>Grade</th></tr>"); pw.println("<td><input type=text value="+req.getParameter("editid")+" name=studentID></td>"); pw.println("<td><input type=text value="+req.getParameter("editname")+" name=studentname></td>"); pw.println("<td><input type=text value="+req.getParameter("editgender")+" name=gender></td>"); pw.println("<td><input type=text value="+req.getParameter("editage")+" name=age></td>"); pw.println("<td><input type=text value="+req.getParameter("editgrade")+" name=grade></td>"); pw.println("<td><input type=submit value=编辑></td>"); pw.println("</table >"); pw.println("</form>"); pw.println("</body>"); pw.println("</html>"); } catch(Exception ex) { ex.printStackTrace(); } finally { } } public void doPost(HttpServletRequest req,HttpServletResponse res) { this.doGet(req,res); } }
然后跳转到数据库 编辑页:editdata
/** * AWT Sample application * * @author * @version 1.00 12/10/21 *//** * AWT Sample application * * @author * @version 1.00 12/10/21 */ package com.xuyan; import javax.servlet.http.*; import java.io.*; import java.sql.*;public class EditData extends HttpServlet{ //req用于向浏览器请求信息 //res用于向浏览器返回信息 public void doGet(HttpServletRequest req,HttpServletResponse res) { String par=req.getParameter("studentID"); String name=req.getParameter("studentname"); String sex=req.getParameter("gender"); String age=req.getParameter("age"); String grade=req.getParameter("grade"); Connection con=null; Statement sm=null; ResultSet rs=null; //设置中文字体 res.setCharacterEncoding("gbk"); try { PrintWriter pw=res.getWriter(); pw.println(name); pw.println(sex); pw.println(par); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动 con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=StudentInfo","sa","1234"); sm=con.createStatement(); rs=sm.executeQuery("update student set studentname='"+name+"',gender='"+sex+"',age='"+age+"',grade='"+grade+"' where id="+par+"");//查询共有多少记录 } catch(Exception ex) { ex.printStackTrace(); } finally { // try { res.sendRedirect("show"); } catch(IOException eexx) { eexx.printStackTrace(); } // try{ if(rs!=null) { rs.close(); } if(sm!=null){ sm.close(); } if(con!=null){ con.close(); } } catch(SQLException eexx) { eexx.printStackTrace(); } } } public void doPost(HttpServletRequest req,HttpServletResponse res) { this.doGet(req,res); } }
web.xml :
<?xml version="1.0" encoding="gbk"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <display-name> Welcome to TomCat</display-name> <description> Welcome to TomCat </description> <!-- Define the Manager Servlet Mapping --> <servlet><!--给你的servlet取名,任意--> <servlet-name>hello</servlet-name><!--指明servlet的包名+类名--> <servlet-class>com.xuyan.Hello</servlet-class> </servlet> <servlet-mapping><!--同上方名字一样,必须--> <servlet-name>hello</servlet-name><!--在浏览器中访问的名字--> <url-pattern>/xuyan</url-pattern> </servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>chuli</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.LoginCL</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>chuli</servlet-name><!--在浏览器中访问的名字--><url-pattern>/login</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>welcome</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.welcome</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>welcome</servlet-name><!--在浏览器中访问的名字--><url-pattern>/welcome</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>data</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.Datashow</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>data</servlet-name><!--在浏览器中访问的名字--><url-pattern>/show</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>login2</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.Logincookie</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>login2</servlet-name><!--在浏览器中访问的名字--><url-pattern>/logincookie</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>readcookie</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.Cookieread</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>readcookie</servlet-name><!--在浏览器中访问的名字--><url-pattern>/read</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>deletea</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.Deletedata</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>deletea</servlet-name><!--在浏览器中访问的名字--><url-pattern>/deleteb</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>edittable</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.Updatatable</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>edittable</servlet-name><!--在浏览器中访问的名字--><url-pattern>/edittable</url-pattern></servlet-mapping><servlet><!--给你的servlet取名,任意--><servlet-name>edituser</servlet-name><!--指明servlet的包名+类名--><servlet-class>com.xuyan.EditData</servlet-class></servlet><servlet-mapping><!--同上方名字一样,必须--><servlet-name>edituser</servlet-name><!--在浏览器中访问的名字--><url-pattern>/editdata</url-pattern></servlet-mapping></web-app>
show页:
edittable页:
- J2EE学习笔记——Servlet操作数据库(编辑数据)
- J2EE学习笔记————Servlet操作数据库分页
- J2EE:servlet 数据库操作
- J2EE Servlet 学习笔记
- J2EE学习笔记之数据库操作
- J2EE学习笔记————Servlet(一)
- J2EE Servlet 学习笔记2
- J2EE Servlet 学习笔记3
- J2EE Servlet 学习笔记4
- J2EE Servlet 学习笔记5
- 【学习笔记】C#学习笔记(操作数据库中的数据)
- 【J2EE核心开发学习笔记 009】MyBatis3操作数据库(CURD)
- J2EE学习笔记——Cookie操作(2周内免登陆)
- 初学 j2ee servlet 学习笔记(1)
- J2EE学习笔记(四)之Servlet原理
- J2EE——Servlet
- J2EE——servlet
- 【J2EE系列】—Servlet
- 沉默像首悲伤的歌 捂上眼睛却模糊了视线
- cvNormalize函数
- Java se对解析操作xml的支持及简单应用
- c++中如何用毫秒来做为随机种子
- 聚焦时提示内容变淡,输入文字时提示内容消失的输入框
- J2EE学习笔记——Servlet操作数据库(编辑数据)
- 看,天空发现一只无比巨大的鸟
- 想要的是全世界唯你一人的温暖:伤感日志
- Hadoop
- ORA-01034: ORACLE not available,ORA-27101: shared memory realm does not exist,ORA-03113: 通信通道的文件结尾
- Missing artifact javax.jms:jms:jar: Missing artifact com.sun.jdmk Missing artifact com.sun.jmx:jmxri
- sqlite3 修改字段值的问题
- 判断 iframe 是否加载完成的完美方法
- <转载>Mac OS 安装oracle client