作为一名从.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

错误总结:

  1. 在配置完环境那一步。file--》project structture里面左侧最下面有个problems,如果上面有数字代表有配置错误,点fix,或按提示修复就行。
  2. 如果网页可以运行但是无法显示控制器传的数据,可以在控制器类的方法内打个断点,如果没进到断点有可能是url的问题。
  3. 如果进到了断点,且正常运行,但前端还是没收到数据。那么如果你用的是ModelAndView,看看引用的是不是org.springframework.web.servlet.ModelAndView,而不是org.springframework.web.portlet.ModelAndView。我就是坑在这上面,找了半天。

使用IDEA创建SpringMVC项目的更多相关文章

  1. springmvc学习笔记---idea创建springmvc项目

    前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...

  2. 【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  3. 工具idea 基于maven 创建springMVC项目

    SpringMVC Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不 ...

  4. 在eclipse中使用maven创建springMVC项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  5. eclipse创建springmvc项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  6. SpringMVC教程--eclipse中使用maven创建springMVC项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  7. SpringMVC教程--Idea中使用Maven创建SpringMVC项目

    1.新建项目 参照idea教程中的创建maven项目https://www.cnblogs.com/daxiang2008/p/9061653.html 2.POM中加入依赖包 (1)指定版本 (2) ...

  8. SpringMVC+Hibernate 项目开发之三 (创建SpringMVC项目)

    引用(很全面了):http://blog.csdn.net/dhx20022889/article/details/38041039 我只想说默认创建的项目使用的Spring版本可能不是你想要的,可以 ...

  9. IDEA用maven创建springMVC项目和配置

    工具准备:IDEA2016.3 Java jdk 1.8 1.DEA创建项目 新建一个maven project,并且选择webapp原型.  然后点击next  这里的GroupId和Artifac ...

  10. sts 创建springMVC项目---- maven和tomcat 错误处理

    今天学习spring的时候,学到了springMVC, 因为springMVC 就是beginning spring 书籍的第三章,为了更深入或更简单的起步学习springMVC, 我又找了另外一本书 ...

随机推荐

  1. Redis(六)复制

    在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求.Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本.复制功能是高可用R ...

  2. 小白 Python 爬虫部署 Linux

    前言 前面国庆节的时候写过一个简易的爬虫. <Python 简易爬虫实战> 还没看过的同学可以先看一下,这只爬虫主要用来爬取各个博客平台的阅读量等数据,一直以来都是每天晚上我自己手动在本地 ...

  3. Unity3-各个内置面板,对象说明

    *在Inspector面板中,是表示每个物体(诸如摄像机,圆柱,正方体)的组件. 组件包含: 1.Transform,在第一节当中,可以用于变换物体的位置.每个物体对象都有. 2.cube,网格,对于 ...

  4. 使用float设置经典的网站前端结构(深入探讨)

    .要是DIV的子元素宽度大于它自己的宽度,不管子元素有没有脱离文档流,子元素会在横向向右溢出. 关于高度:1.要是DIV的高度没有设定,其高度受“没有脱离文档流”的子元素影响.以下是DIV宽度为0的情 ...

  5. Linux基于webRTC的二次开发(一)

    最近在做Linux平台下webRTC的二次开发,一路摸索,中间踩了不少坑,这一篇博客先来简单介绍下Linux上如何使用GCC编译webRTC. 为什么使用GCC编译? 这其实是无奈之举,Linux下w ...

  6. 【TCP/IP网络编程】:03地址族与数据序列

    上一篇文章介绍了套接字的创建过程,这篇文章主要讨论分配给套接字的IP地址和端口号的相关知识. IP地址和端口号 IP(Internet Protocol,网络协议)地址是收发网络数据而分配给计算机的值 ...

  7. 「考试」$5T$

    啊因为最近题实在是好啊,只能四五篇四五篇写了. T1. 括号序列的确简单. 当我们维护左右$cnt$后. 到一个左括号的地方的话. 答案就是:$$\sum\limits_{i=1}^{min(lc,r ...

  8. 『题解』Codeforces2A Winner

    Portal Portal1: Codeforces Portal2: Luogu Description The winner of the card game popular in Berland ...

  9. 机器学习之Anaconda介绍

    Anaconda Distribution 最受欢迎的Python / R数据科学发行版 轻松安装1,400多个Python / R数据科学包并管理您的包,依赖项和 环境 - 只需单击一下按钮即可.免 ...

  10. Linux系统移植的重要文件

    移植linux内核的关键文件:             arch/arm/mach-s5p6818/cpu.c                         cpu_init_machine()   ...