X65535JavaWeb部分02

Servlet请求转发

		/*
        请求转发有如下几个步骤
        1. 配置web.xml文件,配置servlet标签和servlet-map标签
        2. 调用HttpServletRequest参数(req)的getParameter方法,获取请求参数名
        3. 调用req的setAttribute方法,盖章
        4. 调用req的getRequestDispatcher方法,参数是servlet2路径,需要/开头
           返回RequestDispatcher对象
        5. RequestDispatcher对象实例调用forward方法,传递参数req,resp
        6. 此时servlet2处理请求的方法中只需要查看是否有servlet1的章就行了
         */

在这里插入图片描述
在这里插入图片描述

ServletContext类的作用

/*
		ServletContext类的4个作用
        1. 获取web.xml中配置的上下文参数context-param
        2. 获取当前工程路径,格式:/project path
        3. 获取工程部署后在服务器硬盘上的绝对路径
        4. 像Map一样存取数据
        */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1. 获取上下文参数context-param
        ServletContext servletContext = getServletConfig().getServletContext();
        String s = servletContext.getInitParameter("computerModel");
        // 访问 <project path>/real5即可在控制台打印apple
        System.out.println(s);
        // 2. 获取当前工程路径
        String contextPath = servletContext.getContextPath();
        System.out.println(contextPath);
        // 3. 获取当前工程绝对路径,磁盘上的绝对路径映射到IDEA代码的web目录下
        servletContext.getRealPath("/");
        // 4. 像Map一样存取数据
        // 这里注意1个点,就当我们工程加载完成后,无论我们在工程下的哪里,都可以得到我们存入的数据,这就是域,ServletContext是域对象
    }

在这里插入图片描述
在这里插入图片描述

ServletConfig类的作用

/*
		ServletConfig类3大作用
        1. 可以获取Servlet程序别名servlet-name值
            servletConfig.getServletName();
        2. 获取初始化参数init-param
            servletConfig.getInitParameter("paramName");
        3. 获取ServletContext对象
            servletConfig.getServletContext();
        4. 注意在init方法中使用
	    */

base标签的作用

在这里插入图片描述

相对路径参照当前浏览器地址栏当前路径
在这里插入图片描述
下面的第1张图片应该是理想的跳转路径,但是使用了请求转发的时候,
此时浏览器地址栏显示的并不是/a/b/c.html,而是/project/forward请求转发页面,
所以在相对路径工作参照地址栏的时候,就会找不到原来的index.html界面

在这里插入图片描述
base标签可以解决这一问题,
base标签可以设置当前页面中所有相对路径工作时,参照哪个路径来进行跳转
base标签是写在head标签里面的,然后一般写在title标签下面

在这里插入图片描述
此时忽略掉浏览器地址栏显示什么路径,c.html界面都可以跳转回首页,下面补充一下相对路径和绝对路径的知识点
在这里插入图片描述

总目录

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muskfans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值