springboot常见用处及陷阱

springboot

springboot的Html页面

1.想要显示css和js必须加

<html lang="en" xmlns:th="http://www.thymeleaf.org">
    
    <base th:href="${#request.getContextPath()}+'/'">

2.thymeleaf语法

(1)超链接 使用th:href标签,内容格式是@{…} 如:

<a th:href=”@{http://localhost:8080/list(uid=${user.id})}”>测试</a> 
<!--注意:这里list(uid=${user.id})会被替换为list?uid=8类似的格式-->
<a th:href="@{'/hotel/hotelinfo?id='+${packages.tbHotelHotelId}}">测试</a>
<!--这种传值也可以-->

(2)循环 th:each=”变量:${集合对象}”

<table> <tr th:each="emp : ${empList}"> <td th:text="${emp.id}">1</td> <td th:text="${emp.name}">张三</td> <td th:text="${emp.age}">18</td> </tr> </table> 

(3)条件 th:if和th:unless,th:if是条件成立是显示标签,th:unless则相反 下面标签的效果相同,都是当user为空时显示Login超链接

<a th:href=”@{/login}” th:if=”${user==null}”>Login</a>
<a th:href=”@{/login}” th:unless=”${user!=null}”>Login</a>

(4)switch

<div th:switch="${user.role}">
    <p th:case="'admin'">User is an administrator</p> 
    <p th:case="'manager'">User is a manager</p>
    <p th:case="*">User is some other thing</p> 
</div>

3.请求转发与重定向的区别
(1)语法

 return "forward:url"; //请求转发
return "redirect:url"; //重定向

(2)区别
a.重定向两次请求,转发一次请求
b.重定向地址栏的地址变化,转发地址不变
c.重新定向可以访问外部网站 转发只能访问内部资源
d.转发的性能要优于重定向

4.springboot配置文件
#配置端口号
server.port=8081
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/jiudiansql?serverTimezone=GMT&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
# 配置MyBatis
mybatis-plus.type-aliases-package=com.xiaoxu.demo.entity
mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml
5.上传文件出现的安全性错误
//新增加一个类用来添加虚拟路径映射
@Configuration
public class MyPicConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/user/**").addResourceLocations("file:/home/shop/src/main/resources/static/user/");
    }
}
//addResourceHandler()里配置需要映射的文件夹,此处代表映射文件夹img下的所有资源。
//addResourceLocations()配置文件夹在系统中的路径,使用绝对路径,格式为“file:你的路径”

CSDN作者

6.在前端pagelimit.pageCount与${pagelimit.pageCount}的区别是啥

如果是thymeleaf模板,数据绑定就必须加${},这是将动态数据绑定的固定格式,不加就绑定不了,

${里面可以实现pagelimit.pageCount的基本算法},如${pagelimit.pageCount+1}
实际就是pagelimit.pageCount可以任意加值,但是必须要在${}中显示出来
7.springboot整合jsp和html

pom.xml

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

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                 <!-- 注意这里一定要换成1.4.2版本,不然上传到服务器报错-->
                <version>1.4.2.RELEASE</version><!--$NO-MVN-MAN-VER$-->
            </plugin>
        </plugins>
        <resources>
            <!-- 打包时将jsp文件拷贝到META-INF目录下-->
            <resource>
                <!-- 指定resources插件处理哪个目录下的资源文件 -->
                <directory>src/main/webapp</directory>
                <!--注意此次必须要放在此目录下才能被访问到-->
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

https://www.nowcoder.com/tutorial/94/ae05554a3ad84e42b6f9fc4d52859dc4

回答: SpringBoot常见问题包括项目无法启动和启动类位置错误。如果使用的是SpringBoot 2.0.0.M3版本和SpringCloud Finchley.M2版本,按照视频可以正常启动。如果是高版本无法启动,需要在pom.xml中添加依赖org.springframework.boot:spring-boot-starter-web。\[1\] SpringBoot是Spring提供的一个快速开发工具,可以更方便、更快速地开发Spring+SpringMVC应用,简化了配置,整合了一系列解决方案,包括redis、mongodb、es等,可以开箱即用。\[2\] SpringBoot启动Tomcat是通过启动类来实现的,需要将启动类放在最上层,即包含所有子包。Spring Boot会自动加载启动类所在包下及其子包下的所有组件。\[3\] #### 引用[.reference_title] - *1* [Spring Boot 错误总结(累计30个常见错误)](https://blog.csdn.net/qq_32447301/article/details/77161272?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168932794216800192238621%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168932794216800192238621&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-77161272-null-null.article_score_rank&utm_term=springboot%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)[target="_blank"] [.reference_item] - *2* [SpringBoot中几个常见的几个问题](https://blog.csdn.net/sxl123sxl/article/details/125901983?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168932794216800192238621%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168932794216800192238621&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-125901983-null-null.article_score_rank&utm_term=springboot%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)[target="_blank"] [.reference_item] - *3* [SpringBoot常见问题汇总](https://blog.csdn.net/u014622092/article/details/129660024?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168932794216800192238621%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168932794216800192238621&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-129660024-null-null.article_score_rank&utm_term=springboot%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)[target="_blank"] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值