美文网首页
java笔记2-servlet-编写servlet的准备工作

java笔记2-servlet-编写servlet的准备工作

作者: arkulo | 来源:发表于2017-02-21 14:19 被阅读49次

    学习目标:

    • 第一个完整的servlet代码
    • 准备开发环境(编辑器等等)
    • 到底什么是HttpServlet
    • 代码部署的相关问题

    1. 准备开发环境

    • tomcat主要提供web容器的功能
      版本:Tomcat 7.0

    • Eclipse是开发IDE
      版本:Eclipse IDE for java EE Developers
      注意:官网有很多版本,我们要的是Java EE开发的

    • JDK6是开发环境
      版本:JDK6
      注意:JDK,JRE,JVM区别

    Paste_Image.png

    简单的讲,JVM是Java的操作系统,但是只有它是跑不了Java程序的,必须得有运行环境,那就是JRE,有了JRE环境Java程序就可以运行了,但是如果你想调用API搞个Java程序开发,不可以!你还需要开发环境,那就是JDK!

    2. 第一个完整的servlet代码

    servlet编写步骤:

    1. 编写代码
    2. 注册代码
    • web.xml方式注册
    • 标注方式注册(servlet3.0)
    Paste_Image.png

    上面这是标注方式的简单形式,看看稍微复杂一点的方式:

    @Webservlet(
      name="hello",
      urlPatterns={"/hello.view"},
      loadOnStartup=1
    )
    

    其中loadOnStartup=1是说该servlet需要在容器启动时就进行实例化,而不是在第一次访问时才被实例化。
    如果要采用web.xml的方式:

    <servlet>
      <servlet-name>HelloServlet</servlet-name>    
      <servlet-class>cc.openhome.HelloServlet</servlet-class>  
      <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>    
      <servlet-name>HelloServlet</servlet-name>    
      <url-pattern>/hello.do</url-pattern>  
    </servlet-mapping>
    

    请注意,url-partern中的地址必须以/开头

    3. 到底什么是HttpServlet

    第一个servlet已经看完了,我们采用了IDE,它帮助我们自动实现了很多功能,那这些功能细节是什么样的呢,我们来具体看看servlet的本质是什么?

    Paste_Image.png
    1. servlet是接口,旨在与各种协议进行数据交互
    2. GenericServlet实现了servlet接口,主要作用是系统需求(初始化配置,日志等)
    3. HttpServlet继承了GenericServlet类,真正落地来处理http协议请求与响应,所以有doXXX等函数
    4. ServletConfig是初始化参数,GenericServlet对它既是依赖,又是代理
    5. ServletRequest为什么要转换成HttpServletRequest,因为ServletRequest原来设计的时候不光是处理http协议的。
    6. ServletResponse同上

    4. 代码部署的相关问题

    都用eclipse调试代码,如果手动写代码,然后部署到Tomcat下,应该是什么样的目录结构?

    Paste_Image.png

    下面我们就来谈谈如何发布项目:

    • 直接源码发布
      如果是tomcat做web容器,那就将上图中所说的FirstServlet整个目录,拷贝到tomcat的webapps目录下,然后启动tomcat,直接访问就可以了。
    • WAR包发布
      我们也可以把整个FristServlet打包成一个WAR包,然后拷贝到tomcat的webapps下,重启tomcat,然后直接浏览器访问就可以了。
      jar cvf ../FristServlet 打包命令
    • 部署描述文件web-fragment.xml

    相关文章

      网友评论

          本文标题:java笔记2-servlet-编写servlet的准备工作

          本文链接:https://www.haomeiwen.com/subject/vubxwttx.html