在配置tomcat时,默认打开页面的url设置问题

在配置tomcat时,默认打开页面的url设置问题

http://img1.sycdn.imooc.com//climg/5bfa0daa0001253f07720160.jpg就是这个Application context,视频里老师的设置是直接把  "/"  去掉,我根据老师的设置访问test出现的404报错,然后我把Application context的参数改成如上图所示就可以正确访问test了  这是为什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕阿莹 2018-11-26 18:48:36

测试同学贴上了的代码。其他的用的源码,直接访问test是没有问题的:运行结果如下图所示:


http://img1.sycdn.imooc.com//climg/5bfbcf0200014fbc05990195.jpg

tomcat配置如下:

http://img1.sycdn.imooc.com//climg/5bfbcf500001f1c710810835.jpg

http://img1.sycdn.imooc.com//climg/5bfbcf6300016e4b10690247.jpg

建议同学再试试看。祝学习愉快。

  • 提问者 荒小北158 #1
    所以嘛~~~~55555555为啥子你们可以哦 我就必须得加个/ProjectName才能访问得到资源 哪个地方的配置出了问题
    2018-11-26 18:55:42
  • chrismorgen 回复 提问者 荒小北158 #2
    恩。。。建议同学按照上图的配置,单独创建一个工程试试呢,或者重新rebuid一下项目工程,重启等操作,都是一样的编译工具,应该不会出现差异,祝学习愉快~
    2018-11-26 19:12:54
提问者 荒小北158 2018-11-26 16:20:30
package com.imooc.handler;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

/**
 * Handler组件
 */
public class MyHandler implements Controller{
    public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
        //装载模型数据和逻辑视图
        ModelAndView modelAndView = new ModelAndView();
        //添加模型数据
        modelAndView.addObject("name","Tom");
        //添加逻辑视图
        modelAndView.setViewName("show");
        return modelAndView;
    }
}
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

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

   <servlet>
     <servlet-name>SpringMVC</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!--配置SpringMVC.xml的路径-->
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:springmvc.xml</param-value>
       </init-param>
   </servlet>

    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:coontext="http://www.springframework.org/schema/context"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">


    <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

        <property name="mappings">
            <props>
                <prop key="/test">testHandler</prop>
            </props>
        </property>
    </bean>

    <bean id="testHandler" class="com.imooc.handler.MyHandler"></bean>
    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--配置前缀-->
        <property name="prefix" value="/"></property>
        <!--配置后缀-->
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>
<!--这是show.jsp文件-->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    ${name}
</body>
</html>


好帮手慕阿莹 2018-11-26 13:47:01

用老师的代码测试了一下,是可以正常访问的:


http://img1.sycdn.imooc.com//climg/5bfb883f0001a97207660136.jpg

http://img1.sycdn.imooc.com//climg/5bfb88550001103f04380125.jpg

不知道同学的springmvc.xml是否和老师配置的一样呢?

http://img1.sycdn.imooc.com//climg/5bfb888e0001276910080291.jpg

建议同学可以下载老师的源码再试一下。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 荒小北158 #1
    对对对 配置是一样的!所以我的问题还是Application context的路径设置问题,为什么按照老师那样的设置我的会报404,而我换一种设置就可以访问得到呢?是里面有什么原因呢
    2018-11-26 15:17:55
  • 好帮手慕阿莹 回复 提问者 荒小北158 #2
    emmm,我就是按照老师的测试的,发现是可以的耶,没有报404,同学会不会是访问的时候拼写错了呢?你下载老师的源码,按照老师的方法,就是去掉“/”的这种试试,看看是否可以呢?
    2018-11-26 15:29:04
  • 提问者 荒小北158 回复 好帮手慕阿莹 #3
    不是不是 ~假设我按照你说的,下载源码测试,结果是按照老师的那种方式可以访问的到 但这个结果并没有解释我目前的这个情况啊,我的目的是想知道为什么我在我这个代码的基础上按照老师的那种方式访问是404(创建项目和代码都是跟老师后面敲得,后期有检查,我按照我的那个Appilication context设置是可以访问到,这说明代码没有问题) 那么问题来了!老师的那个设置对于我现在的代码为啥子行不通?
    2018-11-26 15:34:30
好帮手慕阿莹 2018-11-26 09:48:58

如果加上"/SpringMVCTest"时,访问项目时要带上项目名,如果不写,访问时就不加项目名,不知道不加这个的时候同学是如何访问的呢?

不过,同学可以正常访问了就好哟。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 荒小北158 #1
    加上这个的时候启动项目,tomcat默认打开的就是 以/SpringMVCTest结尾的url啊,如果tomCat那里没有加SpringMVCTest 那么启动项目访问/test会报404,访问/show也是404 为什么老师不加就可以访问得到 而我就不行呢,我不大明白为什么
    2018-11-26 09:59:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师