问题: 如何改mvc中项目的欢迎页,或者叫做根路径

一个东西快弄完了,就剩下一个问题,应该是个小问题。就是mvc项目的欢迎页,怎么给改下呢

访问根路径http://localhost/demo 怎么都访问不到webapp下index.html

让其跳转到http://localhost:8080/demo/index

1. 缺省的流程

先看看缺省的根路径流程:

web.xml 中什么没有配置任何有关欢迎页的信息!其实这时等效于如下配置:这个会由Web容器最先访问!


欢迎页配置

<welcome-file-list>

<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> servlet拦截配置 <servlet>
<servlet-name>demo-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>demo-servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

而项目目录下,有个index.html文件,进行了跳转:


<html>
<head>
  <meta http-equiv="Refresh" content="0; URL=index/">
</head>
</html>

按照上面的配置,使用jetty服务器没有生效,http://localhost/demo访问不到根目录下index.html

然后尝试下面的步骤

2. 如何直接对根路径进行拦截

还是直接说流程吧:

必须在web.xml中加入如下:


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

在web.xml中加入这段代码后发现并没有生效,不清楚原因,使用的是jetty7服务器,后来查了相关资料,发现有两种方式。

@RequestMapping("/")

public ModelAndView index() {

Map<String, Object> modelMap = new HashMap<String, Object>();

System.out.println("**********************");

/*

* modelMap.put("basPostTypeList",homeService.findBasPostTypeList());

* modelMap

* .put("busHotCompanyPostList",busHotCompanyPostService.getAllByOrderNum

* ());

*/

return new ModelAndView("index", modelMap);

}

或者,没有controller,只有view,也可以简化,在servlet的配置文件中加入:


<mvc:view-controller path="/" view-name="index"/>

如果同时都有。反正只会有一个起作用。一般是先扫描的起作用。谁会先扫描到,就是看和<mvc:annotation-driven />比较,谁在前面。

版权声明:本文为博主原创文章,未经博主允许不得转载。

spingmvc项目根路径访问不到的更多相关文章

  1. Springboot实体类转JSON报错Could not find acceptable representation & 设置访问项目根路径的默认欢迎页面

    =================实体类转JSON报错的解决办法============= 之前在springmvc的时候也报过这个错,原因以及springmvc中解决办法参考:https://www ...

  2. java读取项目根路径下和任意磁盘位置下的properties文件

    1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...

  3. js获取网站项目根路径

    //js获取项目根路径,如: http://localhost:8083/uimcardprj function getRootPath(){ //获取当前网址,如: http://localhost ...

  4. js获取项目根路径

    //js获取项目根路径,如: http://localhost:8083/uimcardprj function getRootPath(){ //获取当前网址,如: http://localhost ...

  5. 在HTML页面中获取当前项目根路径的方法

    在HTML页面获取项目根路径的方法: function getRootPath(){ var curPageUrl = window.document.location.href; var rootP ...

  6. js获取当前项目根路径URL (转自CSDN 红领巾-sunlight)

    /** * //获取当前项目根路径 * @return {TypeName} */ function getRootPath(){ //获取当前网址,如: http://localhost:8083/ ...

  7. JavaWeb 获取请求网络协议、IP、端口号、项目根路径

      JavaWeb 获取请求网络协议.IP.端口号.项目根路径 CreateTime--2018年6月1日16点32分 Author:Marydon 1.需求 在项目中,需要使用Java向本程序发送r ...

  8. Java中获取项目根路径和类加载路径的7种方法

    引言 在web项目开发过程中,可能会经常遇到要获取项目根路径的情况,那接下来我就总结一下,java中获取项目根路径的7种方法,主要是通过thisClass和System,线程和request等方法. ...

  9. html 获取项目根路径

    html 获取项目根路径 function getContextPath(){ var pathName = document.location.pathname; //当前文件的绝度路径 var i ...

随机推荐

  1. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

  2. Hibernate 再接触 关系映射 一对一单向外键关联

    对象之间的关系 数据库之间的关系只有外键 注意说关系的时候一定要反面也要说通 CRUD 数据库之间设计 主键关联 单向的外键关联 中间表 一对一单向外键关联 Husband.java package ...

  3. easyui-datebox 只能获取当前日期以前的日期

    <td> <input id="happenTimes" name="happenTimes" class="easyui-date ...

  4. Centos 7升级内核

    检查当前 CentOS 系统内核版本 uname -sr 在 CentOS 7 上启用 ELRepo 仓库 rpm --import https://www.elrepo.org/RPM-GPG-KE ...

  5. 兴趣点 / 关键点( Interest point/Keypoint )

    • 不同视角图片之间的映射           • 稳定局部特征点           • 可重复性.显著性           • 抗图片变换           • 外貌变换(亮度.光照)    ...

  6. css flex 兼容ios android--商品展示 添加购物车

    https://blog.csdn.net/u010035608/article/details/52711248 <!DOCTYPE html> <html> <hea ...

  7. depth: working copy\infinity\immediates\files\empty

    depth: working copy\infinity\immediates\files\empty 有时间,需要整理下,svn 合并深度这四项:具体的意思.

  8. EVIL TWIN AP

    git clone https://github.com/P0cL4bs/3vilTwinAttacker.git cd 3vilTwinAttacker/ ./installer.sh --inst ...

  9. Python __init__ 特殊方法

    在Python中有很多以双下划线开头且以双下划线结尾的固定方法.他们会在特定的时机被触发执行. __init__ 就是其中之一,它会在实例化之后自动被调用.以完成实例的初始化. >>> ...

  10. django实现分页

    分页实现思路: 1.接口拉取库内数据,进行分页 2.页面实现分页组件,切换不同链接 一.接口实现: from django.core.paginator import Paginator p=Pagi ...