注:此篇有些细节没写出,此文主要写重要的环节和需要注意的地方,轻喷

新建项目

选择Gradle , 勾选java 和 web。之后就是设定项目路径和名称,这里就不啰嗦了。

build.gradle文件下导入所需要的包,刷新一下。

  1 group 'com.benjious.createTest'
2 version '1.0-SNAPSHOT'
3
4 apply plugin: 'java'
5 apply plugin: 'war'
6
7 sourceCompatibility = 1.8
8
9 repositories {
10 mavenCentral()
11 }
12
13 dependencies {
14 testCompile group: 'junit', name: 'junit', version: '4.11'
15 testCompile group: 'junit', name: 'junit', version: '4.12'
16
17
18 compile'org.springframework:spring-context:4.3.6.RELEASE'
19 compile'org.springframework:spring-webmvc:4.3.6.RELEASE'
20 compile'org.springframework:spring-test:4.3.6.RELEASE'
21 }
22

目录结构

设置项目结构

贴出各个类的代码

  1 public class MyWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
2
3 @Override
4 protected Class<?>[] getRootConfigClasses() {
5 return new Class[]{RootConfig.class};
6 }
7
8 @Override
9 protected Class<?>[] getServletConfigClasses() {
10 return new Class[]{WebConfig.class};
11 }
12
13 @Override
14 protected String[] getServletMappings() {
15 return new String[] { "/" };
16 }
17 }
18
  1 //exclude : 过滤掉
2 @Configuration
3 @ComponentScan(basePackages = {"createtest"},excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = EnableWebMvc.class)})
4 public class RootConfig {
5
6 }
7
  1 @Configuration
2 @EnableWebMvc
3 @ComponentScan("createtest.web")
4 public class WebConfig extends WebMvcConfigurerAdapter {
5
6
7 @Bean
8 public ViewResolver viewResolver() {
9 InternalResourceViewResolver resolver = new InternalResourceViewResolver();
10 resolver.setPrefix("/WEB-INF/view/");
11 resolver.setSuffix(".jsp");
12 return resolver;
13 }
14
15
16 @Override
17 public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
18 configurer.enable();
19 }
20
21 }
  1 @Controller
2 public class HomeControl {
3
4 @RequestMapping("/home")
5 public String home() {
6 return "home";
7 }
8
9 }
  1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 <html>
3 <head>
4 <title>Home</title>
5 </head>
6 <body>
7 <p>home界面</p>
8 </body>
9 </html>

配置Tomcat

首先配置好Tomcat ,下面是配置好的界面

运行项目, 访问  http://localhost:8080/home/

这里需要的是在配置 Tomcat 中,设置 Application Context ,例如 Application Context 为 “/home ” ,那么 该项目的服务器的根地址为 :

http://localhost:8080/home/ , 那么要显示 home.jsp 界面应该为: http://localhost:8080/home/home .

参考:

IDEA创建一个Spring MVC 框架Java Web项目,Gradle构建的更多相关文章

  1. 规范化创建一个vs2017 Mvc框架项目

    vs2107 + dapper + MiniUi 标准化分层封装使 3.1 规范化创建一个vs2017 Mvc框架项目 此时创建的项目勾选 添加单元测试. 添加一个类库,主要用于实体类操作,类库名称 ...

  2. 使用Maven创建一个Spring MVC Web 项目

    使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 rele ...

  3. IntelliJ IDEA 14.x 创建工作空间与多个Java Web项目

    以往的Eclipse.NetBeans等开发工具不同,IDEA的Project相当与Eclipse的Workspace,而Module相当于Project. 下边就给出Eclipse与IDEA的概念的 ...

  4. 快速创建一个 spring mvc 示例

    1. 创建一个 servlet 项目 参考 http://www.cnblogs.com/zno2/p/5908589.html 2. 引入 spring mvc 依赖 <dependency& ...

  5. 使用IDEA搭建一个Spring + AOP (权限管理 ) + Spring MVC + Mybatis的Web项目 (零配置文件)

    前言: 除了mybatis 不是零配置,有些还是有xml的配置文件在里面的. 注解是Spring的一个构建的一个重要手段,减少写配置文件,下面解释一下一些要用到的注解: @Configuration  ...

  6. 使用IDEA搭建一个 Spring + Spring MVC + Mybatis 的Web项目 ( 零配置文件 )

    前言: 除了mybatis 不是零配置,有些还是有xml的配置文件在里面的. 注解是Spring的一个构建的一个重要手段,减少写配置文件,下面解释一下一些要用到的注解: @Configuration  ...

  7. 使用go语言开发一个后端gin框架的web项目

    用liteide来开发go的后端项目,需要注意的是环境变量要配置正确了 主要是GOROOT, GOPATH, GOBIN, PATH这几个, GOPATH主要用来存放要安的包,主要使用go get 来 ...

  8. Spring MVC框架处理Web请求的基本流程

  9. 【Spring】创建一个Spring的入门程序

    3.创建一个Spring的入门程序 简单记录 - Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)- Spring的基本应用 Spring与Spring MVC的 ...

随机推荐

  1. 279. 完全平方数 leetcode JAVA

    题目: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: ...

  2. 让子类使用父类的Logger

    参考博客:https://blog.csdn.net/zx1323/article/details/71262613 1.让子类使用父类的Logger,这是一种语法思路,可以减少代码臃肿. 2.使用的 ...

  3. Heap堆

    #pragma once#include<iostream>using namespace std;#include<vector> template<class T&g ...

  4. [ActionScript 3.0] 简单倒计时

    import flash.utils.Timer; import flash.events.TimerEvent; import flash.text.TextField; var text:Text ...

  5. 点击按钮添加一行,和本行的删除功能,序号变动,name属性更改

    <!--html结构--> <div> <input type="button" value="添加一行" onclick=&qu ...

  6. docker搭建elk+cerebro环境

    ELK的帮助手册 Docker Hub官网:https://hub.docker.com/r/sebp/elk/ Docker ELK使用文档:http://elk-docker.readthedoc ...

  7. c语言-猜生日算法

    #include<stdio.h>int main(){ int a1[6]={1,3,5,7,9,11}; int a2[6]={2,3,6,7,10,11}; int a3[6]={4 ...

  8. 2016级算法第三次上机-F.ModricWang的导弹防御系统

    936 ModricWang的导弹防御系统 思路 题意即为:给出一个长度为n的序列,求出其最长不降子序列. 考虑比较平凡的DP做法: 令\(nums[i]\) 表示这个序列,\(f[x]\) 表示以第 ...

  9. python爬虫urllib库使用

    urllib包括以下四个模块: 1.request:基本的HTTP请求模块,可以用来模拟发送请求.就像在浏览器里输入网址然后回车一样,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程. ...

  10. CentOS虚拟机断电或强制关机,再开机出现问题:Entering emergency mode. Exit the shell to continue.

    解决问题: 输入命令:xfs_repair -v -L /dev/dm-0