java web 笔记2

3 篇文章 0 订阅
<web-app 
id="WebApp_ID"
version="3.0"  
xmlns="http://java.sun.com/xml/ns/javaee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="false">  <!-- 是否扫描注解 -->

1\

发布到服务器上面的文件夹是Webcontent   里面有个class 包会把java resource里面所有的资源存放到服务器项目里面转成字节码文件,如果要访问这些文件,那么一定要使用被转成后的路径,而不是当前该文件所在的目录路径,应该具体看发布工程里面的路径。

 

2\

servletcontext 是全局的,无论在那个函数从获取,都是不变的。

302  重定向

404 找不到资源

response .setStatus(200)  可以设置状态码

new Date().getTime()  获取毫秒值

响应头添加额外的信息:

response.addHeader(key,'');

response.addDate(key,'');

修改响应头:

response.setHeader(key,"");

设置重定向

response.setHeader("location"," /project name/servlet class")  重新定向的地址

response.setRedirect(" /project name/servlet class")   封装后的直接重新向

response.setHeader("refresh","3;url="  " "); 定时刷新

 

响应体:

response.getWriter().write("*****");

response.getWriter().write("<h1>xxxx</h1>")

写到response缓冲区中的内容是Iso8859编码,不支持中文

可以设置中文编码

设置自己输入缓冲区的编码类型是UTF-8

response.setCharacterEncoding("UTF-8")

设置浏览器接受的编码也是utf-8

response.setHeader("Content-Type","text/html;charset=utf-8")

简写:response.setContentType("text/html;charset=utf-8");  一句即告诉缓冲区和响应器对应的编码。

定义编码必须在响应体之前定义。

 

3\

在web  servlet中加载文件要使用绝对路径。

获取confi配置信息后可以通过 

this.getServletContext().getRealPath("a.txt"),拼接webContent目录下的文件a.txt的绝对路劲

init函数中必须调用父类的init文件,才能初始化config 参数,super.init(config)

 

4\

加载文件

FileinputStream in = new FileinputStream(path)

byte []buffer=new byte[6];

len=in.read(buffer);  //加载6个进buffer里面,len为当前新读取的数量,当没的读取的时候就位-1

通过new String(buffer,start,len)  将start - len 的buffer里面的转成字符串。

Arrays.toString(buffer)  可以将数组直接输出。

 

SeveletOutputStream out = response.getOutputStream();

getWrite.write 跟outputstream 不能同时使用

 

5\文件下载

根据文件名获取mime类型,加载设置文件类型

String name = request.getParameter("filename");
System.out.println(name);

// 设置mine类型解决浏览器文件不识别的问题
String mineType = this.getServletContext().getMimeType(name);
response.setContentType(mineType);

// 设置文件不要解析,直接以附件的形式下载
response.setHeader("Content-Disposition", "attachment;filename=" + name);

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值