《web应用技术》第二次课后练习

1、form表单值的获取

input2.jsp

<%--
  Created by IntelliJ IDEA.
  User: 蔡依婷
  Date: 2024/4/8
  Time: 15:49
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

    <form action="output2.jsp" method="post">
        <label for="sss">用户名:</label>
        <input type="text" name="username" id="sss"><br>

        <label for="ccc">密码:</label>
        <input type="password" name="password" id="ccc"><br>

        性别:
        <input type="radio" name="gender" value="男" id="male">
        <label for="male">男</label>
        <input type="radio" name="gender" value="女" id="female">
        <label for="female">女</label>
        <br>

        爱好:
        <input type="checkbox" name="hobby" value="旅游">旅游
        <input type="checkbox" name="hobby" value="电影">电影
        <input type="checkbox" name="hobby" value="游戏">游戏
        <input type="checkbox" name="hobby" value="音乐">音乐
        <br>

        城市:
        <select name="city">
            <option value="beijing">北京</option>
            <option value="shanghai">上海</option>
            <option value="guangzhou">广州</option>
            <option value="wuhan">武汉</option>
        </select>
        <br>

        <br>
        <input type="submit" value="注册">
        <input type="reset" value="重置">
    </form>

</body>
</html>

 output.jsp

<%--
  Created by IntelliJ IDEA.
  User: 蔡依婷
  Date: 2024/4/8
  Time: 19:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <ul style="list-style:none;line-height:30px">
    <li>
        输入用户名为:<%=new String(request.getParameter("username").getBytes("ISO8859_1"),"UTF-8")%>
    </li>

    <li>
        密码为:<%=new String(request.getParameter("password").getBytes("ISO8859_1"),"UTF-8")%>
    </li>

    <li>
        选择性别为:<%=new String(request.getParameter("gender").getBytes("ISO8859_1"),"UTF-8")%>
    </li>

    <li>
        选择的个人爱好为:
        <%
            String[] like=request.getParameterValues("hobby");
            for(int i=0;i<like.length;i++){
        %>
        <%=new String(like[i].getBytes("ISO8859_1"),"UTF-8")+"&nbsp"%>
        <%}%>
    </li>

    <li>
        选择所在城市:<%=new String(request.getParameter("city").getBytes("ISO8859_1"),"UTF-8")%>
    </li>
    </ul>
</body>
</html>

运行input2.jsp,得到以下结果,输入信息,页面自动跳转到output2.jsp


 

2、mysql数据库及表的建立(参见视频)

2.1配置好相关环境变量

在电脑高级系统设置中新增环境变量

 

2.2验证是否成功添加

打开电脑 命令提示符,选择以管理员身份运行,输入mysql

2.3初始化MYSQL

接着输入mysqld --initialize-insecure后,继续输入mysqld -install(注意:这里有空格且不能省略)

2.4启动并登录MYSQL

输入net start mysql,然后输入mysql -uroot -p+密码,这里我是第二次登录,密码之前已经设置好了

2.5建立navcat与MySQL的连接并建立数据库及表

安装完成navcat

点击连接,选择和mysql建立联系,右击选择新建数据库,在弹出的窗口,输入数据库名称以及字符集,点击确定,完成创建

在新建的数据库中,右健点击表,选择新建表,在右侧会弹出窗口,开始设计表的结构,然后保存 


 

3、maven项目的建立(参见视频)

3.1下载好Maven后,配置其环境变量

 3.2检验是否按照成功

在命令行中输入指令mvn -v,出现以下界面,证明安装成功

3.3创建Maven项目


 

4、使用jdbc进行数据库的增删改查操作。(参见源代码)

 创建工程,导入驱动jar包

在student数据库中建立一个表stu_1,以下增删改查都基于此表

4.1增加一行数据

package com.itccc.jdbc;
import java.sql.*;

public class select_2 {
    public static void main(String[] args) throws Exception{

        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        String url="jdbc:mysql://127.0.0.1:3306/student?useSSL=false";
        String username="root";
        String password="caiyiting123";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3.定义sql
        String sql = "insert into stu_1(SNO,SSID,Ssex) values('20220204','4','男')";

        //4.获取执行sql的对象Statement
        Statement stmt = conn.createStatement();

        //5.执行sql
        int count = stmt.executeUpdate(sql);//受影响的行数

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();

    }
}

  运行程序后,打开navicat查看stu_1表,刷新表,得到以下结果:

增加了一行SNO为20220104,SSID为4,Ssex为男的数据

4.2删除一行数据

将增加一行数据代码中String sql = "insert into stu_1(SNO,SSID,Ssex) values('20220204','4','男')";等式后面的内容改为"delete from stu_1 where SNO=20220204",运行程序,再查看stu_1表得到以下结果:

刚刚新增的SNO为20220204一行被删除

4.3修改表 

 将增加一行数据代码中String sql = "insert into stu_1(SNO,SSID,Ssex) values('20220204','4','男')";等式后面的内容改为"update stu_1 set SNO=20220107 where SSID=1",运行程序,再查看stu_1表得到以下结果:

编号为1的学生学号重20220101变成了20220107 

4.4查找表的某一列

package com.itccc.jdbc;
import java.sql.*;

public class jdbcdemo {
    public static void main(String[] args) {

        try {
            Class.forName("com.mysql.jdbc.Driver");

            Connection c = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/student?characterEncoding=UTF-8",
                            "root", "caiyiting123");

            Statement s = c.createStatement();

            // 准备sql语句
            // 注意: 字符串要用单引号'
            String sql = "select * from stu_1";
            ResultSet rs =s.executeQuery(sql);

            while (rs.next()) {
                System.out.println( rs.getString(2) );
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

运行结果,查找到表的第二行:

 表的第二行SSID被打印出来


 

5、jdbc在pom.xml中的编辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值