前言
本文旨在帮助学习java web开发的人员,熟悉环境,在Win7系统下运行自己的第一个Servlet程序,因为有时候配置不当或系统原因可能会运行不成功,这给初学者带来了一定烦恼,我也是为此烦恼过几小时。现手把手介绍利用MyEclipse,连接tomcat服务器,建立自己的第一个Servlet程序。java
web开发相关的理论及其他知识在此处未做讨论。文章末尾给出了一些常见错误的解决方法。
1.手把手教你建立第一个Servlet
以下操作在win7下切记是以管理员身份运行MyEclipse时操作的,否则无效。对话框中需要应用的地方就应用它,确保浏览器地址栏和建立文件时输入拼写无误。此步骤同样适合于XP系统,只是XP系统没有权限问题的困扰,更简单好用。

step1:MyEclipse连接Tomcat
首先确保安装了MyEclipse、Tomcat和Java jdk,笔者安装的版本是MyEclipse 8.5,Tomcat 6.0,jdk 1.7。
MyEclipse连接Tomcat时,选中MyEclipse的【Window】--【Preferences】菜单项,打开界面如下图1所示:


图1设置MyEclipse与Tomcat连接

选择好Tomcat的安装路径,然后选择Enable,即可。
Step2:设置jdk版本
设置jdk版本需要选中jdk选项,然后选择添加系统中安装jdk的目录,然后选择下拉列表中你系统对应的jdk版本。操作如下图2所示:


图2设置jdk版本

Step3:利用MyEclipse新建web
工程
新建web如下图3所示:


图3新建web工程界面

新建完毕后工程浏览器中项目文件视图如下图4所示:


图4工程资源浏览视图

Step4:利用MyEclipse部署Web应用(deploy:部署,配置的意思)
部署web应用可以使用工具栏中的部署按钮开始,如下图5所示:


图5开始部署应用

部署过程中需要选择部署的服务器,这里我们选择Tomcat6.x ,如下图6所示:


图6选择部署服务器

部署完毕后如下图7所示:



图7部署结束

此时点击上图按钮Browse可以看到在Tomcat安装目录中多出了些文件,如下图8所示:



图8部署后新增文件

Step5:启动Tomcat服务器
方法一:从工具栏【run】启动。选择作为web服务程序启动,如下图9所示:



图9 从工具栏启动web服务程序

然后选择从Tomcat6.x启动,如下图10所示:



图10选择Tomcat6.x服务器

方法二:从Servers面板卡启动([Window]--[Show View]--[Servers]找到),如下图11所示:



图11 启动Tomcat服务器

部署和服务器启动是否成功,可以再浏览器中输入http://localhost:8080/FirstServlet/index.jsp ,进行测试,测试成功如下图12所示:

图12测试成功

Step6:建立Servlet文件

建立servlet文件如下图13、图14、图15所示:



图13选择servlet文件类型



图14填写相关类名



图15新建完成

这里有系统为我们生成的文件test.java,并且改变了web.xml中相应的配置。

Step7:测试servlet程序

我们根据web.xml文件中url-pattern来输入浏览器地址栏地址.web.xml中url-pattern如下图16所示:



图16web.xml中的url-pattern

在浏览器重输入:http://localhost:8080/FirstServlet/servlet/Test,测试成功如下图17所示:



图17测试成功

2.错误及解决方法
错误1:A configuration
error occurred during startup.please verify the preference field with the prompt:Tomcat JDK name.
解决:在配置Tomcat时选择JDK选项,然后根据系统安装的jdk版本,配置到JDK中,操作见上述部分。
错误2: The APR based
Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
解决:缺少tcnative-1.dll文件,需要将tcnative-1.dll复制到Tomcat
的bin目录下。
错误3:An incompatible
version 1.1.12 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.17 。
解决:提高tcnative-1.dll版本。
错误4:Error initializing
endpoint,Address already in use: 
解决:确保端口未被占用,修改Tomcat的使用端口,具体做法——找到目录.../Tomcat
5.5/conf,在conf目录下有“server.xml”文件,用记事本打开此文件,
查找(打开文件后Ctrl+F)文件中的所有“8080”,并改为其他没有被占用的端口值(如:8088、8081等)。 

修改完了如果还有,则可能是已经有tomcat再运行了或者其他程序,可以使用netstat -anb查看占用端口的进程,然后解决进程,比如taskkill /F /IM Tomcat6.exe。
错误5:按照上述方式操作,但是结果出不来。
解决:Win7下以管理员身份运行MyEclipse,这也是困住我的地方。

