基于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
链接:
为了方便贴的链接是我常用的一个学习网站里面的下载链接。
下载后,解压到自己创建的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.运行测试
运行之后,输入网址
错误总结:
在配置完环境那一步。file--》project structture里面左侧最下面有个problems,如果上面有数字代表有配置错误,点fix,或按提示修复就行。
如果网页可以运行但是无法显示控制器传的数据,可以在控制器类的方法内打个断点,如果没进到断点有可能是url的问题。
如果进到了断点,且正常运行,但前端还是没收到数据。那么如果你用的是modelandview,看看引用的是不是org.springframework.web.servlet.modelandview,而不是org.springframework.web.portlet.modelandview。我就是坑在这上面,找了半天。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
idea创建springMVC框架和配置小文件的教程图解
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
IDEA SpringBoot下创建SpringMVC项目注册登录实例
-
基于IDEA搭建SpringMVC+Spring+Mybatis的全过程,并深入了解整个运行流程和项目配置
-
基于IDEA创建SpringMVC项目流程图解
-
SpringMVC创建项目流程
-
idea创建springMVC框架和配置小文件的教程图解
-
使用IDEA创建基于Maven的Web项目
-
idea springboot web项目创建并集成mybatis+springmvc(二)
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识