基于IDEA创建SpringMVC项目流程图解

 更新时间:2020年10月30日 15:23:52   作者:耶low  
这篇文章主要介绍了基于IDEA创建SpringMVC项目流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

作为一名从.NET转Java的小渣渣,之前都是听说Java配置复杂,今天算是见识到了。甚是怀念宇宙第一IDE VS和.NET高效的开发。

网上大多教程是基于Eclipse的,即使按照IDEA的教程做,第一次上手,或多或少有些问题,特意在这里做个笔记和分享。

我的IDEA版本是2019.2,Tomcat是9.0,JDK是1.8,按照以下步骤操作,应该没啥问题。

1.创建项目

2.命名

3.等待jar包下载完毕

下面是我创建完后,文件目录结构

4.创建所需的文件夹

在WEB-INF下创建classes、lib、page(放网页的地方)文件夹

在src下创建control文件夹,存放控制器类

5.配置环境

由于idea下载的jar包并不完整,只是框架的包,所以还需下载一些jar

链接:https://how2j.cn/frontdownload?bean.id=381

为了方便贴的链接是我常用的一个学习网站里面的下载链接。

下载后,解压到自己创建的lib文件夹里,注意是WEB-INF下自己创建的,不是外部的lib

解压后右键lib文件夹,然后如图操作

接着file--》project structture。然后如图操作

6.开始写配置文件

打开web.xml。里面默认有些内容了,贴上我的代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
     version="4.0">
  <servlet>
<!--    两个HelloMVC必须一样,随意自己取名-->
    <servlet-name>HelloMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>HelloMVC</servlet-name>
    <!--    <url-pattern>*.form</url-pattern>-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

如果你的取得名字是HelloMVC,那么与其对应的servlet名字必须是:HelloMVC-servlet.xml。格式是:自定义名称-servlet.xml

HelloMVC-servlet内容如下:

<?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: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">
  <!--  控制器类所在的包-->
  <context:component-scan base-package="control"/>
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--  /WEB-INF/page/意为页面的路径,.jsp为页面格式-->
    <property name="prefix" value="/WEB-INF/page/"/>
    <property name="suffix" value=".jsp"/>
  </bean>
</beans>

7.开始写控制器类内容了

在src-control下新建一个类,叫IndexController

内容如下:

package control;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Controller
public class IndexController {
  @RequestMapping("/index")
//  public String handleRequest(Model model) throws Exception {
//    model.addAttribute("message","这是第一个SpringMVC网页");
//    return "index";
//  }
  public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{
    ModelAndView model=new ModelAndView("index");
    model.addObject("message","这是第一个SpringMVC网页");
    return model;
  }
}

有两种方法可用,一个是ModelAndView,一个是Model。具体区别大家可以看其他博文,我以后也许会写一篇关于这个的博客。

8.开始写网页

在page文件夹下创建一个index.jsp.把最外面的一个index删掉。

内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>SpringMVC</title>
</head>
<body>
<h1>测试</h1>
<h1>${message}</h1>
</body>
</html>

9.开始配置Tomcat

10.运行测试

运行之后,输入网址

http://localhost:8080/index

错误总结:

在配置完环境那一步。file--》project structture里面左侧最下面有个problems,如果上面有数字代表有配置错误,点fix,或按提示修复就行。

如果网页可以运行但是无法显示控制器传的数据,可以在控制器类的方法内打个断点,如果没进到断点有可能是url的问题。

如果进到了断点,且正常运行,但前端还是没收到数据。那么如果你用的是ModelAndView,看看引用的是不是org.springframework.web.servlet.ModelAndView,而不是org.springframework.web.portlet.ModelAndView。我就是坑在这上面,找了半天。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MyBatis中的循环插入insert foreach问题

    MyBatis中的循环插入insert foreach问题

    这篇文章主要介绍了MyBatis中的循环插入insert foreach问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • java将数据写入内存,磁盘的方法

    java将数据写入内存,磁盘的方法

    下面小编就为大家分享一篇java将数据写入内存,磁盘的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 使用Servlet Filter实现系统登录权限

    使用Servlet Filter实现系统登录权限

    这篇文章主要为大家详细介绍了使用Servlet Filter实现系统登录权限,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 手写redis@Cacheable注解 参数java对象作为key值详解

    手写redis@Cacheable注解 参数java对象作为key值详解

    这篇文章主要介绍了手写redis@Cacheable注解 参数java对象作为key值详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 使用java.nio.file 库优雅的操作文件详解

    使用java.nio.file 库优雅的操作文件详解

    这篇文章主要介绍了使用java.nio.file 库优雅的操作文件详解,需要的朋友可以参考下
    2023-05-05
  • 详谈Feign的配置类是如何生效的

    详谈Feign的配置类是如何生效的

    这篇文章主要介绍了Feign的配置类是如何生效的,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Springboot登录验证的统一拦截处理的实现

    Springboot登录验证的统一拦截处理的实现

    如果不进行统一的拦截处理,每次用户请求你都要去进行用户的信息验证,所以本文主要介绍了Springboot登录验证的统一拦截处理的实现,感兴趣的可以了解一下,感兴趣的可以了解一下
    2023-09-09
  • Java Web导出等比例图片到Excel的实现过程

    Java Web导出等比例图片到Excel的实现过程

    我们使用Java导出图片到Excel,打开成功导出的Excel一看,商品对应的图片都很规矩的按照我的设置铺满了整个单元格,但是,商品图片却都变形了,这样肯定是不行的,于是第一反应就是将图片等比例导出,所以本文本给大家介绍了如何使用Java Web导出等比例图片到Excel
    2023-11-11
  • Java 集合中关于Iterator和ListIterator的用法说明

    Java 集合中关于Iterator和ListIterator的用法说明

    这篇文章主要介绍了Java 集合中关于Iterator和ListIterator的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Mybatis 动态表名+Map参数传递+批量操作详解

    Mybatis 动态表名+Map参数传递+批量操作详解

    这篇文章主要介绍了Mybatis 动态表名+Map参数传递+批量操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论