Servlet

198 阅读2分钟

Servlet:

  1. 什么是servlet
    Servlet是JavaWeb的三大组件之一,负责接收客户端发来的请求,并相应数据给客户端

2.servlet程序编写步骤:

  • 创建一个类,继承Servlet类或者实现HttpServlet
    
  • 实现service方法,处理请求
    
  • 在web.xml文件中配置servlet 
    

代码实例:

<servlet>

<!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) -->

<servlet-name>HelloServlet</servlet-name>

<!--servlet-class 是 Servlet 程序的全类名-->

<servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>

</servlet>

<!--servlet-mapping 标签给 servlet 程序配置访问地址-->

<servlet-mapping>

<!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用-->

<servlet-name>HelloServlet</servlet-name>

<!--url-pattern 标签配置访问地址 <br/>

/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径

<br/>

/hello 表示地址为:http://ip:port/工程路径/hello

<br/>

-->

<url-pattern>/hello</url-pattern>

</servlet-mapping>

@VBR9BY~K(T%T%_Z34@_Q.png

Servlet的生命周期

1.执行servlet构造器方法

2.执行init初始化方法

1、2步在第一次创建servlet时会访问

3.执行service方法* 每次访问都会调用*

4.执行destroy方法

ServletConfig类

Servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。

Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象

ServletConfig类的三大作用

  • 1、可以获取Servlet程序的别名servlet-name的值

  • 2、获取初始化参数init-param

  • 3、获取ServletContext对象

请求的HTTP格式

客户端给服务器发送数据叫请求。

服务器给客户端回传数据叫响应。

请求又分为GET请求,和POST请求两种

  • get请求: 1、请求行

(1)请求的方式

(2)请求的资源路径[+?+请求参数]

(3)请求的协议的版本号

2、请求头

由键值对:key,value组成

get请求如图

_NC421BZB6H(]1YP[GN~J.png

post请求如图:

![TBMZI9S)JF9$P3IO3)2D5F.png

哪些是GET请求,哪些是POST请求

GET请求

1、form标签method=get

2、a标签

3、link标签引入css

4、Script标签引入js文件

5、img标签引入图片

6、iframe引入html页面

7、在浏览器地址栏中输入地址后敲回车

Post请求

form标签method=post

HttpServletRequest 类有什么作用。

我们可以通过 HttpServletRequest 对象,获取到所有请求的信息。

HttpServletRequest 类的常用方法
getRequestURI();    获取请求资源路径

getRequestURL()    获取请求的统一资源定位符(绝对路径)

getRemoteHost()    获取客户端的 ip 地址

 getHeader()   获取请求头

 getParameter()   获取请求的参数

 getParameterValues()  获取请求的参数(多个值的时候使用)

 getMethod()   获取请求的方式 GET 或 POST

 setAttribute(key, value);  设置域数据

 getAttribute(key);    获取域数据

 getRequestDispatcher();   获取请求转发对象

Web 中的相对路径和绝对路径

在 javaWeb 中,路径分为相对路径和绝对路径两种: 相对路径是:

. :表示当前目录

.. :表示上一级目录

资源名 :表示当前目录/资源名

绝对路径:

http://ip:port/工程路径/资源路径