ServletConfig接口:

SevletConfig接口位于javax.servlet包中,它封装了servlet配置信息,在servlet初始化期间被传递。每一个Servlet都有且只有一个ServletConfig对象。

首先配置信息为:

  • getInitParameter(String name)————此方法返回String类型名称为name的初始化参数值
  • getInitParameterNames()————获取所有初始化参数名的枚举集合
  • getServletContext()————用于获取Servlet上下文对象
  • getServletName()————返回Servlet对象的实例名
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init");
//获取初始化参数:servlConfig
String user=servletConfig.getInitParameter("user");
System.out.println("user:"+user);
Enumeration<String> names=servletConfig.getInitParameterNames();
while(names.hasMoreElements()) {
String name=names.nextElement();
String value=servletConfig.getInitParameter(name);
System.out.println("~~"+name+":"+value);
}
//获取servletConfig对象 servletContext
ServletContext servletcontext=servletConfig.getServletContext();
String driver=servletcontext.getInitParameter("driver");
System.out.println("driver:"+driver);
Enumeration<String> names2=servletcontext.getInitParameterNames();
while(names2.hasMoreElements()) {
String name=names2.nextElement();
System.out.println("-->"+name);
}
//获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署前的物理路径
String realpath=servletcontext.getRealPath("/note.txt");
System.out.println(realpath);
//获取当前web应用的名称
String contextPath = servletcontext.getContextPath();
System.out.println(contextPath); try {
ClassLoader classLoader=getClass().getClassLoader();
InputStream is=classLoader.getResourceAsStream("jdbc.servlet");
System.out.println("1."+is);
} catch (Exception e) {
e.printStackTrace();
}
//获取当前WEB应用的某一个文件对应的输入流:path的/为当前web应用的根目录
try {
InputStream is2=servletcontext.getResourceAsStream("/WEB-INF/classes/jdbc.servlet");
System.out.println("2."+is2);
} catch (Exception e) {
e.printStackTrace();
}
}

输出结果:

GET 请求和 POST 请求:

1). 使用GET方式传递参数:

  1. 在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的HTTP请求消息的请求方式为GET。
  2. 如果网页中的<form>表单元素的 method 属性被设置为了“GET”,浏览器提交这个FORM表单时生成的HTTP请求消息的请求方式也为GET。
  3. 使用GET请求方式给WEB服务器传递参数的格式: http://www.boogiever.com/counter.jsp?name=ISEE&password=777
  4. 使用GET方式传送的数据量一般限制在 1KB 以下。

2). 使用 POST 方式传递参数:

  • POST 请求方式主要用于向 WEB 服务器端程序提交 FORM 表单中的数据: form 表单的 method 置为 POST
  • POST 方式将各个表单字段元素及其数据作为 HTTP 消息的实体内容发送给 WEB 服务器,传送的数据量要比使用GET方式传送的数据量大得多。

POST /counter.jsp HTTP/1.1
referer: http://localhost:8080/Register.html
content-type: application/x-www-form-urlencoded
host: localhost:8080
content-length: 43

name=wangziyi&password=777              --请求体中传递参数.

Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
当发出客户端请求的时候,调用service
方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或
doPost。如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。doGet和doPost都接受请求
(HttpServletRequest)和响应(HttpServletResponse)。

在实现登陆界面时发现form里面写的是post而逻辑处理页面代码都写在doget()里面依然可以正常运行,思考后发现是由于tomcat自动生成代码时,dopost()里面调用了doget()方法;

