• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
JNovice
博客园    首页    新随笔    联系   管理    订阅  订阅

关于Servlet学习过程中的注意事项(分享自己犯过的错误,写给初学Servlet的小伙伴的几条建议)

关于Servlet学习过程中的注意事项(分享自己犯过的错误,写给初学Servlet的小伙伴的几条建议)


  • 前言:最近在学习Servlet,总结了几个小问题,特地分享给大家,让大家不要犯这样的错误,也希望大家养成学会总结的好习惯,由于本人水平有限如果有什么错误还请指出,好让我进行及时的更改。

一、注意事项


 以下的出现的问题是按照我的学习进度进行排列的,可能这些问题很简单但是我还是犯了很多次,所以特地总结出来。

(一) 忘记给Servlet类配置xml文件

    这虽然是一个小问题,但是很多人可能写的时候会不注意这一点,补充一下Servlet类的文件配置格式:
  <servlet>
    <description></description>
    <servlet-name>ForwardOrIncudeServlet</servlet-name>
    <servlet-class>com.zuikc.servlet.ForwardOrIncudeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ForwardOrIncudeServlet</servlet-name>
    <!-- 设置名称空间name-space test方便汇总和归类 -->
    <url-pattern>/test/ForwardOrIncudeServlet</url-pattern>
  </servlet-mapping>

(二) URL书写错误

重定向和表单的URL路径的格式是一样的,/表示tomcat的webapps文件下文件位置,需要手动输入后续的文件路径,例如/web/index.html。

转发和包含的路径中,最前面的/表示该项目所在的位置,不需要输入项目名,例如/index.html。在xml中的mapping的书写/也是表示当前项目路径下。

(三) 没有给Web页面设置单独的jar包文件

当初遇到这个的问题我竟然花了很长的时间去找bug,这个问题看似很小但是确实是很严重。其原理是没有将class文件加载到webapps所在的项目路径下的classes文件。那么会导致ClassNotFound的异常出现。这个问题必须要引起重视,如果一旦发现ClassNotFound的异常,那么基本上就是出现了这个问题。

(四) 忘记设置中文编码格式导致中文乱码

每次都是输入后发现乱码才及时明白,自己忘记设置中文乱码的过滤了。对于中文乱码的处理一定要养成良好的习惯。在这之前就设置一个过滤器过滤所有的request和response,将过滤路径设置成/*,然后设置request.setCharacterEncoding("utf-8")和设置response.setContentType("text/html; charset=utf-8")。

(五) 没有深入理解forward转发、include包含以及sendRedirect重定向的区别

  1. 因在写流程的过程中可能时常用到forward、include和sendRedirect。
  2. forward和include其实算一个方式,其都是通过ResquestDispatcher类的对象的方法来实现,其跳转后url都是不变的而且对于客户端来说都是相当于只是发出一个请求,可以获得第一个页面的request的页面的属性值。而forward和include的方式还是有区别的,forward的第一个Servlet页面会被第二个servlet页面覆盖。但是include就不会被覆盖而是两个页面信息同时出现。
  3. sendRedirect相当于另外一种方式,其是通过HttpServletResponse类的对象的方法来实现,其跳转后url是会发生变化的而且对于客户端来说相当于是发出了两次请求,而且直接是显示了第二次的页面。并且无法获取第一个页面的request的属性值。

(六) 注解格式写错

注解其本质也是一种接口,其实在真实开发中,很多地方都会直接用到注解去设置配置文件。在Servlet中其注解格式经常可能书写错误,以下是常用的格式:

//配置Servlet类的xml信息
@WebServlet(urlPatterns={"/AServlet1",loadOnStartup=5})
//配置Filter类的xml信息
@WebFilter(urlPatterns={"/abc/AServlet","/bcd/BServlet"}) 

二、总结分析


   以上的问题出现的原因多半是跟自己的不良习惯有关,那么以下我们进行一下总结。

(一) 养成提前了解大纲的好习惯

    在学习Servlet之前,了解下Servlet的学习大纲,推荐自己制作思维导图对知识形成整体的认识。

(二) 平时就需要养成严谨的编码习惯

    个人理解严谨的编码习惯是书写代码的时候要多写注释,然后写的时候每写完一行大概检查一下,虽然这样的效率很低,但是对于降低bug出现几率很有效。

(三) 平时多总结自己的错误

    起始很多的错误都是相通的,平时多注意总结自己的代码错误,那么这种类型的错误可能就不会经常出现了。

posted @ 2018-09-21 20:21  JNovice  阅读(188)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3