ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

X65535JavaWeb部分02

2021-11-28 10:03:16  阅读:186  来源: 互联网

标签:02 标签 路径 地址栏 获取 base ServletContext X65535JavaWeb 部分


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界面都可以跳转回首页,下面补充一下相对路径和绝对路径的知识点
在这里插入图片描述

总目录

标签:02,标签,路径,地址栏,获取,base,ServletContext,X65535JavaWeb,部分
来源: https://blog.csdn.net/m0_54608045/article/details/121478031

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有