第一个Servlet程序——实现第一个Servlet程序

下载和安装Eclipse Jee

由于Servlet程序是一个JavaEE程序而不是JavaSE程序,所以在使用Servlet之前需要检查Eclipse的版本是否是JavaEE。
Eclipse-Jee下载地址为https://www.oracle.com/java/technologies/javaee-8-sdk-downloads.html
Eclipse-Jee下载后默认是没有提示代码功能的,添加功能可参照https://blog.csdn.net/YU_M_K/article/details/82686464

1.在Eclipse中配置Tomcat
  1. 启动Eclipse开发工具,单击工具栏的【Window】–>【Preference】选项,在弹出的窗口中选择【Server】项,打开下拉列表,选中【Runtime Environments】如下图所示:在这里插入图片描述
  2. 在【Preferences】窗口单机【Add…】按钮,弹出【New Server Runtime Environment】。由于需要配置的是apache-tomcat-7.0.55所以选择【Apache Tomcat v7.0】:在这里插入图片描述
  3. 单击【Next >】在弹出的窗口中单击【Browser…】选择apache-tomcat-7.0.55的安装路径,然后单击【Finish】按钮关闭窗口,完成Eclipse于与Tomcat的关联。在这里插入图片描述
  4. 在Eclipse中创建Tomcat服务器。单击下方的【Server】选项卡,如果没有可以通过【window】–>【ShowView】打开Server选项卡。在该选项卡中可以看到“No servers are available.Click this link to create a new server…”的链接:在这里插入图片描述
  5. 点击该链接弹出【New Server】窗口,选择【Tomcat v7.0 Server】,单击【Finish】完成Tomcat服务器创建:在这里插入图片描述
    6. * Tomcat服务器创建完毕后就可以使用了,此时如果创建项目,项目会发布到Eclipse的.metadata文件夹中。为方便查找也可更改发布路径到Tomcat文件夹中:
2.创建并实现第一个Servlet程序
  1. 创建Dynamic Web project:点击Eclipse左上角的【File】–>【New】–>【Dynamic Web project】,弹出【New Dynamic Web project】窗口:在这里插入图片描述
  2. 在生成的文件夹中的Java Resources的src中创建包(我创建的包名为cn.itcast.firstapp.servlet)并在包中创建继承自GenericServlet类的HelloWorldServlet类,实现service抽象函数并填写如下代码:
		PrintWriter out=response.getWriter();
		out.println("hello world!");

在这里插入图片描述
3. 此时编译Servlet文件将会出错,因为Servlet程序是JavaEE程序而不是JavaSE程序,所以JAR文件需要自己手动添加。找到Tomcat的lib子目录中的servlet-api.jar导入到创建的Dynamic Web project项目【WebContent】–>【WEB-INF】–>【lib】中:在这里插入图片描述
4. 1 引入Servlet的JAR包(方法1):右击创建的Dynamic Web project项目选择【Build Path】–>【Configure Build Path…】打开一个新窗口,选择【Libraries】–>【Web App Libraries】–>【servlet-api.jar…】点击【Aplay And Close】:在这里插入图片描述
4.2 引入Servlet的JAR包(方法2):
打开命令行窗口,通过"set classpath"添加到CLASSPATH环境变量:
set classpath=%classpath%;+servlet-api.jar具体地址:在这里插入图片描述
5. 设置服务器访问的Servlet路径,点击【Servers】–>【Tomcat v7.0 Server at localhost-config】文件夹中的【web.xml】并添加路径(不要删除里面的任何内容)

     <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>
         cn.itcast.firstapp.servlet.HelloWorldServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

在这里插入图片描述
6. 此时点击运行按钮,会出现"Server Tomcat v7.0 Server at localhost failed to start."错误:在这里插入图片描述
7. 原因是Servlet文件中没有或者没有配置web.xml文件,此时在该项目的【WenContent】–>【WEB-INF】文件中创建或更改一个web.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app  xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                      
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>
         cn.itcast.firstapp.servlet.HelloWorldServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

在这里插入图片描述在这里插入图片描述
8. 配置完后点击运行将弹出一个窗口,显示hello world!:在这里插入图片描述
9. 总结:
导致第6步“Server Tomcat v7.0 Server at localhost failed to start.”的各种可能原因(Tomcat不能正常打开):
1.Servlet项目文件夹中没有配置文件web.xml
2.Server文件夹中的web.xml文件配置出错在这里插入图片描述
3.Server文件夹中的server.xml文件倒数第4行Context中的元素出现不相关的项目(比如服务器中未添加的项目出现在配置中,或者之前添加后,未勾选选项未删除server.xml中配置)在这里插入图片描述
4.服务器的Start TimeOut时间设置过小

3.将Servlet项目发布到Tomcat服务器中:

如果进行了1.6的步骤将直接打包到指定文件夹中,可省略第一步直接检测:

  1. 在Tomcat的webapps下创建目录【chapter03】(目录名可任取,为Web应用名称),并创建【WEB-INF】目录,将Servlet项目【build】的子目录【classes】复制到Tomcat刚刚创建的【WEB-INF】目录下,并创建web.xml文件(同2.7,可参照example的web.xml):在这里插入图片描述
  2. 打开startup.bat文件打开Tomcat服务器。
  3. 使用浏览器访问网站http://localhost:8080/chapter03/HelloWorldServlet:
    显示“hello world!”即发布成功:在这里插入图片描述
    (·m·)丿?

有关环境配置:
https://blog.csdn.net/qq_40731388/article/details/102583511

  • 10
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值