springmvc controller常见问题
controller 的各种操作都是依赖服务器启动后来注入很多功能的,所以热部署经常会没有效果(因为没有被注入,除非在 方法名() 的括号中定义对象 [ 例如:
HttpServletResponse response
] ,因为那样就在访问方法时传递注入了进来,不过即使用这种方式都容易出现没效果的问题,所以这种时候重启服务器即可),没有效果时重启服务器即可
1. 不要把一个 modelAndView 当成重定向的方式,因为它是用于指定视图的,如果要重定向到 .action结尾的 或者就是无后缀的controller,那么用 return String 的方式来重定向,
指定视图就用 modelAndView (通过测试发现: 直接 return String 的方式仍然停留在这个 controller 中,所以特殊场景下需要使用 response来实现重定向)
2. controller的类必须在创建后就先写上 @Controller 注解,否则会找不到这个 Controller
3. 使用 session 时,直接key和value都使用字符串值即可,在验证value时,直接用if来判断即可,如:
@RequestMapping("/jsp/backstageManager/showFramework")
public ModelAndView showFramework() {
ModelAndView modelAndView = new ModelAndView("/jsp/backstageManager/backstage_framework.jsp");
if (!"true".equals(session.getAttribute("adminLoginStatus")) ){
System.out.println("没有 session ,跳转到 非法访问 页面");
modelAndView.setViewName("/html/error/UnauthorizedAccess.html");
}
return modelAndView;
}
controller非常容易出现空指针异常,特别是所有跟request有关的操作,
如下图, @Autowired 有时都注入不成功,所以这种情况下需要在方法里单独传入request,这样就可以成功实现了
使用idea进行热部署访问或者正常访问项目时,可能会因为路径问题访问错误但是却不显示错误,这种情况下连Controller都进不了(这里少了个项目目录)
idea热部署情况下更新controller后出现莫名其妙的错误的解决方案
在idea热部署的情况下,刚写好的mailservice出现了错误,发现重启服务器后解决了,可能是资源并没有完成同步的原因,所以这种情况以后可以直接重启服务器,不需要debug
最新文章
- java: Thread 和 runnable线程类
- 线性表的顺序存储结构C语言版
- ASP.NET MVC5 Filter重定向问题
- C#/.NET Little Wonders: Use Cast() and OfType() to Change Sequence Type(zz)
- 【Win10】解决 模拟器调试手机 错误->; 引导阶段... 无法找到指定路径......\2052\msdbgui.dll
- (转)json+flexgrid+jbox组合运用页面刷新<;jsp>;
- 【转】MySQL外键约束On Delete、On Update各取值的含义
- 第三十九篇、NavBar动态隐藏、设置透明、毛玻璃效果
- android布局ui
- Bootstrap Paginator分页插件的使用
- 关于结构体和C++类的内存地址问题
- CodeForces 707D Persistent Bookcase
- Windows下的lua-5.3.4安装过程
- 看一眼就学会的 HTML 小游戏搭建!
- C++设计模式——命令模式
- jfinal中,render的时候如何取到view根目录
- python数学第一天【极限存在定理】
- js使用中的小问题----textarea是否有value属性
- sqlserver 模糊查询,连表,聚合函数,分组
- orcale 函数wm_concat不存咋lob值使用zh_concat 替换
热门文章
- swift 第一个IOS应用程序
- 微服务框架SpringCloud(Dalston版)学习 (一):Eureka服务注册与发现
- BZOJ1079:[SCOI2008]着色方案(DP)
- UVA529 Addition Chains
- LayIM.AspNetCore Middleware 开发日记(七)Asp.Net.Core.SignalR闪亮登场
- CS20Chapter3
- 【51nod 1685】 第K大区间2
- Linux本地数据上传到阿里云OSS
- svn造成桌面图标显示问号
- 水仙花数(类型:一级、C++)