一个完整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); }
五、运行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 这句话不应该是写死的,应该要有一点交互性,不然体现不出动态网页的效果。