第五章节 Servlet基础

目录

一、Web站点的建立 

二、创建 Servlet的三种方法

一、Web站点的建立 

当客户端提交请求的时候,由tomcat容器之类的Web容载入并运行,然后将生成的动态页面返回给客户端。

如何能让Web容器找到编写好的Servlet文件呢,这就需要建立一个Web站点,并对站点进行配置。

Tomcat中有一个webapps文件,相当于默认站点,可以在这个文件中通过 下面的步骤来创建一个Web站点。

1.定义站点名。

2.创建WEB-INFO文件,这个文件用来存放Web站点的配置文件,自己编写的类和程序中用到的JAR包。

3.创建一个web.xml文件,这个是web的本地配置文件。

4.创建class文件,在WEB-INFO文件下创建一个classes文件夹,用来存放编写的class文件。

二、创建 Servlet的三种方法

Servlet是运行在tomcat之类的web容器中,需要进行配置,容器通过配置信息读取Servlet。

  • 实现 Servlet接口

1.创建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 Hello implements Servlet{

	@Override
	public void destroy() {

	}

	@Override
	public ServletConfig getServletConfig() {
		return null;
	}

	@Override
	public String getServletInfo() {
		return null;
	}

	@Override
	public void init(ServletConfig config) throws ServletException {

	}

	@Override
	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		PrintWriter pw = res.getWriter() ;
		pw.println("hello");

	}

}

2.配置web.xml文件

每一个编写好的Servlet都要在web.xml中进行配置。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    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">
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.chuiyuan.Hello</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/servlet/Hello</url-pattern>
  </servlet-mapping>

</web-app>

里面的servlet-name可以是任意的,后面的servlet-mapping中name和它一样就可以了。

由于 tomcat在启动的时候 载入web.xml文件,所以web.xml文件一经修改,服务器就要重启才会有效果。

  • extends GenericServlet

在上面的Hello的同一个包里面,编写 Hello1.class

d

package com.chuiyuan;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class Hello1 extends GenericServlet{

	@Override
	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		try {
			PrintWriter out = res.getWriter();
			out.print("Hello1");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

 } 
  • extends HTTPServlet

在同一个包里面编写 Hello2.class. HttpServlet是最常用的。

package com.chuiyuan;

import java.io.IOException;
import java.io.PrintWriter;

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

public class Hello2  extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		try {
			PrintWriter out = resp.getWriter() ;
			out.println("Hello2");
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);   //引用 doGet,避免代码重复
	}

}
  • 在之前的文件中追加配置
  <!-- hello1 -->
  <servlet>
    <servlet-name>hello1</servlet-name>
    <servlet-class>com.chuiyuan.Hello1</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello1</servlet-name>
    <url-pattern>/servlet/Hello1</url-pattern>
  </servlet-mapping>
  <!-- hello2 -->
  <servlet>
    <servlet-name>hello2</servlet-name>
    <servlet-class>com.chuiyuan.Hello2</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello2</servlet-name>
    <url-pattern>/servlet/Hello2</url-pattern>
  </servlet-mapping>

我们通过  http://localhost:8080/Hello/servlet/Hello2来访问。

时间: 2024-11-06 03:31:32

第五章节 Servlet基础的相关文章

JavaWeb-07(tomcat与web程序结构与Http协议与Servlet基础)

JavaWeb-07 JavaWeb-tomcat与web程序结构与Http协议与Servlet基础 HTTP协议(记住) 1.http协议:规定了客户端和服务端交流时的数据格式 a. WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. b. HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式. c. HT

SERVLETJSP学习(一)——Servlet基础 、 HTTP协议

1. Servlet基础 1.1. Web应用的演变 1.1.1. 单机程序 软件从附着于电脑硬件之日起,就在不断的进行着自我完善和演变.从其使用模式的角度出发,可以简单分为单机程序和网络程序.发展到今时今日仍有大量的不依赖网络的单机程序被我们使用,如记事本.Excel.PPT.ZIP压缩等软件都是大家熟知的装机必备软件. 1.1.2. 网络程序 当电脑越来越多的参与到日常生产生活中,单机程序已经不能满足企业的需要.企业级应用要求能够最大程度的让更多的客户端参与到协同办公之中,所以依赖于网络的程

Java web基础总结四之—— Servlet基础

Java web基础总结四之-- Servlet基础 一.什么是Servlet? 通过名字就能看出来,Servlet 就是在服务器上运行的小程序.Servlet是sun公司(现在已经属于oracle了)实现的一门用于开发动态java web资源的技术.Sun公司在其API中提供了一个servlet接口,如果你想开发一个动态的java web资源,需要完成以下2个步骤:编写一个Java类,实现servlet接口.把开发好的Java类部署到web服务器中. Servlet接口已经有了两个默认的实现类

Servlet基础

Servlet基础 Jsp的本质即为Servlet,jsp页面部署到web容器中后会被编译为Servlet.Servlet使用输出流输出html标签,开发过程复杂且难以进行设计. Servlet是一个完整的java类,jsp是对Servlet的简化.Servlet中没有jsp的内置对象,jsp内置对象需要Servlet显式创建. 在MVC架构中,Servlet已不再作为视图仅仅作为控制器使用. 这里介绍了Servlet开发中所涉及的基础知识以及局部应用范例,Servlet作为控制器的应用介绍请见

JSP数据交互(二)和Servlet基础

01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. 02.在一个应用中只有一个application,每一个用户都会共享这一个application对象. 03.通过统计网站访问次数来讲解application的用法 02.对象作用域 03.Cookie简介 解析:cookie是Web服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成

JSP/Servlet基础语法

相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html http://blog.csdn.net/liaoxiaohua1981/article/details/6761053 http://computer.c.blog.163.com/blog/static/102524482012314537670/ http://ww

Unit01: Servlet基础 、 HTTP协议

Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import

java web 学习五(servlet开发1)

一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1.编写一个Java类,实现servlet接口. 2.把开发好的Java类部署到web服务器中. 按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet 二.Servlet的运行过程 Servlet程序是由WEB

Servlet基础知识详解

Servlet基础知识详解 Servlet基础知识详解 Servlet程序执行全过程 Servlet映射路径 Servlet映射练习 Servlet生命周期 为什么要学习Servlet生命周期 Servlet重要的生命周期方法 模拟通过反射构造Servlet对象 Servlet单实例多线程 Servlet留给开发者的init方法 Servlet中核心对象学习 HttpServletRequest对象 HttpServletResponse对象 ServletConfig对象 ServletCon