• [Android]J2EE Web开发中Tomcat和Servlet的安装配置


    ====针对HttpServlet + Eclipse的Tomcat插件====

    前提:JDK,Eclipse,Tomcat装好,环境变量配好

    1. 添加Eclipse的Tomcat插件(下载路径http://www.eclipsetotale.com/tomcatPlugin.html
    2. 插件装好之后Window -〉 Perferences -〉 Tomcat 配置Tomcat路径;
    3. 插件的安装不用多说了吧,下载后解压到eclipse的plugins文件夹里。然后需要做一点配置:

      安装完插件后,就能在Eclipse里面启动和关闭tomcat了

    4. 然后重启eclipse
    5. 新建一个Tomcat Project:ServletDemo
    6. 右键ServletDemo工程 -〉 创建一个Class:ServletDemo.java(创建的Class会自动生成到/WEB-INF/src目录中)
    7. WEB-INF下添加web.xml
    8. 点开Project看看Build Automatically又没有钩上,没有钩上说明不是自动编译,需要手动Alt + B编译一下
    9. 启动Tomcat,IE输入http://localhost:8888/ServletDemo/show运行

    为该版本配置tomcat

    在Window->Preferences中打开Server->Installed Runtimes项,如果右边列表是空的,则单击Add...,选择服务器为Tomcat,版本为你安装的版本, Next之后设置好服务器路径。

    ok,一个eclipse+tomcat+java的web简单开发环境就搭建成功了,当然本文没有说tomcat与java的安装,这样的文章太多了,随便百度一下就可以了。

    创建一个项目

    启动eclipse,然后选择菜单File->New->Project...,在新建项目向导中选择 Web->Dynamic Web Project。如下图

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    下一步,输入项目名 LearnJSP。下面的Target Runtime指定运行这个项目的服务器,如果你已经在配置Lomboz 的一节中配置好了Tomcat服务器,那么在这里你可以看到相应的服务器配置,选择它即可。如果选择框中只有<none>,说明你还没有配置服务器,可以单击右侧的New...按钮新建。

    Configurations项选择<custom>即可

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    下一步选择项目所需的特性,默认的Dynamic Web Module和Java就可以了如图

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    下一步是输入相关的目录,这里也直接使用默认值即可。图略。

    最后单击 Finish,完成项目创建。创建途中可能会有一个用户使用协议需要你同意,单击I Agree即可。创建完成后会询问是否要切换到J2EE视图(下图),选择Yes,完成项目创建。

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    项目建立完成后,请在左侧的 Project Explorer 中打开 LearnJSP 项目,看看它各个部分的构成。

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    应用程序由三部分组成,即Servlet、JSP及静态内容、配置文件web.xml。项目视图中的 src 目录用来保存 Servlet 源代码,WebContent 目录用来保存JSP及静态内容, web.xml则位于 WebContent/WEB-INF/web.xml。但手工编辑 web.xml 比较麻烦,因此 Lomboz 提供了一套可视化工具用于编辑 web.xml,即最上方的Depolyment Descriptor

    ok,有关Servlet,jsp,web.xml需要我在以后的学习中不断加深巩固,熟能生巧。我坚信自己这次一定能坚持下来。

    下面谢谢我是如何创建一个Servlet

    理解Servlet

    在Project Explorer中打开Java Resources: src -> Libraries -> Apache Tomcat 5.5 -> servlet-api.jar 文件,可以看到其中包含两个包:javax.servlet和javax.servlet.http,与Servlet有关的类和接口都位于这两个包里面。

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    Servlet是一个接口,位于 javax.servlet.Servlet,它规定了每个Servlet所必须实现的方法。实际应用时我们需要从 javax.servlet.GenericServlet 和 javax.servlet.http.HttpServlet 两个抽象类继承出自己的Servlet类,并实现所需的功能。这几个类的关系如下(绿色斜体字为抽象类):

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    上图中,Servlet依赖于ServletRequest和ServletResponse接口,这两个接口负责为Servlet接受和发送信息。 HttpServlet也类似。

    Servlet接口

    javax.servlet.Servlet接口包含以下的方法:

    init()
    void init(ServletConfig config) throws ServletException
    init方法用于初始化,在Servlet启动时调用。
    service()
    void service(ServletRequest req, ServiceResponse res) throws ServletException, IOException
    Servlet通过这个方法,从req获得客户端请求,处理并生成结果,再通过res发送给客户端。
    destroy()
    void destroy()
    Servlet销毁时执行的方法。
    getServletInfo()
    String getServletInfo()
    将Servlet的信息通过字符串返回。
    getServletConfig()
    ServletConfig getServletConfig()
    获取包含Servlet各种信息的ServletConfig对象。

    当某个Servlet第一次被请求时,服务器(Servlet容器)会生成该Servlet并调用它的init()方法,再调用其service()方法处理请求。处理结束后该Servlet会常驻于容器中,下一个请求则不再重新生成Servlet,而是直接调用常驻的Servlet对象的service()方法。服务器停止时,会调用该Servlet的destroy()方法。

    因此,在Servlet的一个生命周期中,init()和destroy()仅会被调用一次,而service()则会被调用多次。

    GenericServlet抽象类

    javax.servlet.GenericServlet为我们实现了Servlet接口的大部分方法,除了service()方法之外。因此,我们在制作自己的Servlet时,只需要继承GenericServlet并重载service()方法即可。

    典型的Servlet示例

    下面我们来做一个典型的Servlet。

    在eclipse左侧的Project Explorer中,右键单击Java Resources: src目录(以后简称src目录),选择New->Class,建立如下所示的类。

    使用eclipse开发web应用 - Q.Zhang - Q.Zhang的博客

    包名输入我们要建立的 com.idv2.learnjsp,类名为 HelloServlet,父类为 javax.servlet.http.GenericServlet。在输入父类名时,你会看到输入框左侧有个小灯泡的图标,这说明可以通过 Alt-/键自动补齐,因此你只需输入 GenericSer 几个字母,然后按 Alt-/ 组合键,系统会自动查找开头为 GenericSer 的类并补齐剩余部分

  • 相关阅读:
    SQL游标写法代码
    关键词过滤器
    TOP4NET20107027源代码非官方
    亚马逊API之订单下载
    PHP上传大文件参数设置
    CListCtrl中的一个错误(c++)
    汇编语言数据结构
    类型为“System.OutOfMemoryException”的异常
    【javascript脚本】动态设置div的高度和宽带
    【读书笔记】串指令备注
  • 原文地址:https://www.cnblogs.com/webapplee/p/3771853.html
Copyright © 2020-2023  润新知