idea创建第一个SpringMVC项目

   这几天一直想用idea重新学一下Spring,重温一下Spring的知识,今天我想用idea创建一个SpringMVC项目。

一,首先新建一个Spring项目,勾选如下

点击Next

填写projectname

之后再点击fineshed。

二。idea会帮我们创建一个SpringMVC的模板,下面是项目结构

lib文件夹下是idea自动回我们下载好的jar包

三。此时我们添加一个tomcat

 

添加一个tomcat

之后在Deployment 中添加我们这个项目

添加完项目是这样

点击Apply , OK

四。之后我们可以运行tomcat了

运行之后,发现起不来,麻蛋,idea的模板原来还起不来,后来查了资料,

参考这篇博文,找到了解决办法

http://www.cnblogs.com/wormday/p/8435617.html

在这篇博文中说我们要看一下Tomcat Localhost Log的日志,我们发现:

好嘛。ClassNotFoundException ,原来是缺少类,在这篇博文中,他说少配置,idea真操蛋,模板居然都不能用,那我们按照博文中写的配置一下,

 

按照如上图所示,将相应的配置引入,我是用的是第一种,之后就能正常启动了,我访问index.jsp也没有问题

 

五。下面我们来写一个Controller,并且来访问一下

我们在src新建了一个包com.taoj.controller 并且在其下新建了一个类

package com.taoj.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/hi")
public class HelloController {

    @RequestMapping("/say")
    public String sqyHello(){
        return "/WEB-INF/jsp/say.jsp";
//        return "say";
    }

}

现在我们先写 return "/WEB_INF/jsp/say.jsp";

此时我们重启项目,访问一下 404

应该是因为没有say.jsp ,那么我们新建一个say.jsp

say.jsp内容如下:

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/5/23
  Time: 21:31
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  Sqy Hello World
  </body>
</html>

现在去访问还是404,

接下来我们在dispatcher-servlet.xml配置扫描包的语句就好使了

<!--扫描包-->
    <context:component-scan base-package="com.taoj.controller" />

现在我们访问 http://localhost:8080/mvc/hi/say.form

应该就能正常访问了,那么如果我把Controller中的return 语句写成 return "say";之后呢,访问时行不行,答案是不行,因为我们还没有配ViewResolver

那么我们来配置一下ViewResolver 

也是在dispatcher-servlet.xml中配置:

<!--指定视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 视图的路径 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 视图名称后缀  -->
        <property name="suffix" value=".jsp"/>
    </bean>

现在访问:http://localhost:8080/mvc/hi/say.form

结果如下:

 

------------------------------------------------*******************************------------------------------------------------------------

------------------------------------------------*******************************------------------------------------------------------------

这里我加一个问题,就是我再后来练习这个demo的时候,将上述dispatcher-servlet.xml中 prefix中的值 :

/WEB-INF/jsp/ 中 前面的 / 忘写了,也就写成了  WEB-INF/jsp/ 调试的时候总是找不到 后面的jsp ,后来才发现是这里少写了一个 / (斜杠) ,以后记住了,原来Spring 这里还没有考虑到这里忘写 / (斜杠)的问题,但是这只是一个Demo,一般情况下都不这么用的,这里记录一下,方便学习。

 

 

 

 

------------------------------------------------*******************************------------------------------------------------------------

------------------------------------------------*******************************------------------------------------------------------------

 

六,我再写一个Controller的sayLove方法:

package com.taoj.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/hi")
public class HelloController {

    @RequestMapping("/say")
    public String sqyHello(){
//        return "/WEB-INF/jsp/say.jsp";
        return "say";
    }

    @RequestMapping("/love")
    @ResponseBody
    public String sayLove(){
        return "我爱你火星";
    }

}

然后重启项目,访问http://localhost:8080/mvc/hi/love.form,结果如下:

输出了但是有乱码,乱码的问题我们再说。

使用idea创建SpringMVC项目就写到这里,方便以后自己回忆,如果有什么不对之处,请指出来,谢谢

 

 

不积跬步,无以至千里

不积小流,无以成江海

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值