Java ResponseEntity乱码 javaee出现乱码怎么解决
* * 设置浏览器打开文件所采用的编码
* response.setHeader("Content-Type", "text/html;charset=UTF-8");
* * 简写方式
* response.setContentType("text/html;charset=UTF-8");
Java获取远程网络图片文件流、压缩保存到本地
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;
Java 返回 图片流
@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);
}
在windows10安装使用fnm
1.在下面的目录新建profile.ps1文件
%USERPROFILE%\Documents\WindowsPowerShell\profile.ps1
WindowsPowerShell为新建的目录, 如果安装node后命令仍然无法识别,将文件夹名称改为PowerShell
2.将下面的代码写入到上面的配置文件里面
fnm env --use-on-cd | Out-String | Invoke-Expression
windows系统安装配置fnm
下载地址:https://github.com/Schniz/fnm/releases
下载完成,解压之后获取到fnm.exe,把这个文件放到你自己创建的目录。我的目录是:D:\fnm
在D:\fnm下创建一个node空文件夹存放后面下载的不同版本的nodejs。
View DetailsJS 禁用浏览器的前进与后退
1 2 3 4 5 6 7 8 9 10 |
(function(history){ var pushState = history.pushState; history.pushState = function(state, title, url) { // 不执行原有操作,可以在这里添加自定义逻辑 // ... // 返回false可以阻止默认行为 return false; }; })(window.history); |
View Details
History 对象的pushState()和replaceState()
开发过程中会遇到,要修改当前的url,但是不能让浏览器从新发起请求或者刷新,这个时候就需要用到window.history
总结:
pushState()方法是在历史记录中增加一条新的记录;
replaceState()方法是将当前的历史记录给替换掉,传说中的夺舍重生!
Java 中使用 Session 对象(以登录、退出功能为例)
一、创建 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 DetailsWeb中如何解决退出后浏览器后退进入访问页面的问题?
// 不对页面进行缓存,再次访问时将从服务器重新获取最新版本
response.setHeader("Cache-Control","no-cache");
// 任何情况下都不缓存页面
response.setHeader("Cache-Control","no-store");
// 使缓存过期
response.setDateHeader("Expires", 0);
// HTTP 1.0 向后兼容
response.setHeader("Pragma","no-cache");