cgb2108-day07

文章目录

    • 一,改造JDBC释放资源
      • --1,完善工具类
      • --2,修改测试类
    • 二,HTML
      • --1,入门案例
      • --2,常用标签
      • --3,表格标签
      • --4,表单标签
      • --5,提交数据
    • 作业
      • 制作表单

一,改造JDBC释放资源

–1,完善工具类

package cn.tedu.jdbc;

import java.sql.*;

//提供丰富的方法,方便的jdbc操作
public class JDBCUtils {
     
    //1,获取数据库的连接(注册驱动+获取连接)
    /**
     * 获取数据库的连接
     * @return 数据库的连接对象Connection
     * @throws Exception
     */
    static public Connection getConnection() throws Exception{
     
        //1,注册驱动
        Class.forName("com.mysql.jdbc.Driver");//全路径
        //2,获取数据库的连接(用户名/密码)
        //jdbc连接mysql数据库的协议//本机:端口号/数据库的名字   解决中文乱码             指定时区                     关闭权限检验
        String url="jdbc:mysql://localhost:3306/cgb2108?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false" ;
        Connection c = DriverManager.getConnection(
                url,"root","root");
        return c ;//返回给调用者
    }
    /**
     * 释放资源,提取了长长的代码
     * @param r 结果集资源
     * @param s 传输器资源
     * @param c 连接资源
     */
    static public void close(ResultSet r, PreparedStatement s,Connection c){
     
        if(r != null){
      //避免了空指针异常
            try {
     
                r.close();
            } catch (SQLException throwables) {
     
                throwables.printStackTrace();
            }
        }
        if(s != null) {
     
            try {
     
                s.close();
            } catch (SQLException throwables) {
     
                throwables.printStackTrace();
            }
        }
        if(c != null) {
     
            try {
     
                c.close();
            } catch (SQLException throwables) {
     
                throwables.printStackTrace();
            }
        }
    }

}

–2,修改测试类

package cn.tedu.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//JDBC的练习
public class Test3 {
     
    public static void main(String[] args) throws Exception{
     
        method();//查询部门表的<100数据
//        method2();//向dept表里插入数据
    }
    //向dept表里插入数据
    //为了资源一定会被释放?
    // 把释放资源的代码放入finally里+扩大变量的作用范围
    // +在try里修改变量的默认值null+在finally里进行try catch
    private static void method2(){
     
        //扩大变量的作用范围?因为想让finally也使用
        Connection c = null ;
        PreparedStatement p = null;
        try{
     
            c = JDBCUtils.getConnection();
            //插入数据时怎么决定要几个问号? 要看表里有几个字段需要设置值
            String sql = "insert into dept values(?,?,?)" ;
            p = c.prepareStatement(sql);
            //设置SQL的参数
            p.setObject(1,666);
            p.setObject(2,"软件测试部");
            p.setObject(3,"大山西");
            //执行SQL
            int rows = p.executeUpdate();//执行增删改的SQL
            //TODO 会返回结果集吗?返回了的是啥?
            System.out.println("影响的行数是: "+rows);
        }catch (Exception e){
     
            System.out.println("出错啦~");
        }finally {
     //资源的释放是一定要执行的
            //调用工具类里的close(),增删改没有结果集,就不关闭结果集了,传入null就行了
            JDBCUtils.close(null,p,c);
        }
    }
    //查询部门表的<100数据
    private static void method() {
     
        Connection c =null;
        PreparedStatement s =null;
        ResultSet r =null;
        try{
     
            c = JDBCUtils.getConnection();//利用工具类,获取数据库的连接
            //获取传输器,执行SQL骨架
            String sql = "select * from dept where deptno < ?";
             s = c.prepareStatement(sql);
            //设置SQL的参数
            s.setInt(1,100);//给第一个?设置100
             r = s.executeQuery();//执行查询的SQL语句
            //处理结果集
            while(r.next()){
     //next()判断有数据吗
                //获取数据getXxx()--获取表里的dname字段的值,并打印
                String str = r.getString("dname");
                System.out.println(str);
            }
        }catch (Exception e){
     
           //项目上线阶段,给出的解决方案,比如输出
            System.out.println("数据库连接出错~~");
           //项目开发调试阶段,给出的解决方案,根据报错信息
            e.printStackTrace();
        }finally {
     //关闭资源
            JDBCUtils.close(r,s,c);//调用工具类里的close()
        }
    }
}

