关键字:通过前面一篇文章,大家对springboot以及spirngboot工程有了初步的了解。在现实工作中,我们一般会使用springboot开发自己实际的工程。所以今天重点给大家再讲一讲如何通过springboot进行web工程开发,以及在web工程开发中我们需要掌握哪些主要的技术点。
我在学习springboot之初,最早的学习路径就是把springboot分解成不同的知识模块,分别对它其中的每个模块进行独立学习。通过对每个模块的学习中,掌握每个模块中最基本的技术要点,我带着这两个问题进行学习:每个模块的知识是怎么的?每个模块将来在工程中是用来做什么的?
编写| 程序源代码
这两个问题进行学习:每个模块的知识是怎么的?每个模块将来在工程中是用来做什么的?我发现在springboot开发web项目中主要包含如下几个模块及技术要点
整合Servlet(请求处理器)
整合Filter(过滤器)
整合Listener(监听)
整合视图层技术
整合数据层技术
1
通过注解注册整合Servlet
Servlet主要功能在于交互式地浏览和修改数据生成动态Web内容。SpringBoot的核心控制器DispatcherServlet会处理所有的请求,所以对于我们自己写的Servlet来说,就需要进行相应的注册来让DispatcherServlet核心控制器知道你写的这个Servlet的作用以及处理的请求URL。
1、编写类
@WebServlet(name = "FirstServlet",urlPatterns = "/first")
public class FirstServlet extendsHttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
System.out.println("FirstServlet........................");
}
}
2、启动类
在启动类中添加@ServletComponentScan 注解。
在springboot启动时会扫描@WebServlet注解,并将该类实例化
2
通过注解注册整合Filter
首先我们说说什么是过滤器,过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的,这个时候,也可以用到过滤器。过滤器的功能还有很多,例如实现URL级别的权限控制、压缩响应信息、编码格式等等。
1、编写类
@WebFilter(value="FirstFilter",urlPatterns= {"/filter"})
public class FirstFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException,ServletException {
System.out.println("进入 FirstFilter ");
filterchain.doFilter(request, response);
System.out.println("离开 FirstFilter ");
}
@Override
public void destroy() {}
}
2、启动类
在启动类中添加@ServletComponentScan 注解。
在springboot启动时会扫描@WebServlet注解,并将该类实例化
3
通过注解注册整合Listener
首先我们说说什么是过滤器,过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的,这个时候,也可以用到过滤器。过滤器的功能还有很多,例如实现URL级别的权限控制、压缩响应信息、编码格式等等。
1、编写类
@WebListener
public class MyListener implementsServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) { }
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("MyListener ...init......");
}
2、启动类
@SpringBootApplication
@ServletComponentScan
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
在启动类中添加@ServletComponentScan 注解。
在springboot启动时会扫描@WebServlet注解,并将该类实例化
4
整合FreeMarker
FreeMarker 是一款 模板引擎:即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据,而在模板之外可以专注于要展示什么数据。
1、创建项目
使用IDE工具创建一个项目;
2、修改POM文件
3、创建实体
可以创建user实体。可以定义几个属性通过get/set方法,实现个构造器给属性赋值。
4、创建controller
创建方法用于响应请求。返回user对象。
5、创建视图
页面通过# $标签获取值
5
整合Thymeleaf
Thymeleaf 的主要目标是将优雅的自然模板带到开发工作流程中, 并将 HTML 在浏览器中正确显示, 并且可以作为静态原型, 让开发团队能更容易地协作。Thymeleaf 能够处理HTML, XML, JavaScript,CSS 甚至纯文本。长期以来jsp 在视图领域有非常重要的地位,随着时间的变迁,出现了一位新的挑战者:Thymeleaf,Thymeleaf是原生的,不依赖于标签库.它能够在接受原始 HTML 的地方进行编辑和渲染.因为它没有与Servelet规范耦合,因此Thymeleaf模板能进入jsp所无法涉足的领域。Thymeleaf 其实就是一个模板引擎;
1、创建项目
使用IDE工具创建一个项目;
2、修改POM文件
3、创建实体
可以创建user实体。可以定义几个属性通过get/set方法,实现个构造器给属性赋值。
4、创建controller
创建方法用于响应请求。返回user对象。
5、创建视图
页面通过th $标签获取值