zoukankan      html  css  js  c++  java
  • 软概(lesson 2):课堂测试

    一、测试题目

    二、完成过程

    1.设计思想

    ①连接mysql数据库

    ②设计user类,增加参数

    ③设计add类,向数据库内增加内容

    ④设计addInput页面,完成录入操作

    ⑤设计add页面,接收录入的参数,并调用add类函数

    2.源代码

    user.java

    package xihuan;
    
    
    public class User {
    	private String kcmc;
    	private String rkjs;
    	private String skdd;
    	public String getKcmc() {
    		return kcmc;
    	}
    	public void setKcmc(String kcmc) {
    		this.kcmc = kcmc;
    	}
    	public String getRkjs() {
    		return rkjs;
    	}
    	public void setRkjs(String rkjs) {
    		this.rkjs = rkjs;
    	}
    	public String getSkdd() {
    		return skdd;
    	}
    	public void setSkdd(String skdd) {
    		this.skdd = skdd;
    	}
    
    	
    }
    

      add.java

    package xihuan;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class add{
    
    	public void add1(User user) {
    		//获得链接对象
    		Connection connection = DBUtil.getConnection();
    		//准备sql语句
    		String sql = "select count(*) from t_user where 'kcmc' = ?";
    		//创建语句传输对象
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		try {
    			preparedStatement = connection.prepareStatement(sql);
    			preparedStatement.setString(1, user.getKcmc());
    			//接收结果集
    			resultSet = preparedStatement.executeQuery();
    			//遍历结果集
    			sql = "insert into t_user(kcmc,rkjs,skdd) value (?,?,?)";
    			preparedStatement = connection.prepareStatement(sql);
    			preparedStatement.setString(1, user.getKcmc());
    			preparedStatement.setString(2, user.getRkjs());
    			preparedStatement.setString(3, user.getSkdd());
    			preparedStatement.executeUpdate();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally {
    			//关闭资源
    			DBUtil.close(resultSet);
    			DBUtil.close(preparedStatement);
    			DBUtil.close(connection);
    		}
    		
    	}
    }
    

      DBUtil.java

    package xihuan;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBUtil {
    	
    	public  static  Connection getConnection() {
    		try {
    			//1 加载驱动
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    		} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		String user = "root";
    		String password = "root";
    		String url = "jdbc:mysql://localhost:3306/web1?useUnicode=true&characterEncoding=utf-8&useSSL=false";
    		Connection connection = null;
    		try {
    			//2 创建链接对象connection
    			 connection = DriverManager.getConnection(url,user,password);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return connection;
    	}
    	
    	//关闭资源的方法
    	public static void close(Connection connection ) {
    		try {
    			if (connection != null) {
    				connection.close();
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	public static void close(PreparedStatement preparedStatement ) {
    		try {
    			if (preparedStatement != null) {
    				preparedStatement.close();
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	public static void close(ResultSet resultSet ) {
    		try {
    			if (resultSet != null) {
    				resultSet.close();
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    }
    

      UserException

    package xihuan;
    public class UserException extends RuntimeException{
    
    	public UserException() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	public UserException(String arg0, Throwable arg1, boolean arg2, boolean arg3) {
    		super(arg0, arg1, arg2, arg3);
    		// TODO Auto-generated constructor stub
    	}
    
    	public UserException(String arg0, Throwable arg1) {
    		super(arg0, arg1);
    		// TODO Auto-generated constructor stub
    	}
    
    	public UserException(String arg0) {
    		super(arg0);
    		// TODO Auto-generated constructor stub
    	}
    
    	public UserException(Throwable arg0) {
    		super(arg0);
    		// TODO Auto-generated constructor stub
    	}
    
    }
    

      addInput1.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>用户添加页面</title>
    </head>
    <body>
        <form action="add1.jsp" method="get">
            <table align="center" border="1">
                <tr >
                    <td>课程名称:</td>
                    <td>
                       <input type="text" name="kcmc"/>
                    </td>
                </tr>
                            <tr>
                    <td>任课教师:</td>
                    <td>
    
                       <select name="rkjs">
                       <option value="王建民">王建民</option>
                       <option value="刘丹">刘丹</option>
                       <option value="刘立嘉">刘立嘉</option>
                       <option value="王辉">王辉</option>
                       <option value="杨子光">杨子光</option>                   
                       </select>
                    </td>
                </tr>
                            <tr>
                    <td>上课地点:</td>
                    <td>
                       <select name="skdd">
                       <option value="基教">基教</option>
                       <option value="一教">一教</option>
                       <option value="二教">二教</option>
                       <option value="三教">三教</option>
                    </td>
                    <td>
                       <input type="text" name="jt"/>
                    </td>
                </tr>
                <tr align="center">
        			<td colspan="2">
        				<input type="submit" value="保存" />
        			</td>
        		</tr>
            </table>
         </form>
    </body>
    </html>
    

      add1.jsp

    <%@page import="xihuan.*"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <%
        //接受客户端传递过来的参数
        String kcmc= request.getParameter("kcmc"); 
        String rkjs= request.getParameter("rkjs");
        String skdd= request.getParameter("skdd");
        String jt= request.getParameter("jt");
        User f=new User();
        f.setKcmc(kcmc);
        f.setSkdd(skdd+jt);
        f.setRkjs(rkjs);
        add a = new add();
        a.add1(f);
    %>
    
    <body>
           保存成功<br>
    </body>
    </html>
    

    三、结果显示

    三、psp0级

    1.项目计划总结

    时间计划:上课时间10点-10点40,下午2点-3点,晚上6点-7点

    内容规划:上午完成最基本的连接录入,下午完成中间的异常情况,晚上撰写博客园总结收获

    2.时间记录日志

    实际时间:10点开始-10点43,下午1点42-2点24,晚上6点28-7点10,共计约2小时

    内容基本完成

    3.缺陷记录日志

    ①界面不美观

    ②有一些异常处理没有写到,比如录入为空时

    四、实验总结

    这次实验完成的很顺,因为前一天晚上看了四个多小时关于这方面的操作,主要是中间那部分选择老师和地点的,我没有按照老师的要求,而是做了一个下拉菜单,因为我看课程表都是可以选择的,这样更加方便一些。

  • 相关阅读:
    虚拟主机服务器错误404解决方法
    虚拟主机服务器错误404解决方法
    虚拟主机服务器错误404解决方法
    以太坊:Truffle开发入门
    区块链是低成本的工业化基因测序解决方案
    区块链公证和知识产权(IP)保护原理
    区块链公证和知识产权(IP)保护应用场景
    ACOUG China Tour 2019上海站,等你来约!
    解析MySQL基础架构及一条SQL语句的执行流程和流转
    jquery 查找节点
  • 原文地址:https://www.cnblogs.com/cairsha/p/7911522.html
Copyright © 2011-2022 走看看