JavaWeb笔记(二)

一、Servelt容器响应客户请求的过程

1.Web客户向Servlet容器发送HTTP request;

2.Servlet容器解析这个request;

3.Servlet容器创建一个HttpRequest对象,在这个对象中封装了HTTP请求信息;

4.Servlet容器创建一个HttpResponse对象;

5.Servlet容器调用HttpServlet 的service 方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;

6.HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7.HttpServlet调用HttpResponse的有关方法,生成响应数据;

8.Servlet容器把HttpServlet的响应结果传给Web客户。

二、Servelt的注册与运行

在一个web.xml文件中:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <servlet>
        <servlet-name>AnyName</servlet-name>
        <servlet-class>FirstServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>AnyName</servlet-name>
        <url-pattern>/demo/web.html</url-pattern>
    </servlet-mapping>
   
 
</web-app>

上面文件中包含了Servlet的注册和映射。
注册:

<servlet>
        <servlet-name>AnyName</servlet-name>
        <servlet-class>FirstServlet</servlet-class>
    </servlet>

映射

<servlet-mapping>
        <servlet-name>AnyName</servlet-name>
        <url-pattern>/demo/web.html</url-pattern>
    </servlet-mapping>

一个简单的servlet的程序:

import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletTest extends HttpServlet
{
  public void service(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
        {
          PrintWriter out = response.getWriter();
          out.println("<html>");
          out.println("<body bgcolor=blue>");
          out.println("<marquee behavior=alternate><font size=30 color=red>www.it315.org</font></marquee>");
          out.println("<marquee>"+new java.util.Date()+"</marquee>");
          out.println("</body>");
          out.println("</html>");
       
         
        }
 
}

将编译完成后的放置classes下
将整个WebContent文件复制到tomcat(此处用的是Tomcat6.0)下的webapps下。可以对其重命名,可以在浏览器地址栏访问hello.jsp,路径为http://localhost:8080每每访问该路径。

三.ServletContext接口

Web 应用中的所有 Servlet 共享同一个 ServletContext 对象,不同 Servlet 之间可以通过 ServletContext 对象实现数据通讯,因此 ServletContext 对象也被称为 Context 域对象。
获得 ServletContext 对象有以下 4 种方式:

//通过 GenericServlet的getServletContext方法获取ServletContext对象
ServletContext servletContext = this.getServletContext();
//通过 ServletConfig的 getServletContext方法获取ServletContext对象
ServletContext servletContext = this.getServletConfig().getServletContext();
//通过 HttpSession的 getServletContext方法获取ServletContext对象
ServletContext servletContext = req.getSession().getServletContext();
//通过 HttpServletRequest的 getServletContext方法获取ServletContext对象
ServletContext servletContext = req.getServletContext();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值