9月29日GoGoBook踩坑记(SSM实战项目)
9月29日GoGoBook踩坑记
- 在IDEA中无法访问静态页面(html).
在写后端代码之前,GoGoBook项目的页面已经写好了。今天进行整合的时候,发现无法访问。已经配置了如下:
<mvc:annotaion-driven/>
<mvc:default-servlet-handler/>
<mvc:resources mapping="" location=""/>
解决办法
耗时半天
<mvc:annotaion-driven/>
<mvc:default-servlet-handler/>
<mvc:resources mapping="/**/*.*" location="classpath:static/"/>
如上面写的:mapping是映射,location是对应的映射的真实路径。简单说就是:将任意路径+任意名称+任意扩展名 的url(静态资源)映射到location指的位置,进行拼接。
例如:我的resources(classpath路径)下的文件夹层次为:
--static
--html
--css
--js
那么当我访问http:localhost:8080/GoGoBook/html/login.html,后,最终访问的就是就会访问到static下的html目录下的页面。也就是将两者进行了拼接。
******************
这样配置了以后,在html中引用js,css,直接这样写http://localhost:8080/css/login.css即可
- 使用GSON+@ResponseBody返回json乱码
解决办法
在@RequestMapping中加上@produces="text/html;charset=utf-8"
@RequestMapping(value = "/login" ,produces = "text/html;charset=utf-8")
- 下载图片到服务器,前端却无法访问
这个真的也耗费了很长时间才搞定。
在项目中,我将图片保存到了本地的一个位置,然后将图片路径传到了前端进行展示,但是却无法访问。最终得知是chrome浏览器的限制,限制浏览器访问本机除项目以外的位置。
解决办法
**配置Tomcat虚拟路径**
方法一:在tomcat的配置文件中server.xml中的host之间加上
<Context path="/file" docBase="F:\testDownloadPic" debug="0" reloadable="true"/>
path为虚拟出来的路径,在项目中访问这个路径就相当于访问后面设置的真实的路径:http://localhost:8080/file/..
docBase:真实路径
之后重启服务器即可(如果未生效,检查使用的ide是否没有对修改生效)
方法二:在IDEA中配置虚拟路径
1. 点击右上角的edit configurations
2. Deployment
3. 点加号
4. External Source
5.选择真实的路径
6.填写虚拟路径
祝项目接下来顺风顺水编写完
分类:
Java学习
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 2025成都.NET开发者Connect圆满结束
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析