javaWeb开发中web.xml文件中的<welcome;欢迎页面!是用的转发还是重定向!

Posted 程宇寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaWeb开发中web.xml文件中的<welcome;欢迎页面!是用的转发还是重定向!相关的知识,希望对你有一定的参考价值。

后续有时间的话,我再详细写一下这个问题,这次写的比较简略一点,见谅。(这篇文章我写了一部分后,我就去忙其他的了,后来再回来写,思路就断了,接不上了,有时间我再重新写一篇)

直接看代码吧!web.xml文件,每个项目都有一个web.xml文件,xml文件中有<welcome-file-list>标签和<welcome-file>标签!

<welcome-file-list>
    <welcome-file>/background/index.jsp</welcome-file>
  </welcome-file-list>

大家可以猜测一下,我们在浏览器地址栏输入http://localhost:端口号/项目名称/ 的时候,浏览器会跳转到background/index.jsp页面,大家可以思考和猜测一下,这里的跳转是用的是重定向还是转发呢?

好像网上没有人提出这个问题和疑问?大家是不是觉得这样的问题很简单又或者是大家都知道答案。

大家知道底层是怎么执行的吗?大家估计也能猜到是web容器去加载web.xml文件,然后读取到web.xml文件中的<welcome-file>节点,然后拿到节点中的值/background/index.jsp,然后去做跳转,那到底跳转用的是转发还是重定向呢?如果是转发,会不会造成background/index.jsp页面中的某些某些图片找不到路径,或者如果是重定向,会不会造成background/index.jsp页面中的某些图片找不到路径呢?不知道,这些问题大家思考过没有?

background/index.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
	<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>囧萌网上商城登录-于都囧萌软件有限公司-雪豹软件工作室-江西省赣州市于都县</title>
<link rel="stylesheet" type="text/css"
	href="$pageContext.request.contextPath/background/css/login.css">
</head>
<body>
	<img src="background/16.jpg">
</body>
</html>

如果在浏览器的地址栏中输入http://localhost:端口号/项目名称/ 的话,图片可以正常显示出来,如果浏览器地址栏输入http://localhost:端口号/项目名称/background/index.jsp 的话,图片无法正常显示!

大家注意一下:

转发,地址栏不会变(同一个请求,而且是服务器端做的跳转)。

重定向,地址栏会变(不同的请求,即是两次请求或者说是发送了新的请求,而且是客户端做的跳转,即浏览器做的跳转)。

以上是关于javaWeb开发中web.xml文件中的<welcome;欢迎页面!是用的转发还是重定向!的主要内容,如果未能解决你的问题,请参考以下文章

Javaweb——web.xml中的welcome-file-list

MyEclipse开发JavaWeb的小问题解决

javaweb学习总结二十二(servlet开发中常见的问题汇总)

web项目的启动流程

对于JavaWeb项目中web.xml文件中Servlet的基本配置有一些小记录写在这里,并做参考,有新的及时更新

java web.xml配置问题