在eclipse中集成JDK和tomcat服务器方法很简单,我们可以在服务器上运行想要的东西。但有时也需要我们手动档编译我们的Servlet程序。
所以才有了今天这篇文章,本文以下内容从网上参考,有很多现成的东西,比如代码就不要自己再去写了。

一:准备源程序

首先我们需要一段Servlet的源程序,Hello.java文件如下:

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.*;
import javax.servlet.http.*; public class Hello extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html") ;
PrintWriter out=response.getWriter() ;
out.println("<html>");
out.println("<head><title>This is my first Servlet...</title></head>");
out.println("<body><h1>Hello World!</h1></body>");
out.println("</html>");
out.flush();
}
}

程序很简单,就是输出Hello World!我想这是每个程序员都写过度程序。把以上程序保存到C:\src\Hello.java路径下。

二:编译源程序

下面我们要使用JDK环境来编译我们的程序,首先保证你的机器上已经安装了JDK和Tomcat:
        1.点击Windows操作系统任务栏的“开始”按钮-->“运行”,输入cmd启动控制台程序。
        2.然后切换到我们程序所保存的文件夹下面,在命令行中输入:cd C:\src
        3.使用dir命令可以查看该目录下面有哪些文件。
        4.使用javac命令编译程序,输入:javac Hello.java,如果出现了下面的提示:
错误一:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决方案:说明jdk的运行环境未找到,需要设置环境变量path指定jdk的路径。
错误二:Hello.java:3:软件包 javax.servlet不存在,或者提示 软件包 javax.servlet.http不存在
解决方案:说明servlet的jar包未找到,因为servlet的jar包属于tomcat的。也应该设置环境变量Classpath指定servlet的jar包路径。

一般情况下我们会碰到上面两种错误,针对于以上错误信息,我分别解决。由于本次属于临时编译程序,也就是临时设置path和classpath信息,所以我选用在命令行中设置,并且不会破坏其原有设置,创建一个bat文件,内容如下:

set path=%path%;C:\Program Files\Java\jdk1.6.0_10\bin
set classpath=.;C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar

其中的jdk和tomcat的路径信息根据自己的环境进行设置,保存到C:\src\sp.bat文件。
这时候我们再次使用命令行,首先输入sp.bat,可以看到如下提示:

说明环境变量设置成功,让我们再次编译我们的源程序,如下图:

没有任何提示,说明我们的编译通过了。到文件夹下面可以看到多了一个Hello.class的文件,这个就是我们刚刚生成的编译过的文件。

三:在Tomcat中配置Servlet

将编译过的Hello.class文件复制到以下目录:
Tomcat的安装目录\webapps\root\WEB-INF\classes
----提示:如果WEB-INF目录下面没有classes目录,需要自己手动创建一个classes文件夹。

① 注册Servlet到web.xml

打开Tomcat的安装目录\webapps\root\WEB-INF\目录下面的web.xml文件,添加servlet的注册信息,如下:

......
<servlet>
<servlet-name>myhello</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myhello</servlet-name>
<url-pattern>/servlet/Myhello.do</url-pattern>
</servlet-mapping>
</web-app>

配置完成保存并关闭文件。

② 启动Tomcat服务

通过Windows的服务里面找到“Apache Tomcat 7.0 Tomcat7”并点击启动,我自己机器上安装的是Tomcat7,你可根据自己机器上安装的Tomcat来启动它。
然后再浏览器的地址栏中输入:http://localhost:8080/servlet/myhello.do,可以看到我们熟悉的Hello World!,如下图:

哈哈,说明我们的程序已经成功了,是不是很有成就感!告诉你这才是你学java的开始,以后学java的路还很长,并且路上有很多狗血的事情在等着你。

参考出处:http://wenku.baidu.com/view/12d1592db4daa58da0114af1.html

