2024-03-25 分类: 网站建设
一、spring boot简介
spring boot是最近非常流行的,在spring的框架上改进的框架。该框架的目的是为了提高开发人员的速度,降低配置的难度等等,极大了简化了开发流程。具体的详细的说明请参考官方文档。在日常工作中,由于需要搭建一套环境或者框架的机会非常的少,大部分都是在原有的基础上开发,所以当让你搭建一个简单的框架,就会出现各种各样的困难,比如说,我在搭建的一个服务器的时候,准备了一个小的demo,原以为非常的简单,结果遇到了各种各样的问题,而发现网上的博客都是零零散散的讲一些点,很难有一个完整的流程,包括可能会遇到的问题。这里对搭建一个简单的项目流程做一个详细的总结,方便日后参考,同时这一篇博客也是为了下一篇博客tengine反向代理服务器搭建做一点前置的基础准备。
二、spring boot搭建web项目
好了废话,不多说,下面正式开始单间一个web项目,使用的工具是eclipse来进行搭建,创建一个maven工程。下面开启贴图模式,这前面的过程都是非常的简单,网上也有大量的参考资料,这里为了保证一个完整性,开始贴图。
首先就是很简单,右击-->new-->project 选择maven project
然后选择一个默认的配置即可,一般包含的文件都会在里面。
这里填写好group id其实就是包名,后面也可以更改的,还有artifiact id就是工程名称,然后单击完成,就创建一个简单的maven工程。
具体的工程目录如下所示
按照上面的流程建好了工程之后,可以查看到具体的工程目录如下,这里作为一个web项目还缺少如下相关目录用来存放web文件和配置文件。
src/main/resources //这个文件夹中存放的是配置文件例如application.properties 配置文件
src/main/webapp //这个文件夹中存放的是前端的文件html,jsp、css
这些文件夹手动添加即可,添加完成之后,具体得到的如下图所示:
要想把这个项目跑起来,需要做一下几个步骤:
1. 首先需要配置一下pom.xml文件,引入spring-boot的相关依赖文件 ,这个是最基本的包,里面包含了运行的相关组件,例如tomcat,以及其他的jar包
org.springframework.boot
spring-boot-starter-parent
1.5.10.RELEASE
org.springframework.boot
spring-boot-starter-web
这样就能启动一个spring-boot的web项目,其中内嵌了相关的tomcat服务器,接下里是至关重要的,因为如果不引入下面的jar包,在调整jsp的页面的时候直接看到的是变成了下载的模式,笔者也是在这个地方郁闷了半天,百度上找了好多的例子,大部分都没讲到这个方面,故而在这里重点说明一下
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
provided
引入了这个jar之后呢,才能对jsp进行解析,编译,到这里之后,相关的依赖基本上都算引入完成。接下来要做的是配置application.properties配置文件,这里面也是有一堆坑在这里。默认的情况下,这个配置文件是不需要配置的,服务器也可以启动起来。但是很多同学在搭建玩项目之后,进行的跳转的时候,不是报找不到页面,就是解析错误。因为在这个配置文件中需要指定一下需要跳转的jsp页面的路径,即,具体在哪个文件夹下面,添加如下配置:
默认的位置是src/main/webapp 这里可以更换,比如/page/ 那么目录就变成了src/main/webapp/pages
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
这里面还有一个坑,在新版本的spring boot中是按上面的配置,但是在老的版本中是如下的用法,名称不一样,这里需要注意一下,否则对于新学者来说,又要懵逼半天了...
spring.view.prefix=/
spring.view.suffix=.jsp
然后需要创建jsp的页面了,在添加的源码包src/main/webapp的下面添加jsp文件,注意,webapp是默认的路径,如果想继续分类,则可以在该文件夹下面进行添加,比如说添加一个pages文件夹,jsp文件都放在这里面,那么spring.mvc.view.prefix=/pages/ 否则会找不到对应的文件。大体的目录结构如下所示:
|----src/main/webapp
|------index.jsp
|------pages
|----page.index
对于jsp页面中,就写入一点简单的测试语句就行了
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
hello world!!!
name=${name } welcome!
好了,上面的步骤都完成之后,这里,只要编写简单的Controller即可,这里面提供了两个跳转路径一个是/home,一个是/home/page,一个是携带返回值,一个没有返回相应结果。
@Controller
public class HomeController {
@RequestMapping(value="/home")
public String home(){
System.out.println("redirect to home page!");
return "index";
}
@RequestMapping(value="/home/page")
@ResponseBody
System.out.println("go to the home page!");
mode.addObject("name", "zhangsan");
return mode;
}
}
然后在App类中,添加如下代码:
@SpringBootApplication
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class);
}
}
写好上面的Controller之后,在App类上面右击,选择Run Application执行main函数,看到控制台输出如下,说明spring boot启动成功
. ____ _ __ _ _
/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
|____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.10.RELEASE)
2018-03-01 17:32:42.069 INFO 64878 --- [ main] com.spring.example.App : Starting App on fhldeMacBook-Air.local with PID 64878 (/Users/fhl/Documents/workspace1/spring-boot-example/target/classes started by fhl in /Users/fhl/Documents/workspace1/spring-boot-example)
2018-03-01 17:32:42.074 INFO 64878 --- [ main] com.spring.example.App : No active profile set, falling back to default profiles: default
2018-03-01 17:32:42.175 INFO 64878 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1d8299fd: startup date [Thu Mar 01 17:32:42 CST 2018]; root of context hierarchy
2018-03-01 17:32:45.865 INFO 64878 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2018-03-01 17:32:45.892 INFO 64878 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-03-01 17:32:45.895 INFO 64878 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.27
2018-03-01 17:32:46.530 INFO 64878 --- [ost-startStop-1] org.apache.jasper.servlet.TldScanner : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2018-03-01 17:32:46.542 INFO 64878 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-03-01 17:32:46.543 INFO 64878 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 4371 ms
2018-03-01 17:32:46.809 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: dispatcherServlet to [/]
2018-03-01 17:32:46.818 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: characterEncodingFilter to: [/*]
2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: hiddenHttpMethodFilter to: [/*]
2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: httpPutFormContentFilter to: [/*]
2018-03-01 17:32:46.819 INFO 64878 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: requestContextFilter to: [/*]
2018-03-01 17:32:47.838 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1d8299fd: startup date [Thu Mar 01 17:32:42 CST 2018]; root of context hierarchy
2018-03-01 17:32:48.136 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/home]}" onto public java.lang.String com.spring.example.controller.HomeController.home()
2018-03-01 17:32:48.150 INFO 64878 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity
名称栏目:springboot搭建web项目完整流程,以及遇到的一些坑坑洼洼总结
当前链接:https://www.cdcxhl.com/news29/321729.html
成都网站建设公司_创新互联,为您提供网站改版、云服务器、网站导航、关键词优化、网站排名、服务器托管
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容