Servlet1总结

 ServletContext
 1.它是一种域对象
 2.一个Web应用只有一个ServletContext对象
 3.服务器启动时对象就创建了,当服务器关闭时对象才销毁
 功能方法:
 (1)获取ServletContext对象
    ServletContext sc = servletconfig.getServletContext();
    由于GenericServlet类中定义了方法getServletContext(),
    而HttpServlet继承自GenericServlet,
    我们自定义的Servlet类继承自HttpServlet,所以类中也有
    方法getServletContext()
    ServletContext sc = this.getServletContext();
  (2) 域功能,内部有map,可以存取数据
      servletContext.setAttribute("name","Tom");//保存数据
      servletContext.setAttribute("name","Jack");//替换数据
      servletContext.getAttribute("name");//获取数据
      servletContext.removeAttribute("name");//删除数据
      Enumeration en = servletContext.getAttributeNames();//获取所有的属性名
      保存在ServletContext中的数据是被当前Web应用中的所有资源共享
  (3)访问当前的web应用的资源
      //根据文件相对路径得到绝对路径
      String getRealPath(String path)
      G:\apache-tomcat-6\webapps\day6_2\WEB-INF\web.xml
      //将得到的资源包装成一个InputStream
      InputStream is = servletContext.getResourceAsStream("/WEB-INF/web.xml");
   (4)获取在web.xml中配置的初始化参数(不属于一个Servlet)
 <context-param>
  <param-name>school</param-name>
  <param-value>rjxy</param-value>
 </context-param>
  <context-param>
  <param-name>major</param-name>
  <param-value>java</param-value>
 </context-param>
      String value = this.getInitParameter("name");
————————————————————————————————————————
  response:
  是service()方法的参数,类型是HttpServletResponse.
  在客户端发出请求时,服务器都会创建一个新的response对象,把它传给service()方法。
  response对象用来完成对客户端的响应。
  它有4种功能:
  设置响应头信息
  发送状态码
  设置响应正文
  重定向
 1、 response设置响应正文,通过两种流发送到客户端的:
  PrintWriter out = response.getWriter();//字符流
  ServletOutputStream out = response.getOutputStream();//字节流 比如下载一个图片时

  通过字符流发送响应时,要注意字符编码问题。
  response.getWriter()默认编码为ISO-8859-1,不支持中文。
  把字符集设置为UTF-8,  response.setcharacterEncoding("UTF-8");
  这样发送到客户端的就是UTF-8编码的内容。
  浏览器一般默认的解码字符集为GB2312或者GBK。
  比如“安阳”  UTF-8编码为6个字节,而GB2312编码为4个字节。
  解决乱码: response.setContentType("text/html;charset=UTF-8");
  缓冲区
  response.getWriter()有缓冲区,大小为8KB,如果响应数据没有达到8KB,
  所有数据都暂时存放在缓冲区中,不会立刻发送到客户端。当Servlet执行完毕后,
  服务器才会将缓冲区中的数据发送到客户端。如果想立刻发送到客户端,
  调用response.flushBuffer()方法手动刷新缓冲区。
 2、设置响应头信息
  告诉客户端浏览器一些关于响应的信息,比如内容编码,内容长度等。
  //3秒钟自动跳转到某个主页
  response.setHeader("Refresh","3;URL=http://www.aynu.edu.cn");
  //跳转到本项目内主页
  response.setHeader("Refresh", "3;URL=/day7/index.jsp");
 3、设置状态码
  response.setStatus(200);
  response.setStatus(404);
 
 4、重定向
    本来浏览器访问的是A地址,服务器却通知浏览器去访问B地址,即再次发送一个新的请求。
    //重定向(到项目外的资源)
    response.sendRedirect("http://www.aynu.edu.cn");
   //重定向(到项目内的资源)
   response.sendRedirect("/day7/FServlet");
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值