eclipse创建springboot项目并搭建纯净框架(包含安全框架shiro)【第二集】

【备注:【第二集】添加以下内容】

1、Tomcat端口号、ContextPath配置

2、页面跳转

3、连接数据库、返回json数据

4、使用外部Tomcat、打包部署项目(包含war、jar两种方式)

【第一集文章链接】:https://blog.csdn.net/qq_17839177/article/details/100541722

 

【第一集】项目启动结果如下图:

下面继续添加Web项目所需要的功能点……

 

一、Tomcat端口号、ContextPath配置

tomcat默认端口8080,我们需要修改端口号为:8081,配置ContextPath路径

打开src/main/resources中的application.properties配置文件:

配置如下内容:

#Tomcat端口号
server.port=8081
server.servlet.context-path=/admin/project

保存后运行项目,浏览器输入:http://localhost:8081/admin/project    结果如下:

运行成功;

 

二、页面跳转

Web项目需要跳转jsp、那么需要配置跳转规则如下:

1>打开src/main/resources中的application.properties配置文件:

如下内容:

#页面跳转配置
spring.mvc.view.prefix=/WEB-INF
spring.mvc.view.suffix=.jsp

2>打开pom.xml配置文件:

如下内容:

<dependencies>

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

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
        
        <!-- jsp修改后不需要再重启服务器 -->
		<dependency> 
			<groupId>org.springframework.boot</groupId> 
			<artifactId>spring-boot-devtools</artifactId> 
			<optional>true</optional> <!-- 这个需要为 true 热部署才有效 --> 
		</dependency> 
		<!-- tomcat/jsp end -->

</dependencies>


备注:在<dependencies>标签中追加内容

3>打开com.ws.controller中的BasicDataController控制器新增jsp跳转代码:

如下内容:

	@RequestMapping("/index")
	public String index(HttpServletRequest request,HttpServletResponse response) {
		return "/project/system/index";
	}	

我们页面要跳转的位置是:project ----> system ----> index.jsp,我们在application.properties文件中配置的  spring.mvc.view.prefix=/WEB-INF,那么连起来的位置就是:WEB-INF下的project ----> system ----> index.jsp这个路径,但是SpringBoot页面存放位置都会加一层webapp文件夹,类似于以前的web文件夹。

4>在src/main下依次创建webapp,WEB-INF,project,system文件夹;具体结构如下图:

文件夹project中的basicdata,system两个文件夹可以根据自己的业务来命名。

保存后运行项目,浏览器输入:http://localhost:8081/admin/project/index    结果如下:

运行成功,修改jsp内容后不需要重启服务也可以即使看到效果;

 

三、连接数据库、返回json数据

 

Web项目需要连接数据库、我以Mysql为例配置如下:

1>打开pom.xml配置文件:

         

如下内容:

	<dependencies>

		<!-- jdbc -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

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

	</dependencies>

    备注:在<dependencies>标签中追加内容

2>打开src/main/resources中的application.properties配置文件:

如下内容:

#用于连接mysql数据库
#useSSL=false用于消除远程连接数据库时的警告
spring.datasource.url=jdbc:mysql://localhost:3306/springbootws?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3>在业务包com.ws下创建业务包,BasicDataController控制器中添加方法,结构如下图:

说明:com.ws 下可以创建service、dao层分别代表服务层、数据操作层,imp层可以根据自己业务创建。

BasicDataController控制器中添加方法如下:


//注入BasicDataService服务接口
@Autowired
private BasicDataService basicdataservice;	


//调用数据库方法
@SuppressWarnings("rawtypes")
@RequestMapping("/getuserlists")
public @ResponseBody Map<String,Object> getuserlists(HttpServletRequest request,HttpServletResponse response) {
		
	Map<String,Object> map = new HashMap<String,Object>();
	List list = basicdataservice.getUserLists();
	System.out.println("list:" + list);
	map.put("list",list);
	return map;
}	

备注:BasicDataService、BasicDataServiceImpl、BasicDataDao这三层的代码就不贴了、大家根据自己业务写

BasicDataDaoImpl 数据操作层代码如下:

内容如下:

	@Autowired
	private JdbcTemplate jdbctemplate;
	
	@SuppressWarnings("rawtypes")
	public List getUserLists() {
		String sql = " select * from user_info order by sys_user_id ";
		return jdbctemplate.queryForList(sql);
	}

保存后运行项目,浏览器输入:http://localhost:8081/admin/project/getuserlists    结果如下:

       

运行成功;

 

