JavaWeb的核心技术—Servlet

目录

 

什么是Servlet(Servlet可以用来做什么)

Servlet如何使用

Servlet的生命周期

缺省的Servlet

什么是缺省的servlet?

servletContext对象

1,什么是ServletContext对象

2,ServletContext对象的生命周期

3,怎样获得ServletContext对象

4,ServletContext的作用


什么是Servlet(Servlet可以用来做什么)

Servlet是java中的一个类,运行在服务端,是sun公司提供的一套规范。主要用来处理客户端请求、响应给浏览器动态资源。通俗的说Servlet是通过java的API动态的向客户端输出内容。

Servlet如何使用

1.创建servlet并且继承HttpServlet。

2.实现其中的service方法。

3.在web.xml文件中进行资源配置。

        创建servlet类的代码如下:

package com.ahut.servlet;

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 servlet_test2 extends HttpServlet {

	/**
	 * Constructor of the object.
	 */

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.getWriter().write("hello");

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}
}

在web.xml文件中对其进行配置:

<servlet>
    <servlet-name>servlet_test2</servlet-name>
    <servlet-class>com.ahut.servlet.servlet_test2</servlet-class>
</servlet>
 <servlet-mapping>
    <servlet-name>servlet_test2</servlet-name>
    <url-pattern>/servlet_test2</url-pattern>
  </servlet-mapping>

其中<url-pattern>/servlet_test2</url-pattern>这里面的内容是我们在浏览器中的访问地址,这个地址映射的名字是servlet_test2,然后根据这个名字找所对应的类即:<servlet-class>com.ahut.servlet.servlet_test2</servlet-class>,这样就可以访问servlet了。

其中url-pattern的配置方式:

  1. 完全匹配 访问的资源与配置的资源完全相同才能访问到
 
 


2)目录匹配 格式:/虚拟的目录../*   *代表任

 
 


3)扩展名匹配 格式:*.扩展名

 
 

 

 

 

Servlet的生命周期

在Servlet中有init()方法,用来初始化servlet,它在servlet对象被创建的时候执行。service()方法,这个是主要的方法,里面含有request请求信息和response响应信息,每一次访问它都会执行。destory()方法,该方法是销毁servlet,只有当servlet被销毁时会执行。所以servlet的生命周期是,默认第一次访问servlet时创建对象,服务器关闭时servlet就被销毁了,每次访问时都要执行service方法。

在web.xml中可以设置servlet启动的优先级,使用<load-on-startup>来设置,中间的数字表示优先级。

缺省的Servlet

可以将url-pattern配置一个/,代表该servlet是缺省的servlet

什么是缺省的servlet?

当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理

其实,web应用中所有的资源的响应都是servlet负责,包括静态资源

servletContext对象

1,什么是ServletContext对象

ServletContext代表是一个web应用的环境(上下文)对象,ServletContext对象    内部封装是该web应用的信息,ServletContext对象一个web应用只有一个,一个web应用有多个个servlet对象。

2,ServletContext对象的生命周期

创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状态))

销毁:web应用被卸载(服务器关闭,移除该web应用)

3,怎样获得ServletContext对象

  1. ServletContext servletContext = config.getServletContext();
  2. ServletContext servletContext = this.getServletContext()

4,ServletContext的作用

 获得web应用全局的初始化参数

获得web应用中任何资源的绝对路径(非常重要)

        方法:String path = context.getRealPath(相对于该web应用的相对地址);

ServletContext是一个域对象(非常重要)

         ServletContext域对象的作用范围:整个web应(所有的web资源都可以随意向    servletcontext域中存取数据,数据可以共享)

   域对象的通用的方法:

   setAtrribute(String name,Object obj);

   getAttribute(String name);

   removeAttribute(String name);

多内容下载机器学习资料请扫描下方二维码关注小编公众号:程序员大管

 

 

 

 

 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值