JavaWeb
2019-07-29 08:26:31 0 举报
AI智能生成
.
作者其他创作
大纲/内容
http
cookie
浏览器存储
4k
300
抓包:相对不安全
格式
response
cookie存储时间
session
浏览器 服务器
cookie
免登录
web
浏览器
服务器tomcat Web应用服务器,是一个Servlet/JSP容器
目录结构
bin
lib
conf
log
work
webapp
组件 servlet
处理请求
类 extends HttpServlet
web.xml servlet servlet-mapping 在类上加注解@WebServlet()
service
doGet
get post
get
获取列表信息
form的默认
2k
post
表单提交
文件上传
doPost
servlet生命周期
init
默认在第一次访问时 执行初始化 只执行一次
init-param
key
value
loadonstartup
优先级
在服务器启动时 初始化servlet对象
service
逻辑处理
实际需求
转发
特征
request
文件
jsp默认路径
Java片段<%%>
el表达式
用"${}"括起来的脚本,用来更方便地读取对象,EL表达式写在JSP的HTML代码中,而不能写在"<%%>"引起的JSP脚本中
内置对象
pageScope
作用域对象
requestScope
作用域对象
sessionScope
作用域对象
applicationScope
作用域对象
pageContext
表示的是JSP中内置对象pageContext,能获取request等其他JSP八大内置对象
param
表示一个请求参数 ${param.username} 等效 request.getParameter("username");
paramValues
表示一组请求参数 ${paramValues.loves} 等效request.getParameterValues("loves"); 提交喜爱这种多选框
header
表示一个请求头 ${header.referer} 等效request.getHeader("referer");
headerValues
表示一组请求头 ${header.cookie} 等效 request.getHeaders("cookie"); 获取的请求头参数中的内容是一组内容,比如cookie就有可以是多个cookie一起传过来
cookie
获得cookie对象
initParam
web项目初始化参数,servletContext.getInitParameter("xxx")
表达式
<%=
声明
<%!
指令
page
taglib
jstl
c
forEach
if
choose
when
otherwist
include
四个作用域
pageContext
page里的变量没法从index.jsp传递到test.jsp。只要页面跳转了,它们就不见了
request
代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B
equest里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了
session
代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。一般来说,只要浏览器不关闭,cookie就会一直生效,cookie生效,session的使用就不会受到影响。
把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。
application
代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。比如baidu、wenku等共享帐号。
application里的变量一直在累加,除非你重启tomcat,否则它会一直变大。
内置对象
request
请求对象,类型:httpServletRequest
response
响应对象,类型:httpServletResponse
out
使普通Java类可访问WEB资源,自定义 标签常用
session
表示一次会话,在服务器端记录用户状信息的技术
application
标识web应用上下文,类型:ServletContext
page Context
表示 jsp页面上下文(jsp管理者) 类型:PageContext
page
page对象代表当前JSP页面,是当前JSP编译后的Servlet类的对象。相当于this。
config
标识Servlet配置,类型:ServletConfig,api跟Servlet中的ServletConfig对象是一样的,能获取该servlet的一些配置信息,能够获取ServletContext
exception
表示发生异常对象,类型 Throwable
增删改查
当前项目
一次
地址栏
服务器行为
重定向
特征
response
地址
地址栏内容发生变化
相当于两次请求
浏览器行为
项目外访问
io流
jsp
destroy
销毁
容器在可用资源紧张或是长期没有对Servlet发出请求的情况下,会销毁这个servlet。
类 加载
过滤器
统一过滤请求
*.do
implements Filter
doFilter
ajax
js
事件
内置对象
XMLHttpRequest
状态码
0
(Uninitialized) the send( ) method has not yet been invoked.
(未初始化)还没有调用send()方法
初始化
1
(Loading) the send( ) method has been invoked, request in progress.
(载入)已调用send()方法,正在发送请求
载入
2
(Loaded) the send( ) method has completed, entire response received.
(载入完成)send()方法执行完成,已经接收到全部响应内容
载入完成
3
(Interactive) the response is being parsed
(交互)正在解析响应内容
解析
4
(Completed) the response has been parsed, is ready for harvesting.
(完成)响应内容解析完成,可以在客户端调用了
完成
jquery
$.ajax()
url
请求路径
type
data
json
string
dataType
text
json
async
默认异步
success:function(e){}
window.location.href
不能转发或者重定向
io流 getWriter
查询/注册
文件上传
流程
注意
保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。
防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名。
防止一个目录下面出现太多文件,要使用hash算法打散存储。
要限制上传文件的最大值。
限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法。
0 条评论
下一页