[JsonConverter(typeof(DateConverter))]
public DateTime Date { get; set; }
——————————————————————————————
public class DateConverter : JsonConverter
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType == JsonTokenType.String)
{
if (DateTime.TryParse(reader.GetString(), out DateTime date))
return date;
}
return reader.GetDateTime();
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToString("yyyy-MM-dd"));
}
}
sqlsugar 不映射字段,sqlsugar 忽略字段。 利用特性SugarColumn,将IsIgnore设置为True即可!
1 2 |
[SugarColumn(IsIgnore = true)]//sqlsugar 忽略字段 public decimal MaxTemp { get; set; } |
这样Sqlsugar 增删改查数据库的时候自动跳过该字段,但是操作实体的时候依然可以访问到该字段,进行赋值或取值。 在SqlSugar中,如果你需要修改一个实体类的属性映射到数据库的字段名,你可以 使用SugarColumn属性,将ColumnName设为数据库里的的列名即可。
1 2 |
[SugarColumn(ColumnName = "NameOfStudent")] // 修改字段名为"NameOfStudent" public string Name { get; set; } |
这样Sqlsugar 增删改查数据库的时候数据库列名为“NameOfStudent”,但是操作实体的时候属性的名称是Name。 from:https://blog.csdn.net/djk8888/article/details/141600690
View Details* * 设置浏览器打开文件所采用的编码
* response.setHeader("Content-Type", "text/html;charset=UTF-8");
* * 简写方式
* response.setContentType("text/html;charset=UTF-8");
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inStream = conn.getInputStream();// 通过输入流获取图片数据
byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据
return btImg;
@GetMapping("/image/{filename}")
public ResponseEntity
File file = new File(filename);
byte[] imageBytes = ImageUtils.getImageBytes(file);
ByteArrayResource resource = new ByteArrayResource(imageBytes);
return ResponseEntity.ok()
.contentType(MediaType.IMAGE_JPEG)
.contentLength(imageBytes.length)
.body(resource);
}
一、创建 Session(登录功能) 使用 session.setAttribute(value, key) 保存 key 属性的值 value
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@RequestMapping("/login") public String login(String username, String password, HttpSession session) { // 验证账号密码是否错误 if(username != "张三" || password != "123") { // 账号或密码错误,返回登录页面 return "/login"; } // 保存用户信息到 session 对象 session.setAttribute("username", username); // 登录成功,进入首页 return "/home" } |
二、读取 Session 前端获取 Session 值
1 |
<p>[[${session.username}]]</p> |
后端获取 Session 值
1 |
session.getAttribute("username"); |
三、清除 Session(退出登录) 使用 session.invalidate() 清除 session 存储的值
1 2 3 4 5 6 7 |
@RequestMapping("/logout") public String logout(HttpSession session, Model model) { // 清除session session.invalidate(); // 重定向到登录页 return "redirect:/login"; } |
from:https://www.cnblogs.com/whbg/p/18473263
View Details注意:配置了拦截器的话,图片之类的一些静态资源的访问以及一些文件上传下载,也是要注意放行的,已经视图解析器也是放行的,要放行视图的内容,因为上面是addPathPatterns("/**") // 拦截所有的请求拦截所有,注意不要: templates ,因为sprinboot的默认配置,就是以templates为根路径往下找的,所以再添加 templates 就错了,就成了 /templates/templates/images 了。
View Details//3.登录成功了,给这个用户创建一个会话出来
//可以给会话中保存一些自定义的数据,通过Attribute的方式来保存
HttpSession session=req.getSession(true);
//此处Attribute也是键值对,这里的内容存储什么都可以,程序员自定义
//这样的数据存储了之后,后续跳转到其他页面,也随时可以把这个数据从会话中取出来
session.setAttribute("username",username);
session.setAttribute("loginTime",System.currentTimeMillis());
//此时相当于登录成功了,让页面跳转到网站首页
resp.sendRedirect("index");
Session是一个在Web开发中常用的概念,它表示服务器和客户端之间的一种状态管理机制,用于跟踪用户在网站或应用程序中的状态和数据。
View Details解决方法: spring boot admin设置配置:
1 |
spring.boot.admin.ui.public-url: http://xxx.xx.xxx.xxx:xxxx/ |
这个地址就是你ngnix代理的ip和端口 from:https://blog.csdn.net/qq_41032824/article/details/107392998
View Details