ServletContext应用总结

 

1.请求转发与重定向

ServletContext中没有转发的方法,但是它里面有getRequestDispatcher这个方法,通过getRequestDispatcher传递一个请求转发的地址,返回一个对象叫RequestDispatcher

RequestDispatcher对象里面有两个方法forward()和include(),这两个方法都能实现转发

在Servlet中实现转发的步骤如下:

/*要利用ServletContext对象实现转发*/

       ServletContext  context = this.getServletContext();

       context.setAttribute(“name”,”redarmy”);

       /*RequestDispatcher对象*/

       //在Web开发中没有绝对路径  使用相对路径../代表的是:url地址

       //http://localhost:8080/20111019/servlet/demo.do

       RequestDispatcher rd = context.getRequestDispatcher(“/index.jsp”);

       //request 对象 response对象转发

       rd.forward(request, response);

      

       //response.sendRedirect(“./index.jsp”);

       //rd.include(request, response);

       response.getWriter().print(“haha”);

2.请求转发与重定向的区别:第一: 转发 地址栏不发生变化 转发页面成功。而重定向地址栏发生变化。第二:请求转发能够把在request中存的值 在项目转发相应的页面中能够获取web动态资源的值 而重定向不能

 

3.forward与include的区别: forward方法是把请求的内容转发到另外的一个servlet.而include是把另一个servlet处理过后的内容拿过来

 

4.ServletContext读取资源文件

 

1)在Demo02Servlet的doPost方法中获取路径的步骤

/*获取ServletContext对象*/

ServletContext context = this.getServletContext();

/*获取路径*/

String realPath = context.getRealPath();

Response.getWriter().write(“realPath=====”+realPath);

2)读取资源文件的三种方式:

配置的properties的内容如下

url=jdbc:mysql://localhost:3306/3g;

user=root;

password=root;

第一种:

/* 获取ServletContext对象 */

       ServletContext context = this.getServletContext();

    /* 第一步:读取资源的位置 */

    //第一种方式:

       // 绝对路径

           File file = new File("WEB-INF/classes/db.propertie"); InputStream is = new FileInputStream(file);

// 第二种方式读取外部的资源文件   

InputStream is = context

           .getResourceAsStream("WEB-INF/classes/db.propertie");

       System.out.println(is + "-----");

       // response.getWriter().write("realPath==="+realPath);

//第三种方式:

URL url = context.getResource("WEB-INF/classes/db.properties");

       InputStream is = url.openStream();

/* 解析Properties的文件 */

       Properties prop = new Properties();

       // 从输出流中读取属性列表(键和元素对)

       prop.load(is);

       Set<String> set = prop.stringPropertyNames();

       // 遍历set集合

       Iterator<String> it = set.iterator();

       while (it.hasNext()) {

           String key = it.next();

           String value = prop.getProperty(key);

           System.out.println(key + "-----" + value);

           }

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
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、付费专栏及课程。

余额充值