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

springmvc controller常见问题的更多相关文章

  1. [转]SpringMVC Controller介绍及常用注解

    一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Mo ...

  2. SpringMVC Controller介绍

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  3. SpringMVC Controller 介绍

    一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Mo ...

  4. springmvc controller junit 测试

    第一次搭建SSM框架,整合SpringMVC完成后进行Controller测试,找资料并解决问题. 下图是我的完整目录: 1 建立UserController类 代码清单 1-1:UserContro ...

  5. SpringMVC Controller介绍(转)

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  6. SpringMVC Controller详解

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  7. SpringMVC Controller接收参数总结

    本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示: 系统/工具 版本号OS Windows 7 Home BasicJava 1.7.0_79Eclipse M ...

  8. SpringMVC Controller 返回值几种类型

    SpringMVC Controller 返回值几种类型 2016年06月21日 19:31:14 为who而生 阅读数:4189 标签: Controller 返回值类型spring mvc 更多 ...

  9. SpringMVC Controller单例和多例

    对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静态属性. 结果:普通属性:0.............静态属性:0 普通属性:0. ...

随机推荐

  1. H、CSL 的拼图 【多维点的交换】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)

    题目传送门:https://ac.nowcoder.com/acm/contest/551/H 题目描述 众所周知 CSL 不仅玩魔方很强,打麻将也很强.今天他打魔法麻将的时候,在路上撞到了一个被打乱 ...

  2. 2019.3.5 控制台输出log4j得有些报错信息

    报错内容如下 log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.Sp ...

  3. 更有效率的使用Visual Studio

    工欲善其事,必先利其器.虽然说Vim和Emacs是神器,但是对于使用Visual Studio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使 ...

  4. saltstack安装配置(yum)

    主机规划: (主)master:192.168.25.130 (从)minion:192.168.25.131     192.168.25.132 1.yum安装: 服务端:安装master yum ...

  5. Springboot时间参数格式化

    @Configuration public class DateTimeFormatConfiguration extends WebMvcConfigurerAdapter { @Value(val ...

  6. Spring@PostConstruct注解和构造方法的调用顺序

    先看下@PostConstruct的注解 * The PostConstruct annotation is used on a method that needs to be executed * ...

  7. .net core 实践笔记(二)--EF连接Azure Sql

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9902098.html 笔者使用了常见的三层架构,Api展示层注入了Swa ...

  8. 工具 | Axure基础操作 No.6

    这个是基础教程最后一篇,但是这仅仅是个开始,需要学的东西还有很多.坚持! 1.生成部分原型页面 不能单独生成子级的页面,会自动的勾选上父级.如果想单独的生成的话,就得把这个页面的级别提高,变成一级页面 ...

  9. angular2jsonp如何跨域请求百度API进行定位

    前提,百度api的申请,不会的可以百度一下,下面是连接 http://lbsyun.baidu.com/index.php?title=webapi/ip-api 1.appMoudle里引入 imp ...

  10. Linux安装部署

    Linux桌面发行版 UbuntuCentOSRed heat LinuxOracle Linux 一.系统安装 1.系统分区 若手动分区swap和根分区必须创建,推荐创建boot分区. /----- ...