使用JDK开发Servlet程序的更多相关文章

  1. 用Tomcat和Eclipse开发Servlet程序

    1. 安装eclipse 1). 在官网上直接下载Eclipse IDE for Java EE Developers,解压即可: 2. eclipse安装tomcat插件: 1). 在http:// ...

  2. JAVA中JDK开发环搭的搭建,jvm jre

    1.JDK的下载与安装: www.oracle.com 安装需要注意的是:不能把jdk安装到有空格或中文的文件夹中,建议大家在某个目录下创建一个JavaWeb的文件夹,然后把所学的java所有内容(后 ...

  3. Servlet程序开发--Servlet 与 表单

    servlet程序: doPost方法时为了防止表单提交时post方式的问题.否则只能处理get请求 package org.lxh.servletdemo ; import java.io.* ; ...

  4. Servlet程序开发-Helloworld

    D:\Workspace\WEB-INF\classes下新建HelloServlet.java文件: package org.lxh.servletdemo ; import java.io.* ; ...

  5. 用java自带jdk开发第一个java程序

    [学习笔记] 1.用java自带jdk开发第一个java程序:   下面要讲的eclipse要想正常工作,需要先学会配置这里的jdk.jdk要想正常工作,需先学会配置JAVA_HOME和ClassPa ...

  6. 使用JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  7. WebService学习总结(三)——使用JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  8. 【转】MyEclipse第一个Servlet程序

    转自:http://blog.csdn.net/wangdingqiaoit/article/details/7674367 前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统 ...

  9. MyEclipse第一个Servlet程序 --解决Win7系统下MyEclipse与Tomcat连接问题

    前言 本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统下运行自己的第一个Servlet程序,因为有时候配置不当或系统原因可能会运行不成功,这给初学者带来了一定烦恼,我也是为此烦恼过 ...

随机推荐

  1. Func<T, TResult> 委托的由来和调用和好处(为了高大上,为了白富美)

    Func<T, TResult>是系统的内置委托的中最常用的一个.特点就是必须有一个返回值.(func委托有多个重载,所有重载的最后一个参数就是返回值的类型,前面的是参数类型).注:没有返 ...

  2. $(function(){})和jQuery(function(){})

    $(function(){})和jQuery(function(){})有没有区别,群里的屌丝争吵起来,各自讲着各种理论大道理.但还是有人给出了简而有力的证明: 区分大小写(jQuery) 但jQue ...

  3. android studio修改新项目package名称

    android项目生成APK发布必须保证package唯一.新项目在已有项目基础上修改就必须修改package名称. 操作如下: 1) 在模块(module)上右键选择Refactor->Ren ...

  4. suse10的网络配置(静态IP)

    感觉跟fedora的差别还是蛮大的, 主要是配置文件的不同, 尤其是默认路由, 多了一个单独的文件ifroute-xxx    suse10的网卡配置文件在/etc/sysconfig/network ...

  5. 嵌入式 VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)

    系统启动后,虽然nand驱动表现正常,但是最后挂载rootfs时候出错: Kernel command line: root=/dev/mtdblock2 rw init=/linuxrc conso ...

  6. 【PHP入门到精通】:Ch05:字符串处理

    Ch05: 字符串简介 5.1 字串说明 字符串是指由>=0个字符构成的一串字符,所以叫字符串.这里所说的字符主要包括以下几种类型:数字类型:如1, 2, 3, 4等.字母类型:如果a, b, ...

  7. 开发者必须知道的HTML5十五大新特性

    HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术.然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性. 一起来看下: 1.新的文档类型  ( ...

  8. Maps

    Maps.uniqueIndex()将列表转换为map  //iterator各个元素作为Map.values, key为Function.apply返回值 Maps.uniqueIndex(ps.i ...

  9. HashBiMap

    HashBiMap  AbstractMap类实现了Map接口定义的一些方法,而BiMap类定义了其子类需要实现的一些方法,使得所有实现BiMap的类必须符合其独有的特性:键.值都是唯一的.HashB ...

  10. Redis 对String数据类型的操作

    Redis的 Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更 ...