这篇文章将为大家详细讲解有关Spring boot如何搭建web应用集成thymeleaf模板实现登陆,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Spring boot 搭建web应用集成了thymeleaf模板实现登陆
下面是pom.xml的配置
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>exam</groupId> <artifactId>examSystem</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <!--spring boot 的基本配置 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.7.RELEASE</version> </parent> <!--基本配置,设置编码,入口,jdk版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <start-class>com.study.App</start-class> <java.version>1.7</java.version> <shiro.version>1.3.0</shiro.version> </properties> <!-- 设置编译 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> </dependencies> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--jpa的jar包 ,操作数据库的,类似hibernate--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--thymeleaf模板jar--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 添加restfull的支持 --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core</artifactId> <version>1.53.0</version> </dependency> <!-- 添加 druid 数据源连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.25</version> </dependency> <!-- 添加权限认证--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>${shiro.version}</version> </dependency> <!--thymeleaf 和 shiro 的整合 --> <dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId> <version>1.2.1</version> </dependency> </dependencies></project>
主入口main方法
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.web.SpringBootServletInitializer;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan@EnableAutoConfigurationpublic class App extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(App.class, args); }}
登陆页提交表单代码,
<form class="form-signin" role="form" th:action="@{/user/login}" th:method="post"> <input type="text" class="form-control" placeholder="用户名" required="required" name="userName" /> <input type="password" class="form-control" placeholder="密码" required="required" name="passwprd" /> <button class="btn btn-lg btn-warning btn-block" type="submit">登录</button> <label class="checkbox"> <input type="checkbox" value="remember-me" /> 记住我 </label> </form>
Controller 代码
package com.study.system.contrller;import com.study.model.contrller.BaseContrller;import com.study.model.po.User;import com.study.system.services.UserServices;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import java.util.List;@Controller@RequestMapping(value = "/user")public class UserContrller extends BaseContrller { @RequestMapping(value="/login",method= RequestMethod.POST) public String login(User user){ try{ if(userServices.hasUser(user)){ return "redirect:/user/index"; }else{ return "redirect:/"; } }catch (Exception e){ logger.error("登陆失败:"+e,e); } return "redirect:/"; } @RequestMapping(value="/index",method= RequestMethod.GET) public String index(){ try{ }catch (Exception e){ logger.error("登陆失败:"+e,e); } return "page/index/index"; } @Autowired private UserServices userServices;}
其中 UserServices 为业务接口。BaseContrller为自己封装的Controller基类。
关于“Spring boot如何搭建web应用集成thymeleaf模板实现登陆”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。