springmvc 常见问题(入门级)

  环境:eclipse + tomcat 7.0.5 + MySQL + spring 4.1.3 + springmvc 4.1.3 + mybatis 3.2.7

问题1:项目环境搭建好后,正常启动,请求路径却无法访问

  1. 首先判断你的请求路径是否存在问题
  2. 查看web.xml 中是否正确的加载了springmvc 的配置
  3. 检查springmvc 配置中扫描注解的路径是否正确
  4. 代码区域的注解是否配置完善
  5. 考虑tomcat 没有将项目完整的加载进去
  6. ecplise 的神问题,重启ecplise 问题,然后再重新加载进tomcat 中


问题2:访问路径没问题了,确报sql 的错误(这种一般有错误提示,可以很清楚定位错误)

  1. jdbc.properties 文件配置连接信息是否正确,是否被加载
  2. applicationContext-dao.xml 文件是否又被正确的加载
  3. mapper 层代码的注解问题


问题3:get 和post 请求中的参数出现乱码问题

  • get请求
  1. 修改tomcat 配置文件,添加编码与工程编码一致
  2. 代码内重编码

String userName = new String(Request.getParameter("userName").getBytes("ISO8859-1"),"utf-8");
  • post请求

在web.xml 里面配置一个监听器,CharacterEncodingFilter  设置utf-8


问题4:获取到了数据库的数据,却显示null(数据库有数据)

考虑是否是pojo 编写的符合规范,字段和数据库字段一样,如果采用驼峰式可以在SqlMapConfig.xml 中添加一下配置

<settings>
	<setting name="mapUnderscoreToCamelCase" value="true"/>  
</settings>


常用springmvc 注解

@RequestMapping用于请求url 映射
@RequestBody注解实现接收http 请求的json 数据,将json 转换成java 对象
@ResponseBody注解实现将controller 方法返回对象转化为json 转给客户
@PathVariable将url 中的参数映射到方法的参数列表中
@RequestParam将请求体中的参数映射到方法的参数列表中


简单说一下springmvc 和struts2 的区别

  1. springmvc 的入口是一个servlet 即前端控制器,而struts2 入口时一个filter 过滤器
  2. sprignmvc 是基于方法开发,传递参数是通过方法形参,可以设计为单例或者多例(建议单例),struts2是基于类开发,传递参数是同构类的属性,只能设计为多例
  3. struts 采用值栈存储请求和响应的数据,通过OGNL 存去数据,springmvc 通过参数解析器是将reqeust 对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView 对象,最后又将模型驱动通过request 对象传输到页面。jsp 视图解析器默认使用jstl。
  4. struts2 存在已知漏洞,springmvc 目前还有漏洞被发现。如果使用struts2 建议下载最新包







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值