热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVA笔记no.3

1.JDBC访问数据库的流程(写出过程)(1)注册驱动JDBC连接串private static final StringCONN_URL jdbc:mysql:localhos

1.JDBC访问数据库的流程(写出过程)

  1)注册驱动

    //JDBC连接串

private static final String CONN_URL = "jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false";

private static final String USERNAME = "root";

    private static final String PWD = "13585589602qxh";

Connection conn = null;

    Class.forName("com.mysql.jdbc.Driver");  //在类路径中查找驱动入口点类

  2)建立连接(Connection

   conn = DriverManager.getConnection(CONN_URL,USERNAME,PWD);

  3)创建数据库操作对象(PreparedStatement)用于执行SQL语句

  4)执行SQL语句

  5)处理执行结果(ResultSet

  6)释放资源

    public static void releaseRes(Connection conn,PreparedStatement pstmt,ResultSet rset){

try {

if(rset!=null) rset.close();

if(pstmt!=null) pstmt.close();

if(conn!=null) conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

        }

 

2.说明连接池是什么及其作用

3.编程题(30分):写一个完整的网页(web工程),如添加操作

  (网页到servletserviceDaomysql;需要用到sql语句;JDBC的存盘,即保存数据;JSP表单验证

  1)表单验证

  2JDBC存盘

   private static final String ADD_STU = "insert into student values(?,?,?,?,?)";

  public void regStu(Student stu) {

Connection conn = DBUtils.getConn();

PreparedStatement pstmt = null;

try {

pstmt = conn.prepareStatement(ADD_STU);

pstmt.setString(1, stu.getStuNo());

pstmt.setString(2, stu.getStuName());

pstmt.setString(3, stu.getStuSex());

pstmt.setDouble(4, stu.getStuMark());

//[a,b,c] -> a|b|c

StringBuffer sb = new StringBuffer();

for(String hobby:stu.getStuHobbies())

sb.append(hobby).append("|");

sb.deleteCharAt(sb.length()-1);

pstmt.setString(5, sb.toString());

pstmt.executeUpdate();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

if(e.getMessage().contains("Duplicate entry"))

throw new SmsException("该学号["+stu.getStuNo()+"]已存在,注册失败!");

}finally{

DBUtils.releaseRes(conn, pstmt, null);

}

}

4.JSP转译生成的java类属于什么样的包

  JSP转译后会生成一个同名的java文件、一个同名的class文件,位于D:\apache-tomcat-8.5.6\work\Catalina\localhost\sms\org\apache\jsp中。

5.JSP页面中JSP语法以什么为基础

  xml为基础。

6.说明JSPservlet间的关系

  JSP是变相的servlet

  1JSP页面调用servlet

   ①通过表单:访问地址”>……

   ②通过超链接:”servlet 访问地址+?要传递的参数)>……

  2servlet跳转到JSP页面:

   ①转向:request.requestDispatcher(“load_student.jsp”).forword(request,response);

   ②重定向:response.sendRedicret(“load_student.jsp”);

  3servlet调用另一个servlet

   同(2servlet跳转到JSP页面

  4JSP跳转到另一个JSP”load_student.jsp”>

7.说明servlet两种协作方式及其特点

  1forword协作(转递请求)页面的路径是相对路径。只能跳转到本web应用中的页面上。跳转后浏览器地址栏不会变化。服务器在向客户端发送数据之前,是先将数据输出到缓冲区,然后将缓冲区中数据发送给客户端。

  2include协作(包含响应内容):把另一个servlet处理过后的内容拿过来,包括自身的处理结果都会返回给浏览器。

8.说明过滤器、过滤器链

  1)过滤器:能够对servlet容器的请求和响应对象进行检查和修改。

  2)过滤器链:串联的几个过滤器加上资源(resource)形成一个过滤器链。

JAVA 笔记no.3


推荐阅读
  • 本文介绍如何在 C++ 中使用链表结构存储和管理数据。通过具体示例,展示了静态链表的基本操作,包括节点的创建、链接及遍历。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ... [详细]
  • 深入理解Lucene搜索机制
    本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本文详细介绍超文本标记语言(HTML)的基本概念与语法结构。HTML是构建网页的核心语言,通过标记标签描述页面内容,帮助开发者创建结构化、语义化的Web页面。 ... [详细]
  • 本文探讨了在使用Selenium进行自动化测试时,由于webdriver对象实例化位置不同而导致浏览器闪退的问题,并提供了详细的代码示例和解决方案。 ... [详细]
  • 算法题解析:最短无序连续子数组
    本题探讨如何通过单调栈的方法,找到一个数组中最短的需要排序的连续子数组。通过正向和反向遍历,分别使用单调递增栈和单调递减栈来确定边界索引,从而定位出最小的无序子数组。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • Linux中的yum安装软件
    yum俗称大黄狗作用:解决安装软件包的依赖关系当安装依赖关系的软件包时,会将依赖的软件包一起安装。本地yum:需要yum源,光驱挂载。yum源:(刚开始查看yum源中的内容就是上图 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
author-avatar
_路過蓅颩_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有