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

第一个Servlet程序—Hello World!java


Step1:编写HelloWorldServlet类web


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

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

下面用%CATALINA_HOME%来代替浏览器

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

将编写好的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();
}
}

大概实现过程: app

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

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




Step2:编译HelloWorldServlet.java


打开命令提示符,转到所在目录%CATALINA_HOME%\webapps\ex1\src下,而后执行:

javac -d . HelloWorldServlet.java

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

191516693.jpg

不然会出现错误以下图所示

191632931.jpg


正确编译会生成一个org包

191842763.jpg




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"?>
<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"
  metadata-complete="true">
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
</web-app>

而后编辑这个文件,添加HelloWorldServlet配置,以下:

<?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"
  metadata-complete="true">
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>org.lixiyu.ex1.servlet.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>




Step4:访问HelloWorldServlet


确保Tomcat服务器已经启动。

经过浏览器访问,输入地址:http://localhost:8080/ex1/helloworld

193537659.jpg

相关文章
相关标签/搜索