一个完整JavaWeb项目历程02 — Hello Servlet(上)

前言

前一篇引入了很多概念性的东西,各种百度谷歌拼起来的一个Hello JavaWeb工程;那又有什么关系呢,只要在学习每天都会接触新概念的东西;尽管做就是了,概念不清楚又有什么关系。目的只有一个:做 一个完整的JavaWeb项目。

一、创建JavaWebServlet项目

请参考前一篇

二、创建一个HelloServlet类

其实包可以不用单独去创建,在创建Servlet的时候,Java package一栏填写包名:com.fwbc.servlet就可以自动创建包。

三、创建一个hello.jsp文件

四、修改HelloServlet类代码
//修改doGet方法前:
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    //修改doGet方法后:
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
    }
View Code
五、运行JavaWebServlet程序

这里也可以参考上一篇,在浏览器中输入:http://localhost:8080/JavawebServlet/HelloServlet

六、一些疑点
这里有一个奇怪的问题就是,为什么在浏览器中输入的是:http://localhost:8080/JavawebServlet/HelloServlet 而不是:http://localhost:8080/JavawebServlet/hello.jsp
  • 解释1、严格来说jsp后缀名的文件不允许外界直接访问
  • 解释2、JDK1.5及以后版本引入Annotation(注解)这个概念,因为这里使用的是JDK1.8
  • 解释3、eclipse新版本在这里也做了一些优化,在创建servlet类的时候给类自动添加了Annotation(注解) —> @WebServlet(“/HelloServlet”)

说明:注解代替了web.xml配置mapping映射的功能,也就是说这里把HelloServlet类映射到了URL为/HelloServlet的上面,那么只要在浏览器请求/HelloServlet,那么它的请求就由HelloServlet类来处理。

这里不打算修改成web.xml里面那种原始配置了,注解更简洁、减少了web.xml的配置,并且以后再使用spring框架都是这种注解;其次,后续会单独学习一下注解的使用。

九、完整代码

没有完整代码,这一部分还没完。Hello Servlet 这句话不应该是写死的,应该要有一点交互性,不然体现不出动态网页的效果。

 

posted @ 2018-06-02 23:17  _风往北吹  阅读(255)  评论(0编辑  收藏  举报