3.13周测

本文通过示例讲解了如何在Java中使用集合存储Student对象,并演示了JDBC查询数据库的方法。同时,对比了JSP中静态和动态引入的区别,介绍了常用的隐式对象及Request方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7.写一个main方法,使用全字段的构造器创建5个Student对象,并放入到一个集合中(list)中,使用迭代器遍历List,并删除一个符合条件code值的对象。
public class Test {

     public static voidmain(String[] args) {

              Student jack=new Student("Jack",20);

              Student nancy =new Student("Nancy", 18);

              Student lucy =new Student("Lucy", 14);

              Student mike =new Student("Mike", "23");

              List<Student> stus = new ArrayList<Student>();

              stus.add(jack);

              stus.add(nancy);

              stus.add(lucy);

              stus.add(mike);
              
              Student joy =new Student("Joy", 15);

              stus.add(joy);

              Iterator<Student>it = stus.iterator();

              while(it.hasNext()) {

                      Student stu = it.next();

                      System.out.println(stu);

                      if(stu.getName().equals("Jack")) {

                               it.remove();

                      }

           } 
}

9.使用JDBC书写一段查询student表的代码,从控制台格式化打印输出,注意控制台打印的格式。
try {

    // 1. 选择数据库:加载数据库驱动

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

    // 2. 连接数据库

    conn = DriverManager.getConnection(url,user, password);

    // 3. 创建数据库查询

    ps =conn.prepareStatement("SELECT * FROM student WHERE name = ?;");

    ps.setString(1, name);

    // 4. 获取查询结果

    int i =ps.executeUpdate();

    System.out.println("一共执行了" +i + "条");

} catch(ClassNotFoundException e) {

    System.out.println("数据库驱动没有找到");

    e.printStackTrace();

} catch (SQLException e) {

    e.printStackTrace();

} catch (Exception e) {

    e.printStackTrace();

} finally {

    // 5. 关闭查询和连接

    try {

             if (null != ps){

                      ps.close();

             }

             if (null !=conn) {

                      conn.close();

             }

    } catch (SQLExceptione) {

             e.printStackTrace();

    }

}

17.JSP中两种include的区别
在静态引入中,子页面是原封不动的把页面的信息放到了父页面中,父页面把所有页面的页面信息都收集完成后,统一的进行解析,完成页面的输出。这样,如果在不同的页面中定义了相同名称的变量,那么就会产生冲突。

但是在动态引入中,由于每一个页面都是单独的进行解析的。再交给父页面合成生成一个 HTML 页面,每个子页面和父页面中定义的 Scriptlet 是不会产生冲突的。

18.常用隐式对象有哪些,以及它们的用途
隐式对象 作用
pageContext 当前页面共享数据,还可以获取其他八个内置对象
request 一次请求访问的多个资源(转发)
session 一次会话的多个请求间
application 所有用户间共享数据
response 响应对象
page 当前页面(Servlet)的对象
out 输出对象,数据输出到页面上
config Servlet的配置对象
exception 异常对象

19.Request常见方法有哪些
公共接口类HttpServletRequest继承自ServletRequest。客户端浏览器发出的请求被封装成为一个HttpServletRequest对象。对象包含了所有的信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在其内。

一.获得请求信息
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议、主机名、端口
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST

二.获取参数
request.getParameter(): 用于获取单值的参数
request.getParameterValues(): 用于获取具有多值的参数。
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。

三.获取头部信息
request.getHeader() 获取浏览器传递过来的头信息。
比如getHeader(“user-agent”) 可以获取浏览器的基本资料,这样就能判断是firefox、IE、chrome、或者是safari浏览器
request.getHeaderNames() 获取浏览器所有的头信息名称,根据头信息名称就能遍历出所有的头信息

20.页面间对象传递的方法
page,request,session,application

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值