四、使用外部Tomcat、打包部署项目

     4.1 使用外部Tomcat打war包、类似于以前的springmvc用法

Web项目开发结束需要部署到tomcat中、配置如下:

1>打开pom.xml配置文件:

如下内容:

	<groupId>com.ws</groupId>
	<artifactId>SpringBootWs</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>SpringBootWs</name>
	<description>Demo project for Spring Boot</description>
	<packaging>war</packaging>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
		<!-- 【注意:打包出来的名字是自定义的】 -->
		<finalName>ws</finalName>
	</build>

 修改完pom.xml文件后需要刷新一下项目、不然problems中还是会报错、操作如下:

  项目右键---->Maven---->Update Project

点击OK……此时项目已经没有错误……

 

2> 创建web程序启动类SpringBootStartApplication【类似于web.xml】

     不创建该类也可以打包,但把打包后的war放入外部tomcat中启动后浏览器访问不到该项目

作用:因为在外部容器tomcat中部署的话,就不能依赖于SpringBootWsApplication的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,在SpringBootWsApplication类的同级添加一个SpringBootStartApplication类,其结构、代码如下:

内容如下:

package com.ws;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
	
	@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(SpringBootWsApplication.class);
    }

}

3> 编辑打包项目,如下图:

项目右键---->Run As---->Maven Clean

出现 BUILD SUCCESS 就时清理成功了……

项目右键---->Run As---->Maven Install

出现 BUILD SUCCESS 就时打包成功了……

target文件夹中会出现一系列打包后的文件,其中ws.war就时我们在pom.xml中配置的包名;

还有一个小警告继续处理;

解决办法:项目右键---->properties---->选择Maven  如下图

重新操作

项目右键---->Run As---->Maven Clean

项目右键---->Run As---->Maven Install

即可;

部署外部Tomcat  如下图:

我使用的是apache-tomcat-8.5.43,启动外部Tomcat  如下图:

运行成功,浏览器地址输入:

http://localhost:8080/ws/

http://localhost:8080/ws/index

http://localhost:8080/ws/getuserlists

内容分别如下:

 

4.2 使用内置的Tomcat打jar包、不需要外部Tomcat启动项目

 

        1>打开pom.xml配置文件:

 

         

如下内容:

 

	<groupId>com.ws</groupId>
	<artifactId>SpringBootWs</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>SpringBootWs</name>
	<description>Demo project for Spring Boot</description>
	<packaging>jar</packaging>



	<build>
	
		<resources>
		    <!--引入配置文件-->
		    <resource>
		        <directory>src/main/resources</directory>
		        <filtering>false</filtering>
		    </resource>
		    <!--引入静态文件-->
		    <resource>
		        <directory>src/main/webapp</directory>
		        <targetPath>META-INF/resources</targetPath>
		        <filtering>false</filtering>
		    </resource>
		</resources>
	
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>1.4.2.RELEASE</version>
			</plugin>
		</plugins>
		
		<!-- 【注意:打包出来的名字是自定义的】 -->
		<finalName>ws</finalName>
		
	</build>

  修改完pom.xml文件后需要刷新一下项目、不然problems中还是会报错、操作如下:

  项目右键---->Maven---->Update Project项目

  2> 打开src/main/resources中的application.properties配置文件:

  

如图注释掉这2项配置、打包后启动项目时这两项即使不注释也是失效的;

3> 编辑打包项目,打war时有图例可以参考;

项目右键---->Run As---->Maven Clean

项目右键---->Run As---->Maven Install

即可;

4> 执行jar包命令、启动项目:

我是存放在E盘某文件夹中的、这个地址可以自己设置;

执行jar文件命令如下:

在cmd命令窗口下执行运行jar包的命令:
java -jar E:\SpringBootWs_jar\ws.jar

这个语句可以启动项目,但是日志会打在控制台上,我们要收集日志,修改一下,在后面加上指定日志文件
优化后的命令如下:
java -jar E:\SpringBootWs_jar\ws.jar > E:/SpringBootWs_jar/SpringBootWs.log &

  

执行命令后、会生成一个日志文件、如下图:

打开该日志文件、有启动信息如下:

启动成功,浏览器地址输入:

http://localhost:8080

http://localhost:8080/login

http://localhost:8080/getuserlists

 

      

到此,SpringBoot项目就运行成功了!

【备注:第三集】会添加以下内容】

1、安全框架shiro

【第三集文章链接】:https://blog.csdn.net/qq_17839177/article/details/100707216

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值