public void groupingByCity() {
Map
map.forEach((k, v) -> {
System.out.println(k + " = " + v);
});
}
注意:idea2021.2及以上版本
快捷键 ctrl+shift+alt+/ 热部署找不到compile.automake.allow.when.app.running
目前已经被idea官方更新到setting里面设置
具体设置位置
file->setting->Advanced Setttings里面了
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
1 2 3 4 5 6 7 8 |
//HttpServletRequest 对象通过以下方法来获取请求路径,如下所示: String serverName = request.getServerName();//获取服务器名,127.0.0.1; int serverPort = request.getServerPort();//获取服务器端口号,8083; String contextPath = request.getContextPath();//获取项目名,/Aop; String ServletPath=request.getServletPath();//获取Servlet路径,/getUserDetails/45; String QueryString=request.getQueryString();//获取参数部分,即问号后面的部分:username=zhangsan StringBuffer RequestURL=request.getRequestURL();//获取请求URL,等于不包含参数的整个请求路径:http://localhost:8083/Aop/getUserDetails/45 String RemoteAddr=request.getRemoteAddr();//获取服务器的IP,如localhost对应ip为127.0. |
from:https://www.cnblogs.com/zhoading/p/13954370.html
View Details // 指定文件或文件夹的路径
Path path = Paths.get("path/to/your/file_or_directory");
// 检查路径是否存在,并且是一个文件(不是文件夹)
boolean isFile = Files.exists(path, LinkOption.NOFOLLOW_LINKS) && Files.isRegularFile(path);
// 检查路径是否存在,并且是一个文件夹(不是文件)
boolean isDirectory = Files.exists(path, LinkOption.NOFOLLOW_LINKS) && Files.isDirectory(path);
* * 设置浏览器打开文件所采用的编码
* 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