springmvc能访问jsp不能访问Controller

springMVC能访问jsp文件但访问不了Controller

项目场景:

刚学习springMVC,之前干web时候搭建的环境就一直能用,新建列一个模块后练习,发现代码与老师敲的一模一样,但就是开启服务器后只能访问jsp,访问Controller一直报404


问题描述:

MVC简易搭建就四个地方,
一,maven中添加依赖

 <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.9.RELEASE</version>
        </dependency>

二,web.xml中声明springDispatherServlet

<servlet>
        <servlet-name>myweb</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--自定义springMVC读取的配置文件所在位置-->
        <init-param>
            <!--指定springMVC文件的位置-->
            <param-name>contextConfigLocation</param-name>
            <!--指定自定义文件的位置-->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--表示Tomcat在启动后创建对象的顺序-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>myweb</servlet-name>
        <!--可以有两种值,
        1,使用扩展名,,如*.do,*.mvc等:http://localhost:8080/mvc/some.do
        2,使用 / -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

二,在controller目录下新建一个类,类上使用@Controller注解,类下面的方法即相当于servlet的doGet()方法,在方法上注解@RequestMapping或者@GetMapping都行,括号里的即为访问地址url,

@Controller
public class MyController {

    @RequestMapping("/some.do")
    public ModelAndView doSome(){
    
        ModelAndView mv = new ModelAndView();
        
        mv.addObject("name","张三");
        
        mv.setViewName("/show.jsp");
        
        return mv;
     }

二,resource目录下的springmvc.xml文件中添加如下代码进行注解扫描

<context:component-scan base-package="amon.controller"/>

原因分析与解决:

对比代码后,该有的地方都有,并且Tomcat启动并没有问题,而maven项目的包又都成功导入并使用了因此只能是环境问题,我检查了jdk版本都没错,target目录下的文件也都在,Java Enterprise目录结构下也可以找到调度器生成的myweb目录,但就是访问不了,只可能是资源资源部署到服务器上时出问题了,于是在看列Aritifacts内,终于发现,是构建项目时lib目录没有生成,从而无法访问,于是新建一个lib目录,设置成目录文件就好了在这里插入图片描述
在这里插入图片描述


总结,基础不牢,地动山摇,很多时候我们跌入过的坑,都是之前运气好没踩下的坑,坑只要不踏平,永远都在那里
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值