二,HTML

–1,入门案例


DOCTYPE html> 
<html> 
	<head> 
		<meta charset="utf-8">
		<title>这是测试文件title> 
	head>
	<body> 
		你好 html~ <br/>  
		你好 html~ <br/>
		你好 ht      ml~
	body>
html>

–2,常用标签

DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 常用标签title>
	head>
	<body>
		
			<h1>1号标题h1>
			<h2>2号标题h2>
			<h3>3号标题h3>
			<h4>4号标题h4>
			<h5>5号标题h5>
			<h6>6号标题h6>
		
			<ul> 
				<li>直击山西水灾:住房地基塌陷li>
				<li>经济日报解读美团垄断案li>
			ul>
			<ol> 
				<li>直击山西水灾:住房地基塌陷li>
				<li>经济日报解读美团垄断案li>
			ol>
			
			<img src="a.png"/>
			<img src="2.jpg" width="300px" height="500px"/>
			<br />
		
			<a href="https://www.baidu.com/" target="_blank">百度一下a>
			
			<a href="https://www.baidu.com/" target="_blank">
				<img src="a.png" /> 
			a>
			
			<ol> 
				<li> <a href="https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd=%E7%9B%B4%E5%87%BB%E5%B1%B1%E8%A5%BF%E6%B0%B4%E7%81%BE%3A%E4%BD%8F%E6%88%BF%E5%9C%B0%E5%9F%BA%E5%A1%8C%E9%99%B7&rsv_idx=2&rsv_dl=fyb_n_homepage&hisfilter=1">直击山西水灾:住房地基塌陷a> li>
				<li> <a href="#">经济日报解读美团垄断案a> li>
			ol>
			
			<a name="top">我是顶部a>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
				<h3>北京富婆通讯录h3>
			<a href="#top">点击,回到顶部a> 
		
			普通的输入框: <input type="text" />
			密码输入框: <input type="password" />
			数字输入框: <input type="number" />
			年月日输入框: <input type="date" />
			周输入框: <input type="week" />
			按钮: 
				<input type="button" value="保存"/>
				<button>登录button>
			提交按钮:把前端页面输入的数据提交给后端java程序处理
				<input type="submit" value="注册"/>
				<button type="submit">提交button>
			单选:<input type="radio" />男
			多选:<input type="checkbox"/>杨幂
				<input type="checkbox"/>迪丽热巴
				<input type="checkbox"/>Anglelababa
				
		<br />
		<br />
		<br />
		<br />
		<br />
		<br />
		<br />
		<br />
	body>
html>


–3,表格标签

DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 表格表单标签title>
	head>
	<body>
		
		<table border="2px" width="500px" bgcolor="pink"
			   bordercolor="yellow" cellspacing="0">
			<tr>
				<td colspan="2">11td>
				<td>13td>
			tr>
			<tr>
				<td>21td>
				<td>22td>
				<td rowspan="2">23td>
			tr>
			<tr>
				<td>31td>
				<td>32td>
			tr>
		table>
		
		
		<h1>流量调查表h1>
		<table border="1px" bordercolor="green">
			<tr>
				<th>总页面流量th>
				<th>共计来访th>
				<th>会员th>
				<th>游客th>
			tr>
			<tr>
				<td>21td>
				<td>22td>
				<td>23td>
				<td>24td>
			tr>
			<tr>
				<td>31td>
				<td>32td>
				<td>33td>
				<td>34td>
			tr>
			<tr>
				<td>41td>
				<td>42td>
				<td>43td>
				<td>44td>
			tr>
			<tr>
				<td>平均每人浏览td>
				<td colspan="3">1.58td>
			tr>
		table>
		
	body>
