java servlet hello_学习扎记:一个最简单的Servlet——Hello World

第一个Servlet程序—Hello World!

Step1:编写HelloWorldServlet类

编写一个Servlet,实际上就是编写一个实现了javax.servlet.Servlet接口的类。

我的Tomcat安装的路径是H:\Java-tools\apache-tomcat-7.0.47

下面用%CATALINA_HOME%来代替

在%CATALINA_HOME%\webapps新建一个ex1目录,再在ex1目录下再建立一个子目录src

将编写好的HelloWorldServlet.java源文件放在子目录src下。详细代码:package org.lixiyu.ex1.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.Servlet;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class HelloWorldServlet implements Servlet

{

private ServletConfig config;

public void destroy(){}

public ServletConfig getServletConfig()

{

return config;

}

/**

*该方法很少使用,因此返回null即可

*/

public String getServletInfo()

{

return null;

}

/**

*ServletConfig对象由容器构造。容器在调用init()方法时,将其作为参数传给Servlet

*/

public void init(ServletConfig config) throws ServletException

{

this.config=config;

}

public void service(ServletRequest req,ServletResponse res)

throws ServletException,IOException

{

//得到PrintWriter对象。Servlet使用输出流来产生响应

PrintWriter out=res.getWriter();

//向客户端发送字符数据

out.println("Hello World");

//关闭输出流

out.close();

}

}

大概实现过程:

在Servlet中,主要的方法是service(),客户端发出请求,Tomcat将调用Servlet实例的service()方法对请求进行处理。

service()方法中,先通过ServletResponse类中的getWriter()方法调用得到一个PrintWrite类型的输出流对象out,然后调用out对象的println()方法向客户端发送字符串“Hello World”,最后关闭out对象。

Step2:编译HelloWorldServlet.java

打开命令提示符,转到所在目录%CATALINA_HOME%\webapps\ex1\src下,然后执行:javac -d . HelloWorldServlet.java

在这之前要先配置servlet环境变量:将%CATALINA_HOME%\lib\servlet-api.jar加入到ClassPath环境变量下

467f75816189f37d55e6607f0d51f58c.png

否则会出现错误如下图所示

70347c0b70b1c9c94c92a5ae9b9ebf50.png

正确编译会生成一个org包

c70dd3bc3c1d0c876245dd2c174a9de6.png

Step3:部署HelloWorldServlet

在Servlet容器运行时,Web应用程序的类加载器将首先加载classes目录下的,其次才是lib目录下的类。如果这两个目录下存在同名的类,起作用的将是calsses目录下的类。

在%CATALINA_HOME%\webapps\ex1目录下新建一个子目录WEB-INF(注意是大写)

再在WEB-INF目录下新建一个calsses目录

将生成的HelloWorldServlet.class文件连同所在org包一起放到WEB-INF\classes目录下

接下来,需要通过web.xml来对servlet进行部署

可以到%CATALINA_HOME%\webapps\ROOT\WEB-INF目录下复制一份web.xml存放到ex1\WEB-INF目录下。这个web.xml内容如下:<?xml version="1.0" encoding="ISO-8859-1"?>

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"

metadata-complete="true">

Welcome to Tomcat

Welcome to Tomcat

然后编辑这个文件,添加HelloWorldServlet配置,如下:<?xml version="1.0" encoding="ISO-8859-1"?>

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"

metadata-complete="true">

Welcome to Tomcat

Welcome to Tomcat

HelloWorldServlet

org.lixiyu.ex1.servlet.HelloWorldServlet

HelloWorldServlet

/helloworld

Step4:访问HelloWorldServlet

确保Tomcat服务器已经启动。

0b8799ca9af7f70c43b7d9b53eded55a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值