IntelliJ IDEA中搭建SpringMVC环境
来源:互联网 发布:安卓富文本编辑器源码 编辑:程序博客网 时间:2024/06/03 23:04
2017年9月开始接触Java Web的学习,被要求使用SpringMVC框架进行开发。由于之前使用过Android Studio进行Android App的开发,实在是太喜欢JetBrains的IDE,所以决定使用IntelliJ IDEA来进行环境的搭建。
为了搭建环境,翻查过很多博客,看到写法都有写参差不齐,对于一个新手来说可能会很吃力。
于是在这里对SpringMVC的IntelliJ IDEA环境搭建流程做一个简单记录,此处使用的是2017.2.3版本。
由于本人是初学者,有写的不对的地方希望可以加以指正,谢谢。
点击Create New Project
来创建一个新的工程,在配置项中选择Spring MVC
就可以了,IntelliJ IDEA会自动下载最新版本的SpringMVC框架所需的包,点击Next
之后就是输入工程的名称,这里随便取一个名字叫“testmvc”好了。
工程创建好之后,会看到这样一个目录结构。
首先第一步,我们需要在“WEB-INF”目录下新建两个Directory,分别命名为“lib”和“classes”,并且把工程根目录下的“lib”文件夹下面的包全部复制到新建的“WEB-INF/lib”下。
接下来开始对IntelliJ IDEA进行一些设置。
点击File -> Project Structure
,在弹出的窗口左侧选择Project Setting -> Modules
,打开对Modules的设置并切换到名为Paths
的tab下。选择Use module compile output path
,手动将输出路径改为刚才所新建的“classes”文件夹路径。
然后再切换到名为Dependencies
的tab下,将新建的“WEB-INF/lib”路径添加进去。
下一步,在窗口左侧选择Project Setting -> Artifacts
,将输出目录改为“web”文件夹,再右键点击窗口右半侧选择Put into Output Root
,将所需的库转移到输出根目录下。
到这里,我们对IntelliJ IDEA的配置就暂时告一段落。接下来我们对SpringMVC的几个文件进行一些修改或编写,来写一个Hello World测试一下配置是否正确。
首先是web.xml
的修改,其实IntelliJ IDEA已经帮我们完善了很多配置工作,在这里只需要将“url-patten”标签下的内容进行修改,具体原因还有待学习,网上对此也有很多说法。这里编写Hello World测试改为“/”就行了。
<url-pattern>/</url-pattern>
会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
<url-pattern>/*</url-pattern>
会匹配所有url,路径型的和后缀型的url(包括/login,.jsp,.js和*.html等)
<?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_3_1.xsd" version="3.1"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
接着我们来配置一下dispatcher-servlet.xml
,在此之前先在“src”目录下新建一个包用于存放controller,在“WEB-INF”目录下新建一个目录用于存放view,名称可以任取。
<?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:mvc="http://www.springframework.org/schema/mvc" 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"> <!--访问静态资源--> <mvc:default-servlet-handler/> <!--开启注解--> <mvc:annotation-driven/> <!--spring自动扫描该包下面的controller--> <context:component-scan base-package="com.oshinoshinobu.controller"/> <!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean></beans>
其中context:component-scan
表示spring会到这个包里面去扫描controller。而视图解析器表示会根据注解@RequestMapping
的方法返回值,获取一个“prefix + returnVal + suffix”的视图。
如:返回值为“hello”,则得到“/WEB-INF/jsp/hello.jsp”。
到这里,配置文件算是解决了,我们来写点代码。
先修改一下index.jsp
的内容,添加一个超链接。
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Index</title></head><body><a href="hello">Hello SpringMVC</a></body></html>
再在“WEB-INF/jsp/”下新建一个jsp文件,这里取名为“hello.jsp”。
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Hello</title></head><body>${msg}</body></html>
视图创建好了,我们还需要一个控制器。
在“src”路径下自己建立的包里添加一个java文件,来编写controller。
package com.oshinoshinobu.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controllerpublic class HelloController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public String helloWorld(ModelMap modelMap){ modelMap.addAttribute("msg","Hello World!"); return "hello"; }}
下面我们来运行一下看看效果,点击Run -> Edit Configurations
来配置Tomcat。
新建一个Tomcat的Local Server。
切换到Deployment
的tab, 添加一个新的部署。这里建议把Application context
修改为项目名称,有助于区分。
Tomcat配置好之后如图所示,很多设置都是默认的不需要修改。
如果是第一次配置,还需要点击Configure
来添加Tomcat,选择相应的安装路径即可。
运行一下。
常见问题
1. 运行报错,找不到mvc:default-servlet-handler
声明
解决办法是将dispatcher-servlet.xml
里面的文件头重新添加一下,尤其是xmlns:mvc="http://www.springframework.org/schema/mvc"
。建议将这一行删除之后,在变红的mvc
字段上使用“Alt+Enter”组合键来添加。
2. 看起来一切都正常,就是404
解决办法是重新配置一下Project Structure
里面的设置,修改输出路径,添加lib,修改输出文件夹,少一步就会404。
3. 修改了配置文件之后,依旧说有错误
建议是Build -> Rebuild Project
,往往可以解决。
- IntelliJ IDEA中搭建SpringMVC环境
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- Springmvc + Mybatis + IntelliJ IDEA 环境搭建
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- IntelliJ IDEA中Java web 环境搭建
- IntelliJ IDEA环境搭建
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
- 使用intellij idea搭建spring-springmvc-mybatis整合框架环境
- Intellij Idea 搭建J2EE SpringMVC
- idea中springmvc, mybatis, gradle环境搭建
- IntelliJ IDEA搭建Spring环境
- Kotlin IntelliJ IDEA环境搭建
- 从头搭建IntelliJ IDEA环境
- Ajax的回顾
- io
- 卷积神经网络——Network In Network
- 解决Android Studio打包生成apk装到手机后闪退
- 二叉树与二叉查找树
- IntelliJ IDEA中搭建SpringMVC环境
- JAVA学习笔记2--数据类型
- C# Chart曲线图XY轴刻度刷新
- 真UNITY3D_一些脚本
- Java序列化和hessian序列化的区别
- 线性回归c++实现
- python3学习-列表方法
- weui-tabbar老是在顶部 如何让 height:100%; 起作用
- 剑指offer面试题2:实现Singleton模式(Java版)