javaweb¶
考试范围¶
1-6章,10章
第1章 网页开发基础¶
HTML¶
例子:
ApacheConf | |
---|---|
1 2 3 4 5 6 7 8 9 10 |
|
- 定义:超文本标记语言
- 后缀名: html或者htm
- 元素:
- doctype: 一条指令,用于向浏览器说明html文件使用哪种HTML规范
- html标签: 根标签
- head标签: 头部标签
- body标签:主体标签
- 标签类型
- 单标签:<标签名 />。 不需要选择的时候就直接使用单标签进行描述
- 双标签: <标签名> </ 标签名>
- 注释标签
- 常见的HTML标签
- 段落,行内,换行标签
- 文本样式标签
- 表格标签
-
表单标签:网页上允许输入信息的区域
- 表单域:action=url, method=post/get,name="xxx"
- 表单:
- 使用input单标签
- 文本:text; 单选ratio; 多选:checkbox; 文件上传:file; 提交: submit;重置: reset
- 多文本标签:textarea cols= rows=
-
列表标签:
-
无序列表:ul + li
- 有序列表:ol + li
- 超链接标签
- 图像标签
CSS¶
- 定义:层叠样式表
- 引用方式:
- 行内式(内联式):标签 + style
- 内嵌式:将css代码集中写在head部分,并用style标签定义
- 外链式:常用,将css文件的链接标签(link)写在head标签中。需要定义:href,type,relation
- 导入式:了解即可
- 选择器和常用属性
- 类型:范围从大到小
- 通配符选择器:能匹配所有元素
- 标签选择器:通过标签名称来选择
- 类选择器:通过标签的class属性选择,可以不唯一
- id选择器:唯一标识某个标签
JS¶
- 定义:一种脚本语言,不需要进行编译,直接嵌入HTML页面中,把静态的页面转换为和用户交互的动态效果页面
- 组成
- ES:语法标准
- DOM:文档对象模型,可对页面的各种元素交互
- BOM:浏览器对象模型,可以通过BOM对浏览器进行交互
- 引入方式
- 行内式:比如在input控件中引入
- 内嵌式:通过script标签
- 外链式:同样通过script标签 + src 标签部分引入JS文件
- 数据类型
- Number
- String
- Boolean
- Object
- Null
- Undefined:指变量被创建,但是没有被赋值的时候所拥有的值
- 变量:用var声明
- DOM
- 例如一个HTML文件可以做出一个DOM树(P22)
- head和body是两个分支
- BOM
- 组成
- Document
- Location
- Navigator
- Screen
- History
- 核心是Window,其他是Window的子对象
第二章 JAVA WEB概述¶
XML¶
- 定义:可扩展标记语言
- 与HTML区别
- HTML用于显示数据,XML用于传输数据
- HTML不区分大小写,XML区分大小写
- XML不会过滤空格
- XML可以扩展标签
- 语法
- 文档声明:version,encoding,standlone,其中version是强制性声明。standlone默认值是no
- 元素定义:使用标签定义,树形结构。只有一个顶层元素,为根元素或者文档元素
- 属性定义:同样使用标签定义
- 注释
- DTD约束
- 定义:对XML语法进行约束
- 内容:可以包含元素的定义,元素之间的关系,元素属性的定义,以及实体符号之间的关系
- 引入DTD约束:
- SYSTEM
- PUBLIC 公司 + 版本 + 语言
- 语法
-
PCDATA:表示元素使普通文本字符串¶
- 子元素
- 混合内容:包含子元素,也包含字符串
- EMPTY:空元素
- ANY
-
- 属性定义
- 这里是为元素定义属性
- 设置说明
- REQUIRED:必须的
- IMPLIED:可以包含可以1不包含
- FIXED:固定的默认值
- 默认值
- 属性类型
- CDATA:和#PCDATA一样,都是文本字符串
- Enumbered:枚举类型
- ID:唯一标识某个元素
- IDREF 和IDREFS:元素 + 联系
- schema约束
- 后缀:xsd约束
- 名称空间:元素名 xmlns:prefixname="URL"
- 作用:将某一个前缀绑定到某个URL上,然后将该前缀添加到元素名称前面,说明该元素属于哪个模式文档
程序开发体系结构¶
- 体系结构
- C/S模式:直接客户端到数据库
- B/S模式:浏览器 +WEB浏览器 + 数据库服务器。全面取代了C/S模式
- Tomcat
- 安装:在另一个idea中进行的创建
第三章 HTTP协议¶
内容¶
- 定义:超文本传输协议
- 特点
- 支持C/S模式
- 简单快速
- 灵活
- 无状态
- HTTP1.1对HTTP1.0的改进:HTTP1.1的支持持久连接,减少了建立和关闭连接的耗时
- 请求消息
- 请求行
- 格式:GET /index.html HTTP1.1
- 请求方式 资源路径 使用的HTTP版本
- 只有一种使用post,就是提交表单的时候,其余都使用get(比如超链接)
- 请求头
- k-v对形式
- 常见请求头
- Accept
- Accpet-Encoding:是压缩方式。用于指定客户端能够解码的数据编码方式 .有gzip和compress方式
- HOST:用于指定资源所在的路径和端口号
- If-Modifed-Since:与本地缓存有关,如果没有缓存则返回304状态码
- Referer:浏览器对服务器发起请求,对于单机超链接的情况会有Referer,可以用于区别不同访问方式,制作防盗链。
- User-Agent:有Mozilla系列
- 消息实体
- 相应消息
- 响应行
- 格式:HTTP1.1 200 OK
- 版本号 状态码 描述
- 常见状态码
- 1xx:请求已经接受,可继续处理
- 2xx: 请求已被服务器成功接收,理解
- 3xx: 为完成请求,客户端需要进一步细化请求。比如302,请求重定向
- 4xx: 客户端的请求有错误,比如404,服务器找不到资源
- 5xx:服务器出现错误,比500,服务器发生错误
- 响应头:
- k-v格式
- 常见相应头
- Location:通知客户端请求文档的新地址,多配合3xx状态码使用。不能同时出现Location和Content-Type两个字段
- Server:指定服务器软件产品
- Refresh:页面刷新,可以刷新到新的地址: refresh ; 3 ; url=
- Content-Disposition: 没有在HTTP的标准规范中定义,让用户选择把响应实体保存到一个文件中
- COntent-Encoding:相应消息的压缩方式
- 相应消息体
第四章 Servlet¶
见代码
第五章 会话与会话技术¶
- 会话技术
- 定义:浏览器和服务器进行一系列请求和响应的过程
- 类别:Cookie和Session
- Cookie对象
- 只有它是用户new的
- 定义:类似会员卡,当用户访问服务器的时候,服务器给客户发送的一些信息,都保存到Cookie中。当浏览器再次使用Cookie访问服务器的时候,可以作出正确的相应。也就是服务器给浏览器打标,然后浏览器访问每次都需要带上这个标签
- 方式:服务器设置,浏览器保存
- 方法
- 构造方法,只有一个,名称不能修改,值可以
- Session对象
- 定义:将数据保存到服务器,每次用户登录,使用cookie存储id,则可以判断是哪个session的范围
- 4个域对象的大小:从小到大
- pageContext(JSP)
- HttpServletRequest
- HttpSession
- ServletContext
- 生命周期
- 生效:第一次访问JSP页面的时候生效
- 失效
- 超时。如果在web.xml中设置为0或者负数,就代表永不超时,默认30分钟
- invalidate
- 关闭浏览器
- 编码
- 实例:购书示例 一共使用三个Servlet,第一个listBookServlet用于和数据库交互,获取数据,并通过点击超链接转到第二个PurchaseServlet( 用于对session的存储的k-v进行更新)。最后转到BookServlet,用于对购物车数据进行展示。
ApacheConf | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
第六章 JSP技术¶
- JSP 1.定义:是Servlet更高级别的扩展,在JSP文件中,HTML代码和Java代码共同存在,其中HTML代码用于实现网页的静态功能,而Java代码实现动态内容的展示。最终,JSP文件会在Web服务器上的Web容器中编译成为Servlet
- 特点
- 跨平台
- 业务代码分离
- 组件重用
- 预编译
- 使用:在web文件夹下和创建html一样,创建jsp文件并使用
- JSP运行原理
- 基于请求,响应模式
- 过程
- 首先,客户端发送请求文件,请求访问JSP文件
- JSP将JSP文件转换为Java源文件(Servlet源程序)
- JSP容器将Java源文件编译为字节码文件
- Servlet容器将该文件加载,创建Servlet实例(常驻内存),并执行jspInit方法完成初始化(执行一次)
- JSP容器执行jspService方法来处理客户端请求,对每个请求,创建一个线程来处理它
- 处理完成,响应对象由JSP容器接受,将HTML格式的静态页面发送给客户端
- JSP脚本元素
- 定义:指嵌套进入的Java代码
- 分类
- JSP Scriptlets:<% %>,用于使用简单的语句,相当于方法内定义的局部变量
- 声明标识:<%! %>,多了个冒号。用于定义整个页面需要的东西,比如成员变量,方法等。在当前界面有效。可以在head部分声明
- JSP表达式:<%= expression %>,,用于向页面输出信息
- JSP指令
- page指令:<%@ page k1=v1,k2=v2 >
- include指令,用于包含另一个元素
- JSP动作元素
- 定义:用于控制JSP动作的行为,执行一些JSP作用
- 元素
- 包含文件元素,jsp:include page=可以引入动态文件(比如可以是jsp)或者是静态文件,flush默认值是false
- 请求转发元素,jsp:forward page=
- 两种include的区别
- include指令通过file属性指定文件,file属性支持任何表达式,后者使用page指令,支持表达式
- 使用前者,会编译成一个字节码文件。后者会分别编译成多个
- 前者变量不能重复,后者可以
- 隐式对象
- out:带缓存的PrintWriter
- request/response
- config
- session
- application
- page
- pageContext:4个作用范围:page,request,session,application
- exception:可以指定错误处理的jsp位置
大题 JDBC+Servlet+JSP¶
1.封装Connection工具类¶
这里省略
2.创建UserBean¶
对应字段进行封装的bean对象
3.创建login.jsp¶
ApacheConf | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4. 创建LoginServlet¶
ApacheConf | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
5. DAO层封装从表到bean对象的逻辑(ORM)¶
ApacheConf | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|