servlet学习之servletAPI编程常用的接口和类的更多相关文章

  1. JavaWeb学习之JDBC API中常用的接口和类

    JDBC API中包含四个常用的接口和一个类分别是: 1.Connection接口 2.Statement接口 3.PreparedStatement接口 4.ResultSet接口 5.Driver ...

  2. Servlet常用的接口和类

    使用接口和类的作用:Servlet也是依靠继承父类和实现接口来实现的.使用Servlet必须要引入两个包:javax.servlet和javax.servlet.http.所有的Servlet应用都是 ...

  3. Spring常用的接口和类(一)

    一.ApplicationContextAware接口 当一个类需要获取ApplicationContext实例时,可以让该类实现ApplicationContextAware接口.代码展示如下: p ...

  4. Spring常用的接口和类(三)

    一.CustomEditorConfigurer类 CustomEditorConfigurer可以读取实现java.beans.PropertyEditor接口的类,将字符串转为指定的类型.更方便的 ...

  5. Spring常用的接口和类(二)

    七.BeanPostProcessor接口 当需要对受管bean进行预处理时,可以新建一个实现BeanPostProcessor接口的类,并将该类配置到Spring容器中. 实现BeanPostPro ...

  6. 07.Hibernate常用的接口和类---Session接口☆☆☆☆☆

    一.特点 Session是在Hibernate中使用最频繁的接口.也被称之为持久化管理器.它提供了和持久化有关的操作,比如添加.修改.删除.加载和查询实体对象 Session 是应用程序与数据库之间交 ...

  7. 学习响应式编程 Reactor (4) - reactor 转换类操作符(1)

    Reactor 操作符 数据在响应式流中的处理,就像流过一条装配流水线.Reactor 既是传送带,又是一个个的装配工或机器人.原材料从源头(最初的 Publisher )流出,经过一个个的装配线中装 ...

  8. 学习响应式编程 Reactor (5) - reactor 转换类操作符(2)

    Reactor 操作符 上篇文章我们将 Flux 和 Mono 的操作符分了 11 类,我们来继续学习转换类操作符的第 2 篇. 转换类操作符 转换类的操作符数量最多,平常过程中也是使用最频繁的. F ...

  9. 05.Hibernate常用的接口和类---Configuration类和作用

    Configuration作用: 加载Hibernate配置文件,可以获取SessionFactory对象 加载方式: 1.加载配置文件 Configuration configuration = n ...

随机推荐

  1. Linux命令(Ubuntu)

    VMware 打开命令模式快捷键:  Ctrl + Alt + T VMware 里面Ubuntu不能全屏, 本来想着习惯就好, 知道今天看一些信息不能全部显示, 最终不能忍了. 上网找了很多方法 主 ...

  2. jquery bind()方法 语法

    jquery bind()方法 语法 作用:bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 说明:规定向被选元素添加的一个或多个事件处理程序,以及当事件发生时运行 ...

  3. Word:表格在页面中垂直居中

    本文适用于Word 2007 + Windows 7,熊猫帮帮主@cnblogs 2018/2/22 如何让表格在页面上垂直居中呢.想当然的认为这属于表格的设置,在表格属性和其它表格相关选项中一通猛找 ...

  4. VirtualBox:启动虚拟机后计算机死机

    造冰箱的大熊猫@cnblogs 2018/2/21 故障描述:Ubuntu 16.04升级Linux内核后,在VirtualBox中启动虚拟机发现Ubuntu死机,只能通过长按电源开关硬关机的方式关闭 ...

  5. HTML+JS中网页跳转的写法

    1.html中使用meta中跳转,通过meta可以设置跳转时间和页面 <head> <!--只是刷新不跳转到其他页面 --> <meta http-equiv=" ...

  6. 未关闭虚拟机直接关闭vmware引发的一系列问题——Windows下linux虚拟机

    虚拟机长时间挂起重新打开时卡顿,无法开启,脑抽直接关闭了vmware软件引起的一系列问题. 原因是关闭了vmware,但是相应的虚拟机并没有关闭,所以虚拟机不能重开 会出现如下提示 解决方案如下: 1 ...

  7. Idea中使用Maven编码打包时中文乱码的解决办法

    -Dfile.encoding=GBK

  8. web 新能优化

    网上的东西太多了都是搜来的东西 留着自己看吧! 摘自 :http://www.cnblogs.com/50614090/archive/2011/08/19/2145620.html 打开网站慢现状分 ...

  9. TCP被动打开 之 第一次握手-接收SYN

    假定客户端执行主动打开,服务器执行被动打开,客户端发送syn包到服务器,服务器接收该包,进行建立连接请求的相关处理,即第一次握手:本文主要分析第一次握手中被动打开端的处理流程,主动打开端的处理请查阅本 ...

  10. MediaFoundation初步研究

    用MediaFoundation写了个媒体播放程序,封装成了DLL,MFVideo.dll,写了个使用例子