html>

–4,表单标签

DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 表单标签title>
	head>
	<body>
	
		<form>
			<h1>注册表单h1>
			<table bgcolor="lightgray" border="1px" 
				bordercolor="green" cellspacing="0"
				width="500px">
				<tr>
					<td>用户名:td>
					<td>
						<input type="text" />
					td>
				tr>
				<tr>
					<td>密码:td>
					<td>
						<input type="password" />
					td>
				tr>
				<tr>
					<td>确认密码:td>
					<td>
						<input type="password" />
					td>
				tr>
				<tr>
					<td>昵称:td>
					<td>
						<input type="text" />
					td>
				tr>
				<tr>
					<td>邮箱:td>
					<td>
						<input type="email" />
					td>
				tr>
				<tr>
					<td>性别:td>
					<td>
						<input type="radio" /><input type="radio" />td>
				tr>
				<tr>
					<td>爱好:td>
					<td>
						<input type="checkbox" />篮球
						<input type="checkbox" />足球
						<input type="checkbox" />乒乓球
					td>
				tr>
				<tr>
					<td>城市:td>
					<td>
						<select> 
							<option>-请选择-option> 
							<option>北京option>
							<option>广东option>
						select>
					td>
				tr>
				<tr>
					<td>头像:td>
					<td>
						<input type="file" />
					td>
				tr>
				<tr>
					<td>验证码:td>
					<td>
						<input type="text" />
						<img src="a.png" />
						<input type="button" value="点我换一张"/>
					td>
				tr>
				<tr>
					<td>自我描述:td>
					<td>
						<textarea>textarea> 
					td>
				tr>
				<tr>
					<td colspan="2" align="center">
						<input type="submit" />
						<input type="reset" value="重置"/>
					td>
				tr>
			table>
		form>
	body>
html>


–5,提交数据

DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试 表单标签title>
	head>
	<body>
	
		<form>
			<h1>注册表单h1>
			<table bgcolor="lightgray" border="1px" 
				bordercolor="green" cellspacing="0"
				width="500px">
				<tr>
					<td>用户名:td>
					<td>
						<input type="text" name="user"/>
					td>
				tr>
				<tr>
					<td>密码:td>
					<td>
						<input type="password" name="pwd" />
					td>
				tr>
				<tr>
					<td>确认密码:td>
					<td>
						<input type="password" name="repwd"/>
					td>
				tr>
				<tr>
					<td>昵称:td>
					<td>
						<input type="text" name="nick"/>
					td>
				tr>
				<tr>
					<td>邮箱:td>
					<td>
						<input type="email" name="mail" />
					td>
				tr>
				<tr>
					<td>性别:td>
					<td> 
						<input type="radio" name="sex" value="1"/><input type="radio" name="sex" value="0"/>td>
				tr>
				<tr>
					<td>爱好:td>
					<td>
						<input type="checkbox" />篮球
						<input type="checkbox" />足球
						<input type="checkbox" />乒乓球
					td>
				tr>
				<tr>
					<td>城市:td>
					<td>
						<select> 
							<option>-请选择-option> 
							<option>北京option>
							<option>广东option>
						select>
					td>
				tr>
				<tr>
					<td>头像:td>
					<td>
						<input type="file" />
					td>
				tr>
				<tr>
					<td>验证码:td>
					<td>
						<input type="text" />
						<img src="a.png" />
						<input type="button" value="点我换一张"/>
					td>
				tr>
				<tr>
					<td>自我描述:td>
					<td>
						<textarea>textarea> 
					td>
				tr>
				<tr>
					<td colspan="2" align="center">
						<input type="submit" />
						<input type="reset" value="重置"/>
					td>
				tr>
			table>
		form>
	body>
html>

作业

制作表单

cgb2108-day07_第1张图片

你可能感兴趣的