发表于: 2017-10-31 22:57:16

1 756



今天做的事情:


                     上午再次重新安装IDEA,没有报错,最主要的tomcat插件可以使用,项目完善。主要改了RESTful风格的请求的修改之后的PUT提交和DELETE删除。因为jsp中的form表单是不支持put和delete.


                    修改操作


                  1:

                  


                      在web.xml放入             

                    

<filter>
<filter-name>httpPutFormcontentFilter</filter-name>
<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpPutFormcontentFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

                   

Spring MVC过滤器-HttpPutFormContentFilter

       教程:http://blog.csdn.net/geloin/article/details/7444590



                   update.jsp


                         


                     用ajax提交,可以判断一下成功失败,如果是用form表单直接提交,需要加个enctype参数。


                   

                    


                       删除操作


                    


                          jsp页面

                        

                            用点击事件控制

                       


                          


                           因为删除操作是需要很慎重的,所以应该提示用户三思而行。这里有一个小错误,应该是删除id为xx的数据,拼接字符串失败,所以就这样了。


                   http://www.jnshu.com/dailyCreate///


                   RESTful的demo完成。总结一下,开始任务三。



                深度思考


  

7.Spring MVC和Struts的区别是什么,为什么更倾向于使用Spring MVC?                       


         1: Sreuts是类级别拦截,一个类对应一个request上下文,SpringMvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,SpringMvc更适合restful url,Struts2中action的一个方法对应一个URL,而类属性却被所有方法共享,这也就无法使用注解标识方法。

         2:拦截器实现机制上,Struts2有自己的interceptor机制,SpringMVC用的是独立得AOP方式,这样导致Struts2的配置文件量还是比SpringMVC大。

        3:SpringMVC集成了Ajax,使用非常方便,只需一个注解@ResponseBody就可以实现,然后直接返回响应文本即可,而Struts2拦截器集成了Ajax,在Action中处理时一般必须安装插件或者自己写代码集成进去,使用起来也相对不方便。




8.web.xml里的主要配置都包括什么,都代表什么含义,比如怎么加载Spring 配置的?                        

 

          首先配置DispatcherServlet,请求控制器,通过handdlerMapping检查这个url有没有对应controller方法.再通过

<init-param>

来配置springMVC.xml的路径和加载优先级。   

           还要配置一个spring的过滤器,避免乱码。

CharacterEncodingFilter

         

这个处理restful的put请求

HttpPutFormContentFilter

         

  是针对浏览器表单不支持put和delete方法而设计的,通过在表单中设置隐藏域,来分发到相应的处理器上

HiddenHttpMethodFilter

             

启动spring监听器

<!-- 配置spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


加载spring

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring.xml</param-value>
</context-param>



11.什么是Filter,什么是Interceptor,他们的区别是什么,和AOP又是什么关系?                        


               Filter过滤器:拦截器web访问url地址。

                     依赖于servlet容器,在实现上基于函数回调。可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次,使用过滤器的目的是用来作一些过滤操作,比如,在过滤器中修改字符编码,在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字,危险字符。


               Interceptor拦截器:拦截以.action结尾的url,拦截Action的访问。

                      依赖于web框架,在实现上基于java的反射机制,属于面向切面编程(AOP)的一种运用,由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用,但是缺点是只能对controller请求进行拦截,对其他的一些如直接访问静态资源的请求则没办法进行拦截处理


               Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)           

            

             


遇到的问题:


               改项目时报404



收获:


              使用restful风格来构建项目











返回列表 返回列表
评论

    分享到