[JavaWeb教程]第四章-java数据库开发

    jdbc

    内存中的数据在程序重启或者服务器重启时会丢失,所以数据需要保存在硬盘中,关系型数据库是比较常用的数据存储方式,采用二维表(行列)模型存储的方式更加容易理解,关系型数据库有很多oracle, mysql 和 sql server是比较常用的,java web项目中经常使用mysql作为数据库存储。
    1、sql是面向表的语言,java是面向对象的语言,所以java通过jdbc访问数据库时,最好有一个映射类,把sql的操作封闭在Dao(database access object数据库访问层)层,而不向其他的java代码中扩散,因此这里创建了Po(persistent object 持久化对象)对象StudentPo,属性与表列一一对应。
    2、java与mysql的交互是通过网络连接实现的,所以我们在执行操作之前需要与mysql建立连接,这里把建立连接的过程封装为一个静态方法中ConnectionUtil.getConnection();
    Class.forName(driver); //classLoader,加载对应驱动
    conn = (Connection) DriverManager.getConnection(url, username, password); //创建与mysql的连接,url为地址,username用户名,password密码。其中url的格式为jdbc:mysql://ip:端口/数据库名称?useUnicode=true&characterEncoding=UTF8,
    ”useUnicode=true&characterEncoding=UTF-8“设置字符传输编码方式为utf-8为了解决中文乱码问题。
    3、数据的交互模式:
    创建链接 ; Connection conn = ConnectionUtil.getConnection();
    创建执行语句;pstmt = conn.prepareStatement(sql);
    设置参数;pstmt.setInt(1, id);每个”?”表示一个参数,从1开始顺序设置。
    执行语句;rowNum = pstmt.executeUpdate();更新(增删改)执行,返回影响的行数
    pstmt.executeQuery();查询执行,返回结果集ResultSet
    遍历结果集,把数据存储到PO中;rs.next()获取下一行,rs.getString(“name”)获取该行对应单元格的值。
    关闭执行语句;pstmt.close();
    关闭连接;conn.close();

[JavaWeb教程]第三章-Servlet开发

    servlet特色图片

    前面我们介绍到了form表单,其中action属性是把表单数据提交的路径,那么数据在服务器端是怎么处理的呢?我们一起来学习一下java servlet开发实现数据在服务器端的处理。
    request,请求,前面我们学习Socket时,讲到了socket有一个输入流,一个输出流,用于客户端和服务器端之间通信。这里的request就可以理解为输入流的封装,实现了客户端和服务器端的http交互。
    response,应答,输出流的封装。
    session,每次点击,提交数据都是一次交互,客户端(这里可以理解为浏览器)和服务器端的一段时间内的全部的交互称为回话(session),session有过期时间,两次请求超出了服务器设置(可变更)的session过期时间,第二次请求就会创建新的回话。
    cookie,客户端按照域名存储的键值对信息,可以持久化到硬盘。键值对中有一个key sessionId(也可以变更,但是作用类似)是实现session的关键数据。当客户端访问服务器端时,服务器端会查看是否存在sessionId如果存在,则会把本次请求和session关联,如果不存在则创建新的session,并把sessionId赋值给请求的cookie,客户端会把cookie信息在本地保存。大部分的sessionId的cookie信息时内存存储,没有持久化到硬盘,所以重启浏览器会导致创建新的session。
    servletContext,实例容器,每个web服务器存在一个servletContext,启动时创建,关闭时销毁,所以我们重启服务后学生信息个数被清空。

[JavaWeb教程]第二章-jQuery简明开发教程

    jquery

    为了给网页增加动态效果,设计了在浏览器(最近新出的note.js技术,可以使用javascript在服务端运行,这里不讨论这点)上运行的javascript,直接使用javascript不太方便,所以基于javascript语言开发了很多工具包,其中最常用的一个就是jquery,也是本章学习的主题。
    我们基本把jquery常用的方法都介绍了一遍,包括各种选择器,数据获取,文档处理以及数组遍历,Ajax提交工具等,一篇不到1万字的文章肯定不能完全介绍jquery,开发中需要不断的查参考手册才能使用更快速的方法解决问题。

[JavaWeb教程]第一章-HTML简明开发教程

    html

    网页界面一般会有网页设计师开发,程序员在开发好的静态界面上做动态扩展,所以也需要学习html语言,会一些简单的开发和修改。另外很多小公司没有专业的网页设计师,程序员会在一些基础上(就是扒别人做好的网页)做开发和变更,因此作为一个Java工程师有必要学习一下HTML基础开发。本文介绍常用的h,span,div,br,font,i,b,a,img,ul,ol,li,tatble,form等常用标签。