day09 Servlet

Servlet: 运行在服务器端的小应用程序(server+applet)。

作用:

1、接收用户的请求

2、对用户的请求做一定处理

3、给用户以相应的响应

Web三大组件:Listener,Filter,Servlet

           (三大组件都必须在web.xml中进行配置)

javax.servlet.Servlet(接口)

         如果要写Servlet那么必须实现这个接口(javax.servlet.Servlet)

    需要实现的方法有:init(ServletConfig)          只在第一次请求的时候调用

                                    service(ServletRequest,ServletResponse)        用户请求一次调用一次

                                    destroy()            只有在正常关闭服务的时候调用

                                    getServletConfig()      由服务器(tomcat进行管理),封装着Servlet一些配置信息,

                                                                        有多少Servlet,就有多少ServletConfig对象

                                    getServletInfo()

如果有两个servlet,那么init,就有两个,destroy就有两个,各自是各自的。

ServletConfig

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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_2_5.xsd">
 
 <servlet>
 	<servlet-name>servlet1</servlet-name>
 	<servlet-class>serdemo.Servlet1</servlet-class>
 	 <init-param>
 		<param-name>age</param-name>
 		<param-value>18</param-value>
 	</init-param>
 	<init-param>
 		<param-name>addr</param-name>
 		<param-value>北京</param-value>
 	</init-param>
 </servlet>
 <servlet-mapping>
 	<servlet-name>servlet1</servlet-name>
 	<url-pattern>/demo</url-pattern>
 </servlet-mapping>
</web-app>

servlet1.java

package serdemo;

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

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

public class Servlet1 implements Servlet {
	private ServletConfig config;
	public void init(ServletConfig config) throws ServletException {
		this.config = config;
		System.out.println("init....");
	}

	public void service(ServletRequest arg0, ServletResponse arg1)
			throws ServletException, IOException {
		ServletConfig servletConfig = getServletConfig();
		
		String value = servletConfig.getInitParameter("age");
		System.out.println(value);
		String value2 = servletConfig.getInitParameter("addr");
		System.out.println(value2);
		
		Enumeration enu = servletConfig.getInitParameterNames();
		while(enu.hasMoreElements()){
			String value3 = (String) enu.nextElement();
			System.out.println(value3);
		}
		System.out.println("service.....");
	}
	public void destroy() {
		System.out.println("destory...");
	}
	//封装着一些相应的配置信息
	public ServletConfig getServletConfig() {
		return config;
		
	}

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

	

}

205053_KQxV_2356966.png

load-on-startup:

     使tomcat服务启动的时候,进行初始化

        正整数,越大越靠后

211159_tAkf_2356966.png

GenericServlet(实现了Servlet,重写了Servlet的方法):

222055_x2c7_2356966.png

231604_pHSz_2356966.jpg231632_z6sN_2356966.jpg

debug步骤:

1、开tomcat服务(Debug Server)

2、打断点

3、打开网页

4、下一步(将会看到,从GenericServlet的init(ServletConfig)方法,跳到GeneServlet4的init()方法)

HttpServlet(继承了GenericServlet):

083209_nPEa_2356966.png


084238_en7w_2356966.png

请求路径:

        085942_Xhw5_2356966.png

所以可以直接写servlet5.

ServletContext(域  上下文):

        作用:实现不同Servlet之间数据共享。

183705_kuST_2356966.png

184637_dmdu_2356966.png

servlet之间共享数据

191429_5OK9_2356966.png

ServletContexttomcat (同生共死)

getRealPath("/"):

210046_pKF4_2356966.png

WEB-INF:是安全的路径,不能通过路径直接访问。


转载于:https://my.oschina.net/u/2356966/blog/636334

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值