@Overridepublic boolean PReHandle(HttpServletRequest request, HttpServletResponse response, Object handler){ String referer = request.getHeader("Referer"); logger.error("=================referer===============" + referer);}response
Content-Type
实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型。
text/html默认值,浏览器把接收到的实体内容以HTML格式解析,text/plain浏览器以普通文本解析.image/jpeg浏览器解析为生成JPEG类型,application/msExcel会生成excel文档,还有很多。。Content-Disposition
当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型:
如:response.setContentType("image/jpeg");response.setHeader("Content- Disposition","attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" )+".png");或response.setContentType("application/msexcel");// 定义输出类型response.setHeader("Content-disposition", "attachment; filename=" + new String((fileName).getBytes("gbk"), "iso8859-1") + ".xls");// 组装附件名称和格式另外response.setHeader("refresh", "3;url=/main/home.jsp");//实现注册成功后刷新,3秒后跳转首页下载文件excel操作时,需要 response.reset() 来清除首部的空白行。【注意】对于一次请求,Response的getOutputStream()方法和getWriter()方法是互斥,只能调用其一。
servlet
一、工作中MVC框架如Struts2和springmvc已经封装了Servlet,我们可以直接在框架里写代码,但这不代表我们不用了解servlet的运行原理。
servlet是sun公司提供的动态扩展web应用的模块,它的生命周期如下:在第一次被访问时,在内存中创建对象,并初始化,调用service方法,该方法传入两个参数request和response,request传递请求参数,servlet方法处理完成后,通过response将数据发送给浏览器解析。响应结束后,servlet对象并不销毁,而是要等到服务器关闭才会销毁,在销毁前调用destroy方法善后。二、web.xml注册Servlet的注意事项缺省servlet:如果一个servlet的对外访问路径被设置为/,则该servlet就是一个缺省servlet,其他servlet不处理的请求都由它来处理。利用<servlet><servlet-mapping>标签注册一个Servlet,一个<servlet>可以对应多个<servlet-mapping>三、ServletConfig与ServletContextServletConfig -- 代表当前Servlet在web.xml中的配置信息<init-param> <param-name>gender</param-name> <param-value>m</param-value></init-param>然后在servlet中利用this.getServletConfig()获取ServletConfig对象,该对象提供了getInitParameter()和getInitParameterNames()方法,可以遍历出配置中的配置项。ServletContext -- 代表当前web应用作用范围:整个web应用范围内共享数据 在web.xml可以配置整个web应用的初始化参数,利用ServletContext去获得<context-param> <param-name>param1</param-name> <param-value>pvalue1</param-value></context-param>通过 this.getServletContext()获取ServletContext对象,它提供了this.getInitParameter("param1")和this.getServletContext().getInitParameterNames()void setAttribute(String,Object);Object getAttribute(String);void removeAttribute(String);参考文章:
http://www.cnblogs.com/ckysea/p/4628702.html
新闻热点
疑难解答