用IntelliJ IDEA搭建springboot+mybatis+jsp工程

这里搭建springboot+mybatis+jsp的工程,但是官方不推荐jsp,里面写了很多,参考:https://spring.io/blog/2012/10/30/spring-mvc-from-jsp-and-tiles-to-thymeleaf.但是我觉最重要的应该是jsp不利于前端开发,如果是jsp页面前端要怎么运行?怎么看写出来的效果?spring 推荐Thymeleaf,它的模版文件就是html,可以直接在浏览器打开。springboot+theamleaf我下一期再详细说明。这里先搭建springboot+mybatis+jsp。


可以到我的github链接下载项目:https://github.com/Feiyu123/SpringbootJsp.git


一.用IDEA搭建基本框架:

File ----》New Project ---》Spring Initializr


Next --》输入Artifact 和 group名称--》Next即可(打包方式为jar,也可选择war)


然后选择Web----》下一步



填上项目名和项目位置:



然后就可以看到springboot工程了,但是这样你的springboot工程是没有WEB-INF的。所以


你要在src目录下建一个webapp目录,在webapp下建一个WEB-INF目录,建web.xml文件






你可以通过Ctrl+shift+alt+S调出Project-Structure进行设置



然后访问jsp目录时会到相应目录去找,不配置是找不到的。


二.搭建垂直性三层架构

1.先处理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>com.lrq</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.1.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<mybatis.version>1.1.1</mybatis.version>
		<mybatis.tk.version>1.0.0</mybatis.tk.version>
		<pagehelper.version>1.1.0</pagehelper.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--mybatis -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>${mybatis.version}</version>
		</dependency>
		<!--mapper -->
		<dependency>
			<groupId>tk.mybatis</groupId>
			<artifactId>mapper-spring-boot-starter</artifactId>
			<version>${mybatis.tk.version}</version>
		</dependency>
		<!--pagehelper 分页插件-->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>${pagehelper.version}</version>
		</dependency>

		<!-- mysql驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>

		<!-- spring boot tomcat jsp 支持开启  -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<!--<scope>provided</scope>-->
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<!--<scope>provided</scope>-->
		</dependency>

        <!-- servlet 依赖包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <!--<scope>provided</scope>-->
        </dependency>
        <!-- JSTL (JSP standard Tag Library) JSP 标准标签库 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>



	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>


2。处理application.properties

#mvc拦截器拦截.jsp指定到/WEB-INF/jsp/找对应jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
#测试连接数据库,mybatis用的是SELECT 1
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name= com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
#连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)
spring.datasource.hikari.maximum-pool-size=50
#一个连接的生命时长(毫秒),超时而且没被使用则被释放(retired),缺省:30分钟,建议设置比数据库超时时长少30秒以上
spring.datasource.hikari.max-lifetime=1765000
#端口号
server.port=28082
#访问路径
server.context-path=/demo

#指明mybatis实体类包位置
mybatis.type-aliases-package=com.lrq.demo.model
#指明mappers位置,可以指明多个位置
mybatis.mapper-locations=classpath:mapper/*.xml

#指明分页插件是给mysql用的
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql

3.处理到dao层

根据application.properties来建立dao层,model层和xml文件



4.处理service层和它的实现类



5.处理Controller层



6.建立jsp页面

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<%@ page language="java" import="java.util.*,com.lrq.demo.model.*"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>用户界面</title>
    <script src="http://code.jquery.com/jquery-1.4.1.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#mainForm").submit(function (envent){
                envent.preventDefault();
                var form = $(this);
                $.ajax({
                    url: form.attr("action"),
                    type: form.attr("method"),
                    data: form.serialize(),
                    success: function(user){
                        if(user){
                            alert( "请求用户数据成功" + user.id+user.name+user.idNo,+user.gender);
                            $("#usermsg").val(user.id+user.name+user.idNo,+user.gender);
                        }else{
                            alert("请求用户数据失败"+user);
                        }
                    },
                    error: function(){
                        alert("请求用户数据失败");
                    }
                });
            });

        });
    </script>
</head>
<body>
<form id="mainForm" enctype="multipart/form-data" action="/demo/getUser.do" method="post">
    <table >
        <tr>
            <td><span>请输入姓名</span></td>
            <td>
                <input type="text" id="name" name="name"/>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" name="提交">
                <input type="reset" name="重置">
            </td>
        </tr>
    </table>
</form>
    <input type="text" id="usermsg" name="usermsg" readonly="readonly"/>
</body>
</html>

7.浏览器访问展示


















展开阅读全文

没有更多推荐了,返回首页