Servlet基础_0100_HelloWorld

本文介绍了 Java Web 开发的基础知识,包括 Servlet 的概念、Web 服务器程序的结构、以及如何编写并部署第一个 Servlet 程序。通过实例演示了从创建 HelloWorldServlet 类到在 web.xml 文件中配置 Servlet 的全过程,最终演示了如何通过访问指定 URL 来验证 Servlet 是否正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.servlet简介

servlet是服务器端的小程序,但不一定是web服务器的小程序,他也可以是smtp端的小程序,也可以邮件服务器的小程序,它只是sun为javaee定的一个标准,sun为javaSE提供了强大的类库,但sun没有为javaEE提供类库,这也不可能提供的,他只是提供了这样的一套标准。三流公司卖产品,二流公司卖服务,一流公司卖标准,sun可能是一流的公司,只是现在被oracle收购了……

 
 javax.servlet.Servlet是一个接口,它定义了这类程序的标准,所有实现使用Servlet程序的服务器必须去实现这一套标准体系, 而我们经常用的tomcat服务器就实现了这样一套标准的体系。
 

GenericServlet实现了Servlet接口,而他是一个抽象类,而我们编写http协议的程序,一般使用HttpServlet类,它继承了GenericServlet, 而且HttpServlet类重载了GenericServlet中的service(ServletRequest,ServletResponse)方法, 将其变成了service(HttpServletRequest,HttpServletResponse),这样就更符合了web协议的标准, 而它的实现方式就是简单将ServletRequest和ServletResponse类强制转成了HttpServletRequest,HttpServletResponse。

于是我们写Servlet程序只需直接继承HttpServlet类即可,并且重写里面的某一个方法就行,一般都是doGet,doPost,不建议重写service方法,因为service会去判断浏览器到底请求的是哪个方法,然后调用doGet或者doPost,或者其他方法。

由于tomcat实现了servlet这一套标准体系,则在tomcat的lib目录下就一定存在servlet-api.jar文件,这就是tomcat服务器具体实现的servlet这一套体系。


二.web服务器程序的结构

1.web程序主目录,记为HelloWorld

2.主目录下必须要有WEB-INF目录,WEB-INF目录下一定有一个符合j2ee标准的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_2_5.xsd"
   version="2.5">

 </web-app>
这是最简单的web程序,当然静态的网页暂不讨论

3.一般的web程序的WEB-INF目录下还会有classes目录,专门存放编译好的class文件;还会有lib文件夹,存放运行web程序所必需的jar包


三.第一个Servlet程序

1.HelloWorldServlet类:

package com.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("Hello World!!!");
	}
	
}

2.将编译好的这个Servlet类的.class文件放入到tomcat的webapps/HelloWorld/WEB-INF/classes目录下,当然详细目应该是这样的:\webapps\HelloWorld\WEB-INF\classes\com\servlet\HelloWorldServlet.class,应该懂什么意思的

3.有Servlet的class文件还不够,还必须在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_2_5.xsd"
   version="2.5">
   
   <servlet>
   		<servlet-name>hello</servlet-name>
   		<servlet-class>com.servlet.HelloWorldServlet</servlet-class>
   </servlet>
   
   <servlet-mapping>
   		<servlet-name>hello</servlet-name>
   		<url-pattern>/HelloWorldServlet</url-pattern>
   </servlet-mapping>
</web-app>

4.开启服务器,访问  http://localhost:8080/HelloWorld/HelloWorldServlet   后台打印出HelloWorld,测试成功


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值