Java_servlet

1、servlet介绍

  • java ee 规范之一,用于生成动态web资源的技术。生成过程在服务器端。
  • java 在服务器端的程序,server + applet = servlet
  • URL 将执行servlet的指定的方法
  • servlet 必须 直接或间接 与 javax.servlet.Servlet接口有关
    直接:实现Servlet接口
    间接:继承父类,父类实现Servlet接口
  • 编写servlet
    servlet程序必须放在tomcat中(web服务器),如果tomcat关闭,servlet不能使用了。tomcat称为servlet容器

2、servlet对象

  • javax.servlet.Servlet接口,所有的servlet规范
  • javax.servlet.ServletConfig接口,当前servlet配置对象
  • javax.servlet.ServletRequest接口,请求的封装对象,明天讲
  • javax.servlet.http.HttpServletRequest接口,与http协议有关的请求的封装对象
  • javax.servlet.ServletResponse接口,响应的封装对象,明天讲
  • javax.servlet.http.HttpServletResponse接口,,与http协议有关的响应的封装对象
  • 注意:使用的都是接口,实现类都是tomcat创建 (web服务器)

3、servlet三大作用域

作用域:数据的作用范围

3.1、ServletContext

3.2、HttpSession

3.3、ServletRequest

4、servlet生命周期

4.1、init(ServletConfig)

init(ServletConfig) ,初始化方法,由tomcat(servlet容器)调用。

tomcat将创建ServletConfig实例,作为实际参数传递给初始化。ServletConfig 为当前servlet配置对象,用于封装web.xml中内容

执行时间:默认情况,在第一次执行 service方法之前执行,如果想在tomcat启动时执行,需要在web.xml配置 
<servlet>
  	<load-on-startup>数字</load-on-startup>
</servlet>

4.2、service(ServletRequest,ServletResponse)

执行方法,由tomcat(servlet容器)调用,请求一次,执行一次
request、response将在后面具体介绍,有一个结论:
HttpServletRequest request= (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)res;

4.3、destroy()

销毁方法,由tomcat调用,tomcat正常关闭时执行。

4.4、注意

所有的方法执行之前,必须先创建servlet实例(new ) ,servlet单实例,多线程。存在线程并发访问问题。
解决方案:加锁、不使用成员变量

5、ServletConfig对象

当前servlet在web.xml配置内容的封装对象。

5.1  getServletName() 

获得在web.xml配置的servlet名称

<servlet>
   <servlet-name>xxx

5.2  String   getInitParameter(name) 

获得指定名称的初始化参数的值
<servlet>
  <init-param>
    <param-name>初始化参数的名称
    <param-value>初始化参数的值

5.3 Enumeration  getInitParameterNames()

获得所有的初始化参数的名称
<init-param>
  <param-name>名称1
  <param-value>值1
    </init-param>
<init-param>
  <param-name>名称2
  <param-value>值1
    </init-param>

5.4  getServletContext() 

获得ServletContext对象,Servlet接口提供 getServletConfig()方法获得ServletConfig对象

6、ServletContext对象

ServletContextservlet上下文,别名:servlet管理者(当前web项目)
一个web项目,对应一个ServletContext对象
tomcat启动时,tomcat创建,tomcat关闭时,进行销毁
获得方式:this.getServletContext()

6.1属性attribute操作(域操作)

在一个web项目中,共享数据
6.1.1 setAttribute(String name,Object value) , 将指定的对象设置到ServletContext对象中
6.1.2 getAttribute(String name) ,通过指定的名称获得对象
6.1.3 removeAttribute(String name) ,移除指定名称对应的对象

6.2 管理web资源

6.2.1 getRealPath(String path) , 获得发布到tomcat下,指定路径的实际路径,参数必须/开头,/表示web项目的根
例如:getRealPath(“/”);    , d:/tomcat/webapps/day08/
例如:getRealPath(“/WEB-INF/web.xml”)  , d:/tomcat/webapps/day08/WEB-INF/web.xml
getResourceAsStream(String path) ,与getRealPath相似,getRealPath获得文件路径String,
getResourceAsStream获得文件对应的流
getResourcePaths(String path) ,获得指定路径下的所有资源

6.3 web项目初始化

6.3.1 getInitParameter ,获得web项目的初始化参数
6.3.2 getInitParameterNames 获得web项目的所有初始化参数名称
web.xml配置:
<web-app>
  <context-param>
    <param-name>
    <param-value>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值