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; /** * Created by on 2016/12/8. */ @Configuration @ComponentScan @EnableAutoConfiguration public 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; /** * * 用户管理 * Created by on 2016/12/12. */ @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基类。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。