J2EE Spring Web开发 点滴

  1. HTML中JavaScript的标记这样写:<script type="text/javascript" src="foo.js" />虽然XML合法,但浏览器并不支持,必须以</script>结束。
  2. HTTP GET请求如果请求URL中有参数含有中文,例如:http://foo.com/bar.jsp?q=中文,HttpServletRequest.getParameter()得到的值可能会出现乱码,解决方法是在Tomcat的配置文件server.xml中配置URIEncoding为正确的编码,例如:
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="utf-8" redirectPort="8443" />
  3. CSS定位,relative是相对于前一个元素,如果没有则是文档元素(Document),不过,relative会继续占用文档中元素的原有位置。而absolute是相对于包含它的元素已定位的元素定位,会从文档流中抽出来,所以包含它的div在显示时是不会包含其中的absolute元素。
  4. 表单提交,同时上传文件:设置表单enctype="multipart/form-data",强制转换javax.servlet.http.HttpServletRequest为org.springframework.web.multipart.MultipartHttpServletRequest,即可以用MultipartFile org.springframework.web.multipart.MultipartRequest.getFile(String name),处理文件。
  5. 对spring的controller拦截,可以实现org.springframework.web.servlet.handler.HandlerInterceptorAdapter,并配置:
      <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
        <property name="interceptors">
          <list>
            <ref bean="myHandlerInterceptor"/>
          </list>
        </property>
      </bean>
  6. filter的执行顺序
    请求(request)会被url-pattern匹配的filter处理,如果有多个匹配,则按web.xml里filter的配置顺序依次进入处理,而catch块和finally块则是相反的顺序执行,类似于调用栈。
  7. Firefox在后退时,几乎是不会执行javascript的,但是会有两个事件是会触发的:window.onpageshow,window.onpagehide,某些情况下,可以利用这两个事件处理用户点击后退按钮。
  8. ServletResponse.getWriter()和ServletResponse.getOutputStream(),在一次请求中只能调用其中一个,servlet容器认为你只能用其中一个向客户端写数据。在处理异常是,你不知道前面的请求是否已经调用了其中一个,可以用ServletResponse.reset()清空状态,再调用其中一个写入异常数据。
  9.  如果一个HttpResponse已经被commit(例如,redirect或者flush,close),再次向response写入数据会抛出IllegalStateException,因此filter中如果重定向了,应该终止该filter链条,可以调用HttpResonse.isCommit()确定是否已经commit。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值