zoukankan      html  css  js  c++  java
  • 使用MyEclipse中servlet对SQL Server 2008的CRUD

    1、在MyEclipse下建立Web Project,找到根目录建立Database文件夹和Doc文件夹,Database用于保存数据库信息,Doc用于保存数据库表信息。

    2、打开SQL Server 2008 ,新建数据库CRUD,将路径添加到Database文件夹下。

    3、写SQL语句添加数据库表,保存在Doc文件夹下。到这对数据库的操作就完成了。

    CREATE TABLE Student(
      sno nvarchar(10) not null,
      sname nvarchar(10) null,
      constraint PK_Student primary key(sno)
    );
    insert Student values('001','张三');
    insert Student values('002','李四');
    insert Student values('003','王五');
    insert Student values('004','赵六');
    

    4、将sqljdbc4.jar(没有可在网上下载)拷贝到WEB-INF下的lib文件夹下,然后建立StudentList.jsp,输入以下代码:

    <%@  import="java.sql.*" %>
    <%
       Connection con=null;
       Statement stmt=null;
       ResultSet rs=null;
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
       con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;          DatabaseName=CRUD","sa","123");
       String SQL="SELECT * FROM Student";
       stmt=con.createStatement();
       rs=stmt.executeQuery(SQL);
    %>
      <center>    
            学生列表
        <br>
        <br>
        <a href="StudentAdd.html">添加</a>
        <br>
        <br>
        
        <table border="1" cellspacing="0" cellpadding="4">
          <tr>
             <th>学号</th><th>姓名</th><th>操作</th>
          </tr>
        <%while (rs.next()) { %>
          <tr>
            <td><%=rs.getString("sno") %></td>
            <td><%=rs.getString("sname") %></td>
            <td>
        	<a href="StudentEdit.jsp?sno=<%=rs.getString("sno") %>" >编辑</a> 
        	<a href="servlet/DeleteStudent.do?sno=<%=rs.getString("sno") %>" >删除</a> </td>
          </tr>
        <% } %>
        </table>
        <br>
        
        <br>
        <a href="index.jsp">返回</a>
        </center>
    

      

    5、建立Packagecom.langguojie.CRUD.servlet”,然后建立servletAddStudent.java”只选择“doPost()”函数即可。添加如下代码:

            import java.sql.*;
            // 获取数据
    	request.setCharacterEncoding("utf-8");
    	String strStudentSno = "";
    	String strStudentSname = "";
    	strStudentSno = request.getParameter("sno");
    	strStudentSname = request.getParameter("sname");
    				
    	// 添加数据
    	Connection con = null;    
    	Statement stmt = null;    
    				
            String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;
            user=sa;password=123";//sa身份连接	
            try
    	{
    	      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    	      con = DriverManager.getConnection(url);  
    	      String strSql = "insert into Student values('" + strStudentSno + "','" + strStudentSname + "')";    
    	      stmt = con.createStatement();  
    	      stmt.execute(strSql);
    	}
    	catch (Exception e) 
    	{
    		response.setContentType("text/html");
    		response.setCharacterEncoding("utf-8");
    		PrintWriter out = response.getWriter();
    		out.println("<center><br><br>添加失败,学号:" + strStudentSno);
    		out.println("<br><br><a href='../StudentList.jsp'>返回</a></center>");
    		out.close();
    		return;
    	}
    						
    	// 跳转
    	response.sendRedirect("../StudentList.jsp");
    

      

    6、建立StudentAdd.html,添加如下代码:

    <center>
      <br><br>添加学生<br>
        <form name="f1" id="f1" action="servlet/AddStudent.do" method="post">
          <table border="0">
            <tr>
              <td>学号:</td>
              <td><input type="text" name="sno"></td>
            </tr>
            <tr>
              <td>姓名:</td>
              <td><input type="text" name="sname"></td>
            </tr> 
            <tr>
              <td colspan="2" align="center"><input type="submit" value=" 确定 " ></td>
            </tr>
          </table>
        </form>
    </center>
    

      

    7、按照步骤5添加servletEditStudent.java”和“DeleteStudent.java

    代码如下:

                    EditStudent.java
                    // 获取数据
    		request.setCharacterEncoding("utf-8");
    		String strStudentSno = "";
    		strStudentSno = request.getParameter("sno");
    		String strStudentSname = "";
    		strStudentSname = request.getParameter("sname");
    		
    		// 删除数据
    		Connection con = null;    
    		Statement stmt = null;    
    		ResultSet rs = null;  
    		
    		String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接
    		
    		try
    		{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    			con = DriverManager.getConnection(url);  
    			
    			String strSql = "update Student set sname = '"+strStudentSname+"' where sno= " + strStudentSno + " ";    
    			stmt = con.createStatement();  
    			stmt.execute(strSql);
    		}
    		catch (Exception e) 
    		{
    			response.setContentType("text/html");
    			response.setCharacterEncoding("utf-8");
    			PrintWriter out = response.getWriter();
    			out.println("编辑失败,学号:" + strStudentSno+"!");
    			out.close();
    			return;
    		}
    				
    		// 跳转
    		response.sendRedirect("../StudentList.jsp");
    
                   DeleteStudent.java:
                   // 获取数据
    		request.setCharacterEncoding("utf-8");
    		String strStudentSno = "";
    		strStudentSno = request.getParameter("sno");
    				
    		// 删除数据
    		Connection con = null;    
    		Statement stmt = null;    
    		ResultSet rs = null;  
    				
    		String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接
    				
    		try
    		{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    			con = DriverManager.getConnection(url);  
    					
    			String strSql = "delete from Student where sno='" + strStudentSno + "'";    
    			stmt = con.createStatement();  
    			stmt.execute(strSql);
    		}
    		catch (Exception e) 
    		{
    			response.setContentType("text/html");
    			response.setCharacterEncoding("utf-8");
    			PrintWriter out = response.getWriter();
    			out.println("删除失败,学号:" + strStudentSno+"!");
    			out.close();
    			return;
    		}
    						
    		// 跳转
    		response.sendRedirect("../StudentList.jsp");
    

      

    8、StudentEdit.jsp所对应的代码:

     <%@  import="java.sql.*" %>
      <%
    	Connection con = null;    
    	Statement stmt = null;    
    	ResultSet rs = null;  
    	
    	String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接
    	
    	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    	con = DriverManager.getConnection(url);  
    	stmt = con.createStatement();  
    	
    	request.setCharacterEncoding("utf-8");
    	String strsno = "";
    	strsno = request.getParameter("sno");
    	String SQL = "SELECT * FROM Student where sno='" + strsno + "'";    
    	rs = stmt.executeQuery(SQL);    
    %>
    <center>
    
    <%if(rs.next()==true){ %>
    	
      	<br><br>编辑学生信息<br>
        <form name="f1" id="f1" action="servlet/EditStudent.do" method="post">
          <table border="0">
            <tr>
              <td>学号:</td>
              <td><input type="text" readonly="readonly" name="sno" value="<%=rs.getString("sno") %>"> 学号不允许编辑</td>
            </tr>
            <tr>
              <td>姓名:</td>
              <td><input type="text" name="sname" value="<%=rs.getString("sname") %>"></td>
            </tr> 
            <tr>
              <td colspan="2" align="center"><input type="submit" value=" 确定 " ></td>
            </tr>
          </table>
        </form>
    <%} else { %>
    <br><br>编辑学生信息<br><br>
    学号为<%=strsno %>的学生数据在数据库中不存在!<br><br>
    <a href="StudentList.jsp">返回</a>
    <%} %>
    </center>
    

      

    9、运行结果截图:

    查询界面:

    添加界面:学号:005 姓名:郎国杰

    添加成功界面:

    编辑界面:将“郎国杰”改写成“langguojie

    编辑成功:

    删除结果:

    10、总结:

    使用servlet对数据库的增删改查(CRUD)可以方便用户的操作,更具有规范性,可以避免代码泄露问题。这一部分是编辑网站以及开发网页的基础内容。

  • 相关阅读:
    find the first t.py file through traversal C: and D:
    gevent simple server
    【python实例】判断是否是回文数
    【python实例】要求输出字符串中最少一个最多八个的所有字符串组合(连续)
    【python实例】统计字符串里大写字母,小写字母和非字母的个数
    【python基础】字符串方法汇总
    【python实例】判断质数:for-break-else
    【python实例】while&for 九九乘法表
    【python实例】水仙花数:每个位上的数值的三次方求和,刚好是这个三位数本身
    【python实例】判断输入年份是否是闰年
  • 原文地址:https://www.cnblogs.com/langgj/p/5331958.html
Copyright © 2011-2022 走看看