发表于: 2017-12-23 23:15:15
1 578
今天完成的事:
1、三大框架跑通了,四分之一,只是可以向前台返回数据库数据。
遇到的困难:
1、这是前天遇到的问题,也是大前天的问题,但是之前的问题定位错误,尴尬,
springmvc可以跑通,mybatis单元测试没问题,但是整合在一起就出问题了,今天意识到和两天前的问题一样,缺少一个东西把两者联系起来。
这就是缺少的东西,在web.xml中配置监听器,之前只是读取spring的配置文件
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
明天计划:
收获:
1、对restful理解加深了,1、uri定位到资源,2、使用method的post,put,get,delete来实现改变。
2、jsp的form表单, 只支持GET与POST请求,而DELETE、PUT等method并不支持。
这个过滤器需要在web.xml文件中添加:
<filter>
<filter-name>hiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注:其中springmvc是DispatcherServlet的servlet-name的名称,配成其他如/*等之类的页面请求会报错。
页面提交方式需转换成post提交方式(可写jquery方式提交表单)。
需要在页面上添加隐藏域告诉controller此请求是哪种请求方式:
<input type="hidden" name="_method" value="DELETE"/>
<input type="hidden" name="_method" value="PUT"/>
这样,就可实现删除与更新的操作了。
3、当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。
禅道:
评论