Spring boot jsp版入门配置程序-maven工程源码

摘要: 最近很多应用都慢慢转向了微服务,而在微服务里面很多都用到了spring boot 框架,其实作为这个框架来说,还是比较简单的。官方的文档也写得比较详细。至于微服务这种模式,其实多年前就在用了,多个系统独立运行,病提供接口给其他系统使用,系统间通过RPC等方式进行交互数据。作为这种思想,已经没什么新意。但最近流行的框架,还是得看看,要不然以后别人问起来,都还没使用过,就太OUT了。这是一个入门的例子,没什么技术含量。记录下来的原因就是为了记录我这个周末没有白过,花了我两个小时的时间,一边看文档,一边自己弄,其实完全可以自己在网上下载一个例子,会更快,但个人习惯不喜欢那样。

最近很多应用都慢慢转向了微服务,而在微服务里面很多都用到了spring boot 框架,其实作为这个框架来说,还是比较简单的。官方的文档也写得比较详细。至于微服务这种模式,其实多年前就在用了,多个系统独立运行,病提供接口给其他系统使用,系统间通过RPC等方式进行交互数据。作为这种思想,已经没什么新意。但最近流行的框架,还是得看看,要不然以后别人问起来,都还没使用过,就太OUT了。

这是一个入门的例子,没什么技术含量。记录下来的原因就是为了记录我这个周末没有白过,花了我两个小时的时间,一边看文档,一边自己弄,其实完全可以自己在网上下载一个例子,会更快,但个人习惯不喜欢那样。

用到的东西:
Spring Boot 1.4.2.RELEASE
Spring 4.3.4.RELEASE
Tomcat Embed 8.5.6
Maven 3
Java 8

工程代码结构:


POM 文件如下:


  4.0.0
  com.yihaomen
  SpringBoot-001
  war
  0.0.1-SNAPSHOT
  SpringBoot-001 Maven Webapp
  http://maven.apache.org
  
  
		org.springframework.boot
		spring-boot-starter-parent
		1.4.2.RELEASE
	

	
		1.8
	

	

		
		
			org.springframework.boot
			spring-boot-starter-web
		

		
		
			org.springframework.boot
			spring-boot-starter-tomcat
			provided
		

		
		
			javax.servlet
			jstl
		

		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
			provided
		

		
		
			org.eclipse.jdt.core.compiler
			ecj
			4.6.1
			provided
		

		
		
			org.webjars
			bootstrap
			3.3.7
		

	
	
		
			
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	



初始化Application, 作为WEB工程来说,SpringBootServletInitializer 把这个web工程当做传统的WAR来部署,Application.java
package com.yihaomen.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(Application.class);
	}

	public static void main(String[] args) throws Exception {
		SpringApplication.run(Application.class, args);
	}

}

这个类原则上要放在最外层,最好在controller,service,repository的外层。可以参考上面的工程结构。

一个用来测试的 Controller :
package com.yihaomen.springboot.controller;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

	// 注入配置文件
	@Value("${welcome.message:test}")
	private String message = "Hello, You are my world";

	@RequestMapping("/")
	public String welcome(Map model) {
		model.put("message", this.message);
		return "hello";
	}
	
	@RequestMapping("/say")
	@ResponseBody
	public List say() {		
		List list = new ArrayList();
		list.add("summer");
		list.add("cool");
		return list;
	}

}


spring boot静态资源文件的使用:
1. 对于 CSS 或者 Javascript, 放到 /src/main/resources/static/ 文件夹里面。
2. 对于 配置文件,直接放到 /src/main/resources/ 文件夹下。
3. 对于JSP 页面,放到 src/main/webapp/WEB-INF/jsp/ 下。

其实这是一种约定优于配置的东西,注意在配置文件里面配置的东西:
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

welcome.message: This is a Hello World Test.


静态资源文件配置之后,注意在jsp页面的用法,特别 js, css的应用路径。可以参考例子hello.jsp

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



	
	

	
	
	




	

	

Spring Boot Web JSP Example(Using Bootstrap JS)

Message: ${message}



运行,就是比较简单了:
1. 直接当做java 工程直接运行都可以,如果在Eclipse 里面,找到Application.java, 然后run as --> java application就可以了。
2. 你也可以用maven 来运行:mvn spring-boot:run (这个时候,要切换到工程目录下运行)
3. 先用mvn package 打成 war包,然后再运行:java -jar target/springboot-001.0.1.war

检查运行效果,在浏览器输入:http://localhost:8080



注意,这是在达成war包的情况下,jsp页面才能这么用,如果jar 包是不可以用的,切记。在后面有时间继续研究如果是打成jar包的情况怎么处理。

最后,附上源代码,maven 工程:

spring boot jsp sample download

上一篇: windows, django1.10.5,py3.5, mysqlclient1.3.9 安装
下一篇: Spring boot 非web版(jar)入门配置程序-maven工程源码

Avatar

www.liuhaihua.cn 评论于: 2017-03-14

我们最近在尝试这个框架
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号