javaweb(servlet)

目录

概述

1.1什么是servlet?

1.2实现servlet的方法

 1.3selvlet的生命周期

快速入门:

jsp 九大内置对象 与servlet的关系以及如何获取

编码如何设置

如何在serlvet中获取到当前项目的绝对路径


概述

1.1什么是servlet?

就是一个java类,是javweb的规范之一,也是三大组件之一(serlvet,listener,filter)

作用负责接收用户的请求以及做出响应。(之前是由doXxx.jsp

servlet是JavaEE的规范(接口)

Server Applet;servlet是javaweb的三大组件之一,它属于动态资源。servlet的作用是处理请求,服务器会把接收到的请求交给servlet来处理,在servlet通常需要:

  • 接收请求数据

  • 处理请求

  • 完成响应

例如客户端发出登录请求,或者输出注册请求,
这些请求都应该有servlet来完成处理!servlet需要我们自己来编写,
每个servlet必须实现javax.servlet.Servlet接口。

 servlet执行原理

(1)当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
(2)查找web.xml文件,是否有对应的<url-pattern>标签体内容。
(3)如果有,则在找到对应的<servlet-class>全类名
(4)tomcat会将字节码文件加载进内存,并且创建其对象
(5)调用其方法

1.2实现servlet的方法

实现servlet有三种方式:

  • 实现javax.servlet.Servlet接口;

  • 继承javax.servlet.GenericServlet类;

  • 继承javax.servlet.http.HttpServlet类

通常会继承HttpServlet类来完成我们的Servlet。

 1.3selvlet的生命周期

生命周期方法

void init(ServletConfig):出生之后(1次)
void service(ServletRequest request,ServletResponse response):每次处理请求时都会被调用
void destory():临时之前调用(1次)

快速入门:

实现servlet接口 不常用

  1. 继承HttpServlet抽象类 doGet doPost

完成servlet文件的编写后必须要实现配置

2种方式

注解 @webServlet("/路径")

web.xml中进行配置

<servlet>    
    <servlet-name>xxx</servlet-name>    
    <servlet-class>com.zking.AServlet</servlet-class></servlet>
<servlet-mapping>    
    <servlet-name>xxx</servlet-name>   
    <url-pattern>/xxx.do</url-pattern>
</servlet-mapping>

jsp 九大内置对象 与servlet的关系以及如何获取

jsp内置对象servlet中java对象获取
requestHttpServletRequestservice方法中的req参数
responseHttpServletResponseservice方法中的resp参数
sessionHttpSessionreq.getSession()
exceptionThrowable
pagethisthis
pageContextPageContext
applicationServletContextgetServletContext()
configServletConfiggetServletConfig()
outJspWriterresp.getWriter()

servlet中2个重要对象

ServletConfig配置对象

ServletContext全局对象

都是获取web.xml中的参数问题。

编码如何设置

request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setContentType("text/html;charset=utf-8");

如何在serlvet中获取到当前项目的绝对路径

这里的绝对路径指的是基于项目的根目录而不是基于磁盘。

String path = this.getServletConfig().getServletContext().getContextPath();
/项目名称
path+"/index.jsp"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值