Servlet

Servlet讲解
Servlet讲解2

创建servlet

在这里插入图片描述

配置

在这里插入图片描述

运行

在这里插入图片描述
没有销毁
关掉服务器销毁servlet
在这里插入图片描述

在这里插入图片描述

Web容器启动时(运行程序)创建Servlet
配置数字越小优先级越高(但不可小于0)

获取ServletConfig对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ServletConfig的使用

在这里插入图片描述
在这里插入图片描述

ServletContext

SomeServlet 代码:

package com.kay.servlets;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class SomeServlet implements Servlet {
	private ServletConfig config;
	@Override
	public void init(ServletConfig config) throws ServletException {
		this.config = config;
	}

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

	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		// 获取ServletContext对象
		ServletContext sc = config.getServletContext();
		
		// 获取所有初始化参数名
		Enumeration<String> names = sc.getInitParameterNames();
		while(names.hasMoreElements()) {
			String name = names.nextElement();
			String value = sc.getInitParameter(name);
			System.out.println(name + " = " + value);
		}
		
		// 设置域属性
		sc.setAttribute("email", "xxx@126.com");
		sc.setAttribute("mobile", "1234567");
		
		
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

}

OtherServlet 代码:

package com.kay.servlets;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class OtherServlet implements Servlet {
	private ServletConfig config;
	@Override
	public void init(ServletConfig config) throws ServletException {
		this.config = config;
	}

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

	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		// 获取ServletContext对象
		ServletContext sc = config.getServletContext();
	
		// 获取域属性的值
		String mobile = (String) sc.getAttribute("mobile");
		System.out.println("mobile = " + mobile);
		
		// 重置域属性的值
		sc.setAttribute("mobile", "7654321");
		
		// 删除域属性
		sc.removeAttribute("email");
		
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

}

ThirdServlet 代码:

package com.kay.servlets;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class ThirdServlet implements Servlet {
	private ServletConfig config;
	@Override
	public void init(ServletConfig config) throws ServletException {
		this.config = config;
	}

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

	@Override
	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		// 获取ServletContext对象
		ServletContext sc = config.getServletContext();
		
		// 获取域属性的值
				String mobile = (String) sc.getAttribute("mobile");
				String email = (String) sc.getAttribute("email");
				
				System.out.println("mobile = " + mobile);
				System.out.println("email = " + email);
				
				String contextPath = sc.getContextPath();
				System.out.println("contextPath = " + contextPath);
				
				String realPath = sc.getRealPath("/images");
				System.out.println("realPath = " + realPath);
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub

	}

}

ContextPath 与 RealPath 用法含义

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值