cgb2106-day06 朱雀 2021-09-11 03:20 319阅读 0赞 ### 文章目录 ### * * 一,改造登录案例 * * \--1,概述 * \--2,改造 * 二,HTML * * \--1,概述 * \--2,入门案例 * \--3,使用Hbuilder * 三,常用标签 * * \--1,概述 * \--2,常用标签 * \--3,表格标签 * \--4,表单标签form * \--5,无法提交的问题 * 作业 ## 一,改造登录案例 ## ### –1,概述 ### 现在的写法中,出现了SQL注入攻击的现象. 原因是: 用户输入了非法字符\#,\#在SQL语句里是注释的意思,改变了SQL语义. 是Statement的传输器功能不够强大.要用PreparedStatement替换. Statement: 不安全,低效,SQL拼接复杂 PreparedStatement: 安全,高效,不需要SQL拼接直接用?作为占位符,再给?设置值–框架也在用 ### –2,改造 ### package cn.tedu.test; import java.sql.*; import java.util.Scanner; //测试用户表 public class Test2 { public static void main(String[] args) throws Exception { // method();//查询所有用户信息 method2();//根据用户名和密码查询,用户信息,查到了才能登录 } //模拟用户登录:利用JDBC,根据用户名和密码查询用户信息 private static void method2() throws Exception{ //注册驱动 Class.forName("com.mysql.jdbc.Driver"); //获取数据库的连接 String url="jdbc:mysql://localhost:3306/cgb2106?characterEncoding=utf8" ; Connection c = DriverManager.getConnection(url,"root","root"); String a = new Scanner(System.in).nextLine(); String b = new Scanner(System.in).nextLine(); //获取传输器 // Statement s = c.createStatement();//缺点:不安全,低 String sql = "select * from user where name=? and password=?"; //SQL骨架,?叫占位符 PreparedStatement ps = c.prepareStatement(sql); //设置参数 ps.setString(1,a);//给第一个?设置a的值 ps.setString(2,b);//给第二个?设置b的值 //执行SQL ResultSet r = ps.executeQuery(); //处理结果集 if( r.next() ){ //next()用来判断有没有数据,查到了返回true System.out.println("恭喜您,登录成功!"); }else{ System.out.println("用户名或者密码输入错误!"); } //释放资源 r.close(); ps.close(); c.close(); } //利用JDBC,查询所有用户信息 private static void method() throws Exception { //注册驱动 Class.forName("com.mysql.jdbc.Driver"); //获取数据库的连接 String url="jdbc:mysql://localhost:3306/cgb2106?characterEncoding=utf8" ; Connection c = DriverManager.getConnection(url,"root","root"); //获取传输器 Statement s = c.createStatement(); //执行SQL ResultSet r = s.executeQuery("select * from user"); //处理结果集 while( r.next() ){ //如果有数据就返回true String id = r.getString(1);//获取数据 String name = r.getString(2);//获取数据 String pwd = r.getString(3);//获取数据 System.out.println(id+name+pwd); } //释放资源 r.close(); s.close(); c.close(); } } ## 二,HTML ## ### –1,概述 ### 专门用来制作网页的技术,是超文本标记语言. 超文本: 比文本的功能要强大,网页中可以插入 图片 音频视频等... 标记: 也叫标签,用<???> ,不同的标签有不同的功能 ### –2,入门案例 ### <!doctype html> <html> <head></head> <body> he llo html~ hello html~ hello html~ <br> hello html~ hello html~ hello html~ </body> </html> ### –3,使用Hbuilder ### 新建项目-选中项目-新建-XX.html文件 ## 三,常用标签 ## ### –1,概述 ### 使用不同的标签,实现 在网页中 插入不同类型的元素 ### –2,常用标签 ### <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 6.输入框 --> <input type="text"/> <input type="password" placeholder="手机号"/> <input type="week"/> <input type="date"/> <input type="datetime"/> <input type="number"/> <input type="email"/> <input type="radio"/> 男 <input type="checkbox"/> 杨幂 <input type="button" value="点我"/> <!-- 5.超链接标签a href指定跳转到哪个网址 target是以什么方式打开(默认是_self当前窗口打开),_blank是新窗口打开 --> <a href="https://www.baidu.com/" target="_blank">百度一下</a> <a href="https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd=31%E7%9C%81%E5%8C%BA%E5%B8%82%E6%96%B0%E5%A2%9E%E6%9C%AC%E5%9C%9F%E7%A1%AE%E8%AF%8A55%E4%BE%8B&rsv_idx=2&rsv_dl=fyb_n_homepage&hisfilter=1" target="_blank">31省区市新增本土确诊55例</a> <a name="top">我是顶部</a> <h2>广东富婆通讯录</h2> <h2>广东富婆通讯录</h2> <h2>广东富婆通讯录</h2> <h2>广东富婆通讯录</h2> <h2>广东富婆通讯录</h2> <!-- 锚定: 回到一个固定位置 --> <a href="#top">点我回到顶部</a> <!-- 1.标题标签: 在网页中 插入标题 h1大~h6小--> <h1>风雨有我在 人民请放心</h1> <h2>风雨有我在 人民请放心</h2> <h3>风雨有我在 人民请放心</h3> <h4>风雨有我在 人民请放心</h4> <h5>风雨有我在 人民请放心</h5> <h6>风雨有我在 人民请放心</h6> <!-- 2.列表标签: ul(unorderlist)+li 无序列表--> <ul> <li>北京严控中高风险地区人员进京</li> <li>北京严控中高风险地区人员进京</li> </ul> <!-- 3.列表标签: ol(orderlist)+li 有序列表--> <ol> <li>北京严控中高风险地区人员进京</li> <li>北京严控中高风险地区人员进京</li> </ol> <!-- 4.图片标签img : 通过src属性指定图片的位置 width:修饰了图片的宽度 height:修饰了图片的高度(单位是像素) --> <img src="a.png" width="150px" height="50px"/> <img src="a.png" width="150px" height="50px"/> </body> </html> ### –3,表格标签 ### <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试 表格标签</title> </head> <body> <!-- 练习表格: th标签比td多了元素加粗的效果 colspan用来合并列 rowspan用来合并行 --> <table border="1px"> <tr> <th>总页面流量</th> <th>共计来访</th> <th>会员</th> <th>游客</th> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> </tr> <tr> <td>1</td> <td colspan="3">2</td> </tr> </table> <!-- 1. table向网页中插入表格 tr表示表格里的行元素,td表示行里的列元素 width / height 宽度/高度 border边框 bgcolor是背景颜色 cellspacing单元格间距 合并列 colspan 合并行 rowspan --> <table width="300px" height="50px" border="3px" bgcolor="pink" cellspacing="0px"> <tr> <td colspan="2">11</td> <td>13</td> </tr> <tr> <td>21</td> <td>22</td> <td rowspan="2">23</td> </tr> <tr> <td>31</td> <td>32</td> </tr> </table> </body> </html> ### –4,表单标签form ### 本质就是一个表格,表单 比表格 多了 数据提交的 功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试 表单标签</title> </head> <body> <!-- 创建表单, 下拉框:select(下拉) + option(选项) 文件上传: <input type="file"/> 文本域:<textarea></textarea> --> <h1>注册表单</h1> <form> <table border="1px" cellspacing="0px" bgcolor="lightgray"> <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> <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"> <input type="button" value="提交"/> <input type="button" value="重置"/> </td> </tr> </table> </form> </body> </html> ### –5,无法提交的问题 ### 步骤: 1,把提交的按钮必须改成submit类型 2,给标签加name属性 3,当提交数据时,会把用户输入的信息jack提交给服务器 http://127.0.0.1:8848/cgb2106/test03.html?user=jack http://127.0.0.1:8848/cgb2106/test03.html?user=12&abc=123&age=18 4,改造网页文件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试 表单标签</title> </head> <body> <!-- 创建表单, 下拉框:select(下拉) + option(选项) 文件上传: <input type="file"/> 文本域:<textarea></textarea> --> <h1>注册表单</h1> <form> <table border="1px" cellspacing="0px" bgcolor="lightgray"> <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> <!-- 想单选就必须设置name属性,而且值必须相同 设置好name属性数据就可以提交了,但是默认提交了on --> <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> <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"> <input type="submit" value="提交"/> <input type="button" value="重置"/> </td> </tr> </table> </form> </body> </html> ## 作业 ## 1,完善现在的form表单,能够提交数据 2,练习学生管理系统的表单
相关 cgb2106-day18 文章目录 一,Mybatis入门案例 \--0,导入mybatis的jar包 \--1,核心配置文件 港控/mmm°/ 2021年09月11日 03:28/ 0 赞/ 224 阅读
相关 cgb2106-day12 文章目录 一,ElementUI的表单 \--1,测试 \--2,效果 二,Maven 「爱情、让人受尽委屈。」/ 2021年09月11日 03:24/ 0 赞/ 303 阅读
相关 cgb2106-day13 文章目录 一,SpringMVC \--1,概述 \--2,原理 \--3,创建Module 拼搏现实的明天。/ 2021年09月11日 03:24/ 0 赞/ 299 阅读
相关 cgb2106-day08 文章目录 一,模拟服务器解析数据 二,实现CSS代码和HTML代码的分离 \--1,新建css文件 \ 古城微笑少年丶/ 2021年09月11日 03:22/ 0 赞/ 307 阅读
还没有评论,来说两句吧...