MyEclipse第一个Servlet程序 --解决Win7系统下MyEclipse与Tomcat连接问题的更多相关文章

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

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

  2. 64位Win7系统下vs2010调试无法连接oracle解决办法

    具体的解决办法如下: 1.先将WebDev.WebServer20.EXE和WebDev.WebServer40.EXE文件从Program Files (x86)目录中拷贝出来放到c:\dev目录中 ...

  3. 64位Win7系统下vs2010调试无法连接oracle

    64位win7系统的Program Files (x86)路径中有括号,oracle不认识这样的路径,所以就出现不能连接数据库的问题.所以我们可以将vs2010的内部调试web服务器WebDev.We ...

  4. win7系统下重启之后打印机服务就会自动停止的解决方法

    win7系统下重启之后打印机服务就会自动停止的解决方法: 第一步.进入Win7系统后,您需要启动win7系统的任务管理器窗口,然后切换到进程这一栏中,将spoolsv.exe运行进程结束掉.之后,您同 ...

  5. 在win7系统下安装把Ubuntu17.04安装在另一个硬盘开机无法进入Ubuntu问题的一种解决办法。【转】

    本文转载自:http://blog.csdn.net/u012879090/article/details/74937762 在win7系统下安装把Ubuntu17.04安装在另一个硬盘开机无法进入U ...

  6. 如何解决win7系统无法运行cmd命令提示符

    如何解决win7系统无法运行cmd命令提示符   CMD命令可以帮助我们很快的执行所需要的程序命令,可以查询系统中很多的信息和解决系统很多的故障,对我们来说非常方便,但是最近有用户反馈自己win7电脑 ...

  7. Servlet笔记2--模拟Servlet本质、第一个Servlet程序、将响应结果输出到浏览器中

    以下代码均非IDE开发,所以都不规范,仅供参考 模拟Servlet本质: 模拟Servlet接口: /* SUN公司制定的JavaEE规范:Servlet规范 Servlet接口是Servlet规范中 ...

  8. servlet(2) - 利用MyEclipse新建一个servlet - 小易Java笔记

    1.Tomcat在MyEclipse中集成 ==> Window-preferences-MyEclipse-Servers-Tomcat-Tomcat 6.x-点击右侧的Browse,选择你的 ...

  9. VMware虚拟机下如何安装一个64位的win7系统

    原文地址:http://www.xitongcheng.com/jiaocheng/win7_article_21001.html VMware虚拟机软件可以在一台电脑上运行多个操作系统,一些网友想在 ...

随机推荐

  1. ios 绘制wav波形图

    最近研究了如何在iOS上绘制wav波形图.查了很多资料,都没能找到一个很完整的介绍,我这里总结一下一些经验. 首先需要了解wav的这3个重要指标:采样率.采样位数.声道数.下面以16KHz, 16Bi ...

  2. Android 基于Netty的消息推送方案之对象的传递(四)

    在上一篇文章中<Android 基于Netty的消息推送方案之字符串的接收和发送(三)>我们介绍了Netty的字符串传递,我们知道了Netty的消息传递都是基于流,通过ChannelBuf ...

  3. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  4. freemarker常用的基本命令

    freemarker包括下面几个基本命令 if,else,elseif指令switch,case,default,break指令list,break指令include指令import 指令nopars ...

  5. springmvc入门详解

    首先,我们先写一个入门小案例,先熟悉一下springmvc是什么,了解一下springmvc的运行流程,对加强springmvc的深层理解有很大帮助 .第一步,创建一个maven项目: <?xm ...

  6. Java:单例模式的七种写法(转载)

    第一种(懒汉,线程不安全): package Singleton; /** * @echo 2013-10-10 懒汉 线程不安全 */ public class Singleton1 { priva ...

  7. C#如何以管理员身份运行程序(转)

    在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况 ...

  8. C#--方法的参数类型

    在C#中,方法的参数类型有四种: 值类型 引用类型 输出类型 数组型参数 值参数: 所谓值参数,就是利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并将此拷贝传递给该方法,这样做的结果就是被调用 ...

  9. UVA 1344 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Here is a famous story in Chinese history. That was about 2300 years ago ...

  10. 指针与数组、大小端之 printf("%x,%x,%x\n",*(a+1),ptr1[-1],*ptr2);

    在X86系统下,以下程序输出的值为多少? #include <stdio.h> #include <stdlib.h> int main(void) { ]={,,,,}; ) ...