servlet笔记

来源:互联网 发布:海尔软件下载 编辑:程序博客网 时间:2024/05/22 02:52
响应行:告诉浏览器客服端要做什么
处理乱码:response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
servlet创建:第一次接受到请求的时候被创建
数据被保存:在服务器宕机、数据重新加载、服务器关闭

虚拟路径:
物理路径:
在a标签中的href后加?表示要传参数,if要传多个参数,是用连字符&,表示还有一个,例如:<a href="file?filename=图片1.jpg&filename2=图片2.jpg"></a>
a标签中传参乱码解决方法:
String name = new String(filename.getBytes("iso-8859-1"),"utf-8")
getRealPath:得到真实的文件路径
getResoursceAsStream:返回inputstream
getResource:返回文件路径
split:拆字符串

常用的状态码:
200:
302:
307:
404:

setStatus()设置状态码,设置状态码要在printwriter之前
sendError():定制状态描述
sendRedirect():设置重定项,路径

content-disposition:attachment;fileName=asd.zip已下载方式打开

refish:time;url=URL:自动刷新或等待时间

HTTP协议默认的提交方式是get提交,表单可以使用method修改
超链接的提交方式是get,不能修改

get方法可以防止恶意上传大文件,撑爆浏览器

请求一个静态的页面或图形文件是使用get,当上传大数据、隐私、大文件时使用post

referer只能从超链接连接

如果使用get提交,要使用utf-8格式String name = new String(filename.getBytes("iso-8859-1"),"utf-8")

使用name传输值时,实际传输的是value的值,没有写value的系统默认的value值就是你后面写的

mysql中的汉字占三个字节,其他的sql占两个,性别一般用M、F表示value的值

枚举类型,并且没有顺序性
Enumeration<String> enumes = request.getParameterNames();

hasMoreElements:查看有没有下一个

enctype:规定表单传输的是什么类型的文件,图片、字符等

请求派发只有一次请求,而重定向有两次请求,forward方法将请求和响应派发到其他对象后将不作任何动作,include方法是将请求和响应派发给其他对象后返回给Servlet后执行下面的语句

使用forward方法派发者与被派发者之间共享同一个request,一旦请求响应回去,任何一个都不能再次访问

http协议使用无状态连接(第一次访问后返回后第二次访问对其没有记录)

隐藏表单域:<input type="hidden" name="user" value="name" />

cookie:默认会话结束时关闭,设置有效期时以秒为单位计算,不能所有浏览器共享,只能存String类型的数据

cookie存储中文时使用URLEncoder.encoder("中文")编码
cookie取出中文时使用URLDecoder.decoder("中文")解码

浏览器上使用的...64编码

session由请求创建,可以存任何类型的数据,默认绘画结束时关闭,不能浏览器共享时关闭

isNew方法判断是不是新创建的session

invalidate:立即结束会话

服务器默认的终止session为30分钟

ServletContext:应用上下,服务器不关闭,全局都可以获取,线程不安全

存多个时,键不能重复,值将被覆盖

session:不能全局访问,只能又同一个客服端和服务器在一个持续的会话中被储存维护
session销毁的三中方式:setMaxAge、web.xml配置文件、invalidate

请求作用域:会话时间短,请求结束时,对象被垃圾回收

注册:web.xml中写listener

Timer:计时器  schedule()

file.separator表示反斜杠
0 0
原创粉丝点击