javaee
2023-03-21 23:28:13 13 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
javaee知识点详细思维导图
作者其他创作
大纲/内容
Web 万维网本质上就是Internet上的所有文档的集合
web基础概念
请求/响应模式
web工作模式
web请求方式
文本类型
图片,声音。。。
二进制类型
web响应类型
web基础回顾
servlet是运行在web容器的java类,它能处理http请求并产生http响应
什么是Servlet
提供servlet所有接口和类的包:javax.servlet,javax.servlet.http
servlet体系结构
接收http请求
取得请求信息
调用其他java类方法
生成http响应
servlet功能
Servlrt概述
导包
类继承HttpServlet接口
重写init()---》连接数据和打开i/o流
web应用重新部署
Web容器停止
Servlet类更新
servlet编程
在Web容器中加载
保存在jvm中
加载类和实例化阶段
调用init(),完成初始化
初始化阶段
调用servlet中的service方法
处理请求阶段
调用destroy()完成销毁
销毁阶段
servlet的生命周期
<servlet> <servlet-name>logout</servlet-name> <servlet-class>com.blp.jadc.logout</servlet-class> </servlet>
servlet声明
<servlet-mapping> <servlet-name>logout</servlet-name> <url-pattern>/jadc/logout</url-pattern> </servlet-mapping>
/目录/目录/文件名.扩展名
/目录/目录/*
*.扩展名
不可以混合使用,如,/目录/目录/*.扩展名,这是错的
路径
servlet响应
Servlet配置
创建的方法相同
相同点
用户不能直接创建servlet对象和方法
不同点
Servlet与一般java类的相同点与不同点
在web容器中完成类加载和实例化,然后通过调用init方法完成初始化,接着调用servlet的service方法,在doget()和dopost()中处理请求并返回响应,最后调用destroy方法销毁。
简述servlet的生命周期
简述servlet url地址的映射方式
思考题
Servlet编程
javax.servlet.ServletRequest
javax.servlet.http.HttpServletRequest
请求对象接口类型
请求对象由web容器自动创建,并传递给doget,dopost方法
请求对象生命周期
自动创建实现HttpServletRequest的对象
请求对象创建
向客户端发出响应后自动销毁
请求对象销毁
请求对象类型与生命周期
getHeader(String name),请求头字符串类型信息
.....
取得请求头信息(header)
getParameter(String name),前端表单传值,name属性
取得请求体中包含的提交参数数据(parameter)
取得客户端的有关信息(remote)
取得服务器相关信息(server)
取得请求对象的属性信息
请求对象功能与方法(get)
请求对象由web容器自动创建,并传递给doget和dopost方法,给客户端发出响应后销毁
简述请求对象的生命周期
描述请求对象的主要方法
思考
HTTP请求处理编程
http响应最先发给客户端的是响应状态
200 成功
300 重定向
400 客户端错误
500 服务器错误
响应状态
响应头
响应体
http响应的内容
javax.servlet.ServletResponse
javax.servlet.http.HttpServletResponse
响应对象类型
响应对象由web容器创建,并传递给web组件,最后由web容器销毁
响应对象生命周期
javaee web响应对象
req.setCharacterEncoding(\"utf-8\"); resp.setCharacterEncoding(\"utf-8\"); resp.setContentType(\"text/html;charset=UTF-8\");
response.getwriter().println() 获取字符输出流对象,向流对象发送文本数据输出到页面
流要关闭,response.getWriter().close()
响应对象功能和方法(set)
web容器创建响应对象,传递给web组件,最后由web容器销毁
描述http响应对象的生命周期
当客户端向服务器端发送请求时,描述返回的请求结果
说明响应状态码的功能
来指示客户端如何处理响应头,主要用来告诉浏览器响应的类型,字符编码,和字节大小
说明响应头的主要功能
HTTP响应处理编程
在web应用中把客户端浏览器开始请求web服务器,访问不同的web文档进行请求/响应,到结束访问
会话的基本概念
在一个会话内保存用户的信息
会话跟踪
获取前端传来的id参数:String userid=req.getParameter(\"userid\");通过重定向传递id: resp.sendRedirect(\"../p/view.do?pro=120&userid=\"+userid);
实现
url地址过长
不同浏览器对url传递参数的限制
安全性缺陷
编程复杂
缺点
重写url
表单中 type=\"hidden\"
安全性差
无法在超链接模式下工作
隐藏表单字段
web服务器保存在客户端小的文本文件,name/value
什么是cookie
String userid=req.getParameter(\"userid\"); Cookie cookie = new Cookie(\"JSESSIONID\
创建cookie对象
cookie.setMaxAge(24*60*60); //设置cookie的有效期
设置cookie属性
resp.addCookie(cookie);
发送到客户端
将cookie保存到客户端
存储方式单一(键值对)
存储位置限制(客户端)
大小受浏览器限制
可用性限制
cookie
会话跟踪方法
//得到Session HttpSession session = req.getSession(); //给Session中存东西 session.setAttribute(\"name\
会话对象的类型和取得
getAttribute(String name) 取出指定名称属性的值对象
//手动注销Sessionsession.invalidate();
会话对象对的功能和方法
首次访问jsp页面将自动创建会话对象
首次请求servlet,且servlet内使用getSession(),web容器会自动创建会话对象
创建
在会话有效期内,将共享一个会话对象
活动
关闭客户端浏览器后,sessionid将会永久销毁,客户端再也无法访问该session,到了时间服务器的session将会销毁
执行invalidate()
销毁
会话对象的生命周期
存储sessionid
url重写
会话id的保存方式
会话对象session
当第一次访问浏览器或使用getSession方法时创建session,并共享同一个session数据,关闭浏览器或手动使用invalidate方法销毁会话对象
简述会话对象的生命周期
满足搜索引擎的要求
隐藏技术实现
优点
不同浏览器对传递参数的限制(restful风格)
编程繁杂
可实现跨页面
存储方式单一
存储位置限制
适合大量数据存储
隐藏域
简述会话跟踪的几种方式的优缺点
为什么开发项目时尽可能使用url重写的方法保存sessionid
Http会话跟踪编程
当web请求部署启动后,servletcontext对象被web容器自动创建,当web应用停止后web容器自动销毁servletcontext对象
服务器环境对象的生命周期
web级数据共享容器
读取web级初始化参数
访问外部资源
取得web应用基本信息
web应用日志输出
服务器环境对象的功能和方法
<context-param></context-param>
web级初始参数配置
<servlet></servlet>
<servlet-mapping></servlet-mapping>
servlet映射
servlet配置
<error-page></error-page>
web应用级异常处理配置
<welcome-file-list></welcome-file-liet>
配置起始文件
javaee web的配置
web组件在服务器端直接请求到另外web组件的方式,转发在web容器内部进行
req.getRequestDispatcher(\"/jsp/picture.jsp\
转发
通过各种方法将各种网络请求重新定个方向转到其它位置
resp.sendRedirect(\"jsp/list.jsp\");
重定向
重定向由客户端完成,转发由服务器完成
请求/响应次数不同,重定向两次请求,转发一次
目标位置不同
转发url不变,重定向url会变
区别
转发和重定向
使用ServletContext对象有哪些注意事项
说明转发和重定向的区别
对于竭力避免表单重复提交的场景下选择重定向方式,对于效率要求更高的场景,携带较多参数则选择服务器内转发
说明转发和重定向最佳使用情形
ServletContext(服务器环境对象)和web配置
对某种数据流动进行数据过滤处理的对象
什么是过滤器
登入检验
权限审核
数据验证
日志登记
数据压缩/解压缩
数据加密/解密
过滤器的主要功能
javax.servlet.Filter
api
该类实现Filter接口
public void destroy() { System.out.println(\"销毁\"); }//web服务器关闭即销毁
filter声明
filter映射
配置
过滤器
能够监测其他对象活动的对象
什么是监听器
网站访问人数或次数计数器
网站登入用户人数和在线用户监测
日志记录
会话超时处理
监听器的主要功能
ServletContext 对象监听器
ServletContext 对象属性监听器
HttpSession 对象监听器
HttpSession 对象属性监听器
HttpServletRequest 对象监听器
HttpServletRequest 属性监听器
监听器的类型
<listener></listener>
简述监听器的主要功能
监听器类型及用途
监听器
一种使用java语言作为器脚本语言,在javaee web服务器内运行生成动态web网页的技术
什么是jsp
jsp是html格式的文本标记文件
jsp的特点
解析,编译后生成.class类文件运行
jsp的执行过程
html标记代码
jsp元素
jsp的组成
<%@page 属性名=\"值\" 属性名=''值''%>
语法
language
用于在jsp页面中引入java类
<%@page import=\"javax.servlet\"%>
import
用于控制jsp页面的http响应MIME类型
<%@page contentType=\"text/html\"%>
contentType
用于设定jsp文本响应类型的字符集编码
<%@page pageEncoding=\"GBK\"%>
pageEncoding
设定当jsp发生异常时,自动转发的页面
<%@page erroePage=\"error.jsp\"%>
errorPage
用于判断该jsp页面是否为错误页面
<%@page isErrorPage=\"true\"%>
isErrorPage
session
属性和意义
page指令
经常应用在复合页面的生成
页面的嵌入,头部和底部
<%@ include file=\"p.jsp\"%>
include指令
允许使用用户自定义标签
<%@ taglib uri=\"标记库url地址\" prefix=\"标记前缀名\"%>
taglib指令
jsp指令
<jsp:动作名称 属性名=“值”属性名=“值”属性名=“值”/>
include动作和include指令之间的根本性不同在于他们被调用的时间
include动作便于维护
<jsp:include page=\"url\" flush=\"true\"/>
<jsp:include>嵌入其他页面输出动作
传递参数到目标转发地址
<jsp:forward page=\"url\" > <jsp:param name=\"参数名\" value=\"值\"/></jsp:forward>
<jsp:forward> 转发动作
jsp:plugin> 引入插件动作
是唯一不能单独使用的动作,需要嵌入到其他动作中使用
<jsp:param>提供参数动作
useBean动作先查找,后创建,可引用servlet转发过来的Bean对象
<jsp:useBean id=\"变量名\" class=\"包名.类名\" scope=\"范围\"/>
<jsp:usebean>使用javabean动作
<jsp:setProperty name=\"beanid\" name=\"属性名\" value=\"值\"/>
<jsp:setProperty>设置javabean属性动作
<jsp:getProperty name=\"beanid\" property=\"属性名\"/>
<jsp:getProperty>取得javabean属性动作
类型
jsp动作
request;请求对象
response;响应对象
javax.servlet.http.HttpSession
session;会话对象
javax.servlet.ServletContext
application;应用服务器对象
java.lang.Object
page;jsp本身页面类对象
pageContext;页面级环境变量,作为页面级容器
out;输出对象
exception;异常对象
javax.servlet.ServletConfig
config;配置对象
jsp内置对象
最终都为相同的java类
都是复合javaee规范的web组件
都在web容器中运行
都可以接收http请求并产生响应
编程方式不同
运行方式不同
比较jsp和servlet的不同点和相同点
简述jsp的执行流程
html标记代码和jsp元素组成
简述及jsp的组成部分
JSP
${变量名.属性名}
目的是在jsp页面输出动态内容,计算表达式的值,将其转换为String,并显示到页面
应用
EL表达式基本语法和应用(前后端交互,前端从后端取值)
jsp标准标记库
实现了web应用中jsp页面各种任务的统一化标记
基础
规范并统一jsp动态网页开发任务中的标记实现
目的
jstl.jar,stardard.jar
引入
jstl基础和引入
显示,保存,删除
通用标记
逻辑判断标记
<c:forEach/>
循环遍历标记
url地址标记
jstl核心标记
通过配置数据源JNDI
通过配置驱动,url,账号和密码
两种方式获取数据库连接
<sql:setDataSource> 连接
<sql:query> 查询
<sql:update> 增,改,删除
jstl数据库标记
<fmt:setLocale>
本地化
<fmt:bundle>
资源绑定
基础名称
jstl i18 标记
国际化标记库
xml处理标记库
函数标记库
jstl标记内容
统一并规范了jsp动态页面的标记实现,简化了jsp页面的开发,提高了jsp页面的开发效率
简要说明jstl的优点
jstl-----> <%@ taglib uri=\"http://java.sun.com/jsp/jstl/core\" prefix=\"c\"%>
sql-----> <%@ taglib uri=\"http://java.sun.com/jsp/jstl/sql\" prefix=\"sql\"%>
i18-----> <%@ taglib uri=\"http://java.sun.com/jsp/jstl/fmt\" prefix=\"fmt\"%>
写出jsp页面中引入jstl核心,sql,i18的指令语句
EL和JSTL
命名对象需要保存到Context中,同时Context需要某种机制进行管理,这种机制就是命名服务
什么是命名服务
是连接命名服务和目录服务的接口
什么是jndi
javax开头
jndi api 组成
管理context
命名服务的功能和优点
通过类的实例的getClass()
通过反射机制,class.forName()
通过类名.class
举例说明java编程中的到一个类对象的几种方法
JNDI
连接和操作数据的接口
JDBC基础
JDBC-ODBC桥连接模式
TYPE I(1)类型
TYPE II(2)类型
纯java体系结构,三个层次组成
TYPE III(3)类型
使用最普遍,纯java驱动
TYPE IV(4)类型
JDBC驱动类型
JDBC框架结构
包含一系列java.sql.Derver
JDBC-ODBC桥驱动类型
Class.forName(\"com.mysql.jdbc.driver\")
自动注册
管理并追踪可用驱动程序
建立与数据库的连接
java.sql.DriverManager
java.sql.Connection
Statement statement = connect.createStatement();
获取Statement对象
int b = statement.executeUpdate(sql);
执行sql语句
statement.close
关闭连接
java.sql.Statement
PreparedStatement preparedStatement = connection.prepareStatement(sql);
获取PerparedStatement对象并执行sql
ResultSet re=preparedstatement.excuteQuery();
获取结果集
preparedstatement.close
java.sql.PerparedStatement
ResultSet rs=preparedstatement.executeQuery(); while(rs.next()){int no=rs.getInt(1);//获取第一个字段String name=rs.getString(\"username\");//读取username字段
java.sql.ResultSset
JDBC核心接口和类
JDBC版本
连接池的建立
连接池的管理
连接池的关闭
组成
实现连接复用
作用
数据库连接池
直接底层操作,提供了简单,便捷访问数据库方法
JDBC的优点
JDBC
基于java语言用于阅读,编写和发送电子消息的可选包
什么是javaMail API
连接Mail Server
Session
泛指各种消息邮件
message.setSubject()设置邮件的标题
message.setSendDate()设置邮件的日期
Message
邮件地址
Address
验证邮件合法性
Authenticator
核心类,实现Mail的发送
Transport.(message)
Transport
邮件存储器
Store
邮件存储目录
Folder
主要类和接口(javax.mail)
设置Mail Server参数
取得session对象
创建邮件消息Message对象
创建发送人地址
创建接收人地址
设置邮件的标题,日期
设置邮件内容
发送邮件
步骤
javaMail API
javaMail编程
模型--视图--控制器模式
什么是mvc模式
用于封装与应用程序业务逻辑相关数据以及对数据的处理方法
模型对数据有直接访问的权利
模型
业务数据的输入和显示
视图
起到View组件和Model组件之间的组织协调作用
控制器
组成及作用
DAO持久层
controller控制层
service业务层
View表示层.jsp
Java EE企业级应用MVC模式
javaee
0 条评论
回复 删除
下一页