12.解决绝对路径和静态资源访问

12. 解决绝对路径和静态资源访问

1、设置绝对路径

路径问题一直在访问过程中一直存在,如果把所有的路径都替换为绝对路径,就可以解决这个问题。

1.1 编写过滤器

ObjectListener.java

package com.company.springMVC.util;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * 监听器类
 * 设置全局默认地址
 */
public class ObjectListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("ServletContext对象创建");

        //监听ServletContext 对象的创建
        ServletContext context = sce.getServletContext();
        context.setAttribute("path", context.getContextPath());
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}

1.2 配置监听器

web.xml

  <!-- 配置监听器 -->
  <listener>
    <listener-class>com.company.springMVC.util.ObjectListener</listener-class>
  </listener>

1.3 使用绝对路径

使用EL表达式 ${path}

<form id="formID" action="${path}/userController/userSave">
    用户名:<input type="text" name="userName">
    <br/>
    密码:<input type="password" name="password">
    <input type="submit" value="提交" id="submitBtn">
</form>

2、设置静态资源访问

由于SpringMVC的特性,静态资源默认是不允许被访问的,需要修改配置。

在SpringMVC的配置文件中springmvc.xml

<!-- 过滤静态资源文件  -->
<mvc:default-servlet-handler/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值