Servlet 基础知识及操作

本文详细介绍了Java Servlet的概念,包括其实现接口、映射配置及其优先级。Servlet是一种用于生成动态Web内容的技术,可以响应多种类型的请求。在映射方面,一个Servlet可以对应一个或多个URL模式,甚至通用模式。ServletContext则用于共享数据、获取初始化参数、请求转发及读取资源文件。Servlet的生命周期包括加载、初始化、服务和销毁四个阶段。
摘要由CSDN通过智能技术生成

一、什么是servlet

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

总结:

Servlet就是sun公司开发动态web的一门技术
(1)Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个步骤:
    a.编写一个类,实现Servlet接口
    b.把开发好的lava类部署到web服务器中。
把实现了Servlet接口的Java程序叫做,Servlet

二、Mapping问题

(1)一个servlet指定一个映射路径

(2)一个servlet可以指定多个映射路径

(3)一个servlet可以指定通用映射路径(不建议使用

 <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello/*</url-pattern>
 </servlet-mapping>

(4)指定一些后缀或前缀等等。。。。

        如下代码中的do就是指定后缀(后缀可以任意指定)

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.do</url-pattern>
</servlet-mapping>

(5)默认请求路径

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/*</url-pattern>
</servlet-mapping>

(6)优先级问题

指定了固有的映射路径的优先级高,如果找不到就会走默认的请求处理;

三、ServletContext

(1)共享数据

          在一个Java类中创建数据

ServletContext context = this.getServletContext();
String username = "李锋";
resp.setContentType("text/html");
resp.setCharacterEncoding("UTF-8");
context.setAttribute("username",username);

         在另一个Java类中接收数据,实现数据共享

ServletContext context = this.getServletContext();
String str = (String)context.getAttribute("username");
//resp.setContentType("text/html");
//resp.setCharacterEncoding("UTF-8");
注释行实现操作防止页面的文字出现乱码
resp.getWriter().print(str);

(2)获取初始化参数

         设置初始化参数

<context-param>
        <param-name>url</param-name>
        <param-value>jdbc:mysql://localhost:myredis</param-value>
</context-param>

          获取参数

ServletContext context = this.getServletContext();
String url =(String)context.getInitParameter("url");
resp.getWriter().print(url);

(3)请求转发

ServletContext context = this.getServletContext();
context.getRequestDispatcher("/gp").forward(req,resp);
//引号中为需要转发的页面路径

(4)读取资源文件

InputStream is = this.getServletContext().getResourceAsStream("/com/lifeng/servlet/dbcom");
//此处信号中为文件的相对路径
Properties prop = new Properties();
prop.load(is);
//String user = prop.getProperty("username");
//String password = prop.getProperty("password");
resp.getWriter().print(user+","+password);
//注释为文件中的内容

四、Servlet的生命周期

1.加载web.xml文件。

2.通过构造函数创建servlet对象。

3.通过init方法初始化servlet。

4.通过service,或者doGet、doPost提供服务。

5.在重启或关闭时自动对servlet进行销毁。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值