JAVA基础14-JavaWeb(七)servlet请求流程

(1)servlet请求流程
1、根据上下文路径去tomcat根路径找到server.xml文件获取所有的元素,再判断哪一个元素的path属性为上下文路径,然后根据dobase属性去访问项目的根路径
2、根据当前项目的根路径下的WEB-INF读取web.xml文件
3、获取web.xml中所有元素是否存在访问的资源
4、根据资源名称最终获取对应的servlet类的全限定名
5、根据servlet的全限定名,使用反射来调用构造器去创建对象
6、创建servletConfig对象,再使用servlet对象调用init()方法
7、创建req,resp对象,再使用servlet对象调用service方法
8、在service方法中对客户端做响应操作
(2)
(2)serveltConfig接口获取初始化参数
servletConfig接口表示servlet的信息配置对象,web.xml文件中当前servlet的配置信息。方法包括:
在这里插入图片描述
web.xml中servlet参数配置如下:

	<servlet>
		<servlet-name>initParam</servlet-name>
		<servlet-class>com.suning.servlet.initParam</servlet-class>
		<!-- 初始化参数 -->
		<init-param>
			<param-name>encoding</param-name>
			<param-value>GBK</param-value>
		</init-param>
		<init-param>
			<param-name>name</param-name>
			<param-value>tuzi</param-value>
		</init-param>
	</servlet>

获取初始化参数:

		//获取初始化参数中名为encoding的值
		String encoding = config.getInitParameter("encoding");
		
		//获取初始化参数中名为name的值
		String name = config.getInitParameter("name");
		System.out.println("encoding: " + encoding + "name: " + name );
		
		//利用Enumeration来获得所有参数名称和值
		Enumeration<String> en = config.getInitParameterNames();
		while (en.hasMoreElements()) {
			String paramName = en.nextElement();
			System.out.println(paramName + "," + config.getInitParameter(paramName));
		}

猜你喜欢

转载自blog.csdn.net/qq_36675851/article/details/86105956
今日推荐