设置网站默认页面



在网站开发过程中,我们通常会有这样的需求:网站访客输入域名后,在浏览器中显示默认的页面,无需在后面输入默认页面的名称,虽然输入默认页面的名称也能正确访问,但是不符合人们的习惯。(你通过htt://www.hao123.com能访问hao123的导航主页面,同样你也可以通过htt://www.hao123.com/index.html来访问hao123的导航主页面,2013-08-15测试通过,但你通常不会这么干)。

目前各种Web服务器都可以配置相关网站的默认页面,IIS通过配置网站的默认文档,tomcat可以通过web.xml来设置。但是,这种配置通常配置网站根目录下的页面,而不会配置包含路径的页面。例如:www.hao123.com映射到tomcat下面的hao123 项目,在hao123 项目目录下有一个index.hmtl的页面,会在web.xml中配置

<welcome-file-list>
       <welcome-file>index.html</welcome-file>
    </welcome-file-list>

如果我们的主页面包含在某个目录里面,怎么办?例如index.jsp包含在Main文件夹下。或许有人会说在web.xml里面配上路径不就行了:

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

我没见过有谁这样配过。至少到目前为止没遇到过,故不再此评价这种方式的好坏。

下面来分享一下我所遇到的解决方式。

1. 通常见到的是,web.xml配置成最上面那种,然后在index.html里面写上

    <head>
        <META HTTP-EQUIV="Refresh" CONTENT="0;URL=Main/index.jsp">
    </head>

通过页面重定向来访问我们所需的页面。

2. 在struts中,可以配置struts.xml的root namespace,也可以配置default namespace,

    <!—default namespace
    <package name="default" extends="struts-default">
        <default-action-ref name="index"/>
        <action name="index" >
            <result type="redirectAction">
	        <param name="namespace">/Main</param>
	        <param name="actionName">index</param>
	    </result>
        </action>
    </package>
    -->

    <!—- root namespace-->
    <package name="root" namespace="/" extends="struts-default">
	<default-action-ref name="index"/>
	<action name="index" >
	    <result type="redirectAction">
		<param name="namespace">/Main</param>
		<param name="actionName">index</param>
	    </result>
	</action>
    </package>

    <package name="Main" namespace="/Main" extends="struts-default">
	<action name="index" class="com.struts.action.login">
	    <result>index.jsp</result>
	</action>
    </package>

关与二者,struts官方文档描述:

Default namespace 匹配所有的namespace,如果一个action在其他namespace中没找到,那么default namespace将被搜索进行匹配。

The default namespace is "" - an empty string. The default namespace is used as a "catch-all" namespace. If an action configuration is not found in a specified namespace, the default namespace is also be searched. The local/global strategy allows an application to have global action configurations outside of the action element "extends" hierarchy.

Root namespace匹配网站根目录下的请求。

A root namespace ("/") is also supported. The root is the namespace when a request directly under the context path is received. As with other namespaces, it will fall back to the default ("") namespace if a local action is not found.

因此,直接访问网站域名时,这两个namespace都会被搜索到。

欢迎有不同见解的人士提出宝贵意见。

时间: 2024-11-08 10:25:25

设置网站默认页面的相关文章

(转)web.config详解之在文件中配置网站默认页面

在<configuration></configuration>中添加下面的配置 <system.webServer>        <defaultDocument>            <files>                <clear />                <add value="index.aspx" />                <add value=&qu

织梦网站如何设置404错误页面?

首先在网上搜索织梦系统404错误页面的一个网页或者也可以自己编辑,然后在通过网页编辑器编辑一下这个404网页,然后把里面的网址改为自己的网址,佐言用的是 Macromedia Dreamweaver 8工具编辑的,如下图: 第一步.修改404.html网页里面的信息 然后在看一下自己网站的编码格式是什么,然后在通过Macromedia Dreamweaver 8工具修改下载的404.html网页的编码格式.找到Macromedia Dreamweaver 8工具上面"修改":修改-页面

云服务器自定义网站404页面不生效

平时在网络上,看到一些设置自定义404页面的方法,其实那只是一个很平常的操作方法,为什么大多数设置了却不起作用呢?或者说调用不出来404页面呢? 1.先设置好自定义404 上传404页面-打开IIS(internet信息服务)-选择你的网站,右击属性,点击自定义错误(在下面的:“http错误信息”框中找到404,选中双击,或者选中在点“编辑属性”选择自己的自定义404页面.不过,此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码.) 2.寻

HTML&amp;CSS——网站注册页面

1.表单标签 所有需要提交到服务器端的表单项必须使用<form></form>括起来! form 标签属性:  action,整个表单提交的位置(可以是一个页面,也可以是一个后台 java 代码) method,表单提交的方式(get/post/delete--等 7 种) Get 与 post 提交方式的区别?[默认提交方式为 get] Get 提交方式,所有的内容显示在地址栏,不够安全,长度有限制. Post 提交方式,所有的内容不会显示在地址栏,比较安全,长度没有限制 1)文

nginx如何设置自定义404页面

404错误是WWW网站访问容易出现的错误.最常见的出错提示:404 NOT FOUND.404错误页的设置对网站SEO有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛.404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去.搜索引擎通过HTTP状态码来识别网页的状态.当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引.而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不

Nginx提供代理服务(网站代理),nginx实现负载均衡集群和高可用集群、nginx实现网站动静页面分离

静态页面:用静态编程语言编写的页面为静态页面,支持静态页面的语言为,css html  xml,不手动改变源代码,页面就不会改变. 动态页面:用动态编程语言编写的页面为动态页面,支持动态页面的语言有,java php .net,根据用户访问的时间和用户的不同显示不同的页面. nginx网站服务代理 实验(一)实验目的:nginx实现反向代理代替公网用户访问私网的web页面. 实验环境: 内网web服务器: IP地址 :192.168.1.1  主机名:fanlj nginx代理服务器:IP地址:

设置ASP.NET页面的运行超时时间详细到单个页面及站点

这篇文章主要介绍了如何设置ASP.NET页面的运行超时时间,包括全局超时时间.单个站点超时时间.单个页面请求超时时间,需要的朋友可以参考下 全局超时时间 服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值. Machine.config 文件位于 %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ 目录中. 例如: <httpRunti

关于win2008配置网站默认文档的一些问题

今天把生成的网站挂到本地服务器上去的时候,由于设置的起始页在比较深的目录下面,在配置默认文档的时候,如果仅给出如Default.aspx页是不能找到目录的,正确的设置方法是,以当前网站你所设定的目录为根目录,然后一级一级去的添加到你要设置的起始目录,根目录不需要再加入进去,不然路径也不正确.其次是页面里面的相对路径,在VS开发环境在同级目录下面,直接写当前路径+文件名就能找到相应的文件,在IIS里面却找不到,只能前面加上几级目录一直到网站根目录下一级,这样才能正常访问,以上只是设置起始页面需要注

nginx设置404 500页面跳转至首页,K哥

2015.9.29 开发找我说网站要设置个页面跳转 nginx设置404 500页面跳转至首页 什么是404页面? 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面? 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