servlet基础知识

servlet

1.servlet:就是一个普通的类,创建一个servlet接口实现类
1)public class HelloServlet implements Servlet(){}
在tomcat中运行(servlet容器)
2)配置文件
<!-- 配置和映射servlet -->
<!-- 注册一个servlet -->
<servlet>
<!-- servlet注册的名字可以随意写 -->
<servlet-name>hello</servlet-name>
<!-- servlet的全类名 -->
<servlet-class>com.hpe.servlet.HelloServlet</servlet-class>
</servlet>
<!-- 映射servlet -->
<servlet-mapping>
<!-- 类名,必须和上面注册类名保持一致 -->
<servlet-name>hello</servlet-name>
<!-- -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>

2.servlet容器,运行servlte 、jsp/filter等软件环境
1》可以创建servlet,调用servlet声明周期的相关方法。
3.servlet生命周期:
1.创建:类的构造器,只被调用一次,请求servlet时被执行,只执行一次。说明servlet是单实例的
2.初始化:init()方法,第一次servlet
3.service():每次请求都会执行service方法,实际用于响应请求,(写功能)
4.销毁:destroy(),只会被调用一次,在当期servlet所在的web应用被卸载或注销前调用,用于释放当前servlet所占用的资源。
4.load-on-startup:用于指定servlet被创建的时机。
<load-on-startup>3</load-on-startup>
若为负数,在第一次请求时被创建。
若为正数或0,在当前web应用被servlet加载时创建实例,
数字越小,越早创建。
5.ServletConfig:封装了servlet配置信息,可以获取ServletContext对象
1)配置servlet的初始化参数
2)获取初始化参数:
getInitParameterNames():

3)获取servlet配置名称(几乎不用)

4)

6.使用GenericServlet实现servlet
1)是一个servlet,是servlet接口和servletConfig接口的实现类,是个抽象类,其中service是一个抽象方法
2)我创建一个servlet程序去继承GenericServlet,会使我们的开发更加便捷。
3)具体实现:
1.在GenericServlet中声明了一个servletconfig类型的成员变量,并且在init(ServletConfig config)方法中对成员变量进行了初始化
2.利用servletconfig成员变量对实现了ServletConfig接口里面的方法
3.还定义了init()方法,子类可以重写init方法,完成servlet初始化的特定功能,并且在init(ServletConfig config)中对init()方法进行了调用,重写的init方法不是生命周期方法,而init(ServletConfig config)才是生命周期方法。
7.HttpServlet
1)是一个servlet,继承GenericServlet ,它是针对http协议所定制的
2)在service(ServletRequest req, ServletResponse res)中把 ServletRequest和ServletResponse转成了HttpServletRequest request和HttpServletResponse,并且调用了重载的service(HttpServletRequest req,HttpServletResponse res)
中获取了请求方式,根据请求方式调用doGet方法和doPost方法
3)继承HttPServlet,直接重写doGet方法和doPost方法即可。
4)什么好处?
直接使用 HttpServletRequest request和HttpServletResponse ,不需要我们再通过代码进行强转
8.ServletContext
1)获取的两种方式
可以直接调用GenericServlet类的

2)该对象代表的是当前web应用:代表了我在web应用的哪一个servlet中都可以获取到该对象,ServletContext就类似于当前web应用的一个大管家。
一个web项目就存在一个ServletConfig实例。
3)功能
获取web应用程序的初始化参数
设置web应用的初始化参数(类似于一个全局变量):可以被所有的servlet所获取,而Servlet中定义的初始化参数,只能用该servlet获取(类似于一个局部变量)。
4)方法
getInitParameter(name)
getInitParameterNames()

获取项目的真实路径。getRealPath()
    System.out.println(c1.getRealPath("/"));
获取项目应用的上下文
    System.out.println(c1.getContextPath());

get请求方式:
1.超链接
2.表单默认的提交方式
3.地址栏输入额方式
post请求方式:
1.form表单method设置为post

1.如何在servlet中获取信息
1)servlet中的service()方法用于响应请求
ServletRequest:封装了请求信息,可以从中获取任何的请求信息

这两个接口都是由容器创建的,并且在服务器调用service的时候传入
HttpSrvletRequest是ServletRequest的子接口,他用于封装HTTP请求信息
Http请求的相关方法:
1.获取请求参数值
getParameter()
2.getParameterValues(String):根据名字获取一组相关的数据
3.getParameterNames():获取参数名
4.ParameterMap():获取所有数据

servletResponse:封装了响应信息,如果我要给用户什么响应,可以使用该接口实现
getWriter():返回的是PrintWriter对象,我可以调用

域对象:session,request,servletContext

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值