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. inner join和left join

    查询所有商品(product),包含他的所有的评论(comment),包含评论下的user 要使用 SELECT  * FROM product p LEFT JOIN COMMENT c ON p. ...

  2. 如何在VMware软件上安装Red hat(红帽)Linux6.9操作系统

    本文介绍如何在VMware软件上安装Redhat(红帽)Linux6.9操作系统 首先需要准备 VMware软件和Redhat-Linux6.9操作系统的ISO系统镜像文件包(这里以linux6.9为 ...

  3. sh_21_遍历字典的列表

    sh_21_遍历字典的列表 students = [ {"name": "阿土"}, {"name": "小美"} ] ...

  4. 灵魂拷问:Java如何获取数组和字符串的长度?length还是length()?

    限时 1 秒钟给出答案,来来来,听我口令:"Java 如何获取数组和字符串的长度?length 还是 length()?" 在逛 programcreek 的时候,我发现了上面这个 ...

  5. Python基础之赋值运算符

    如下图所示,假设变量a = 10, b = 20

  6. JavaWeb_(Hibernate框架)Hibernate中重要的api

    Hibernate中重要的api Configuration SessionFactory Session(重点) Transaction 在Dao层中UserDao.java使用Hibernate向 ...

  7. finally的一个妙用

    ●传统用法try-catch-finally大家都会用:try包裹可能抛出异常的代码:catch捕获异常并对其处理:finally做一些资源关闭等回收工作.简单明了一句话就能说清. 稍微进阶一些的,大 ...

  8. SRS之播放推流视频

    1. 综述 首先,推流直播的配置文件如下: # rtmp.conf listen 1935; max_connections 1000; daemon off; srs_log_tank consol ...

  9. Ubuntu下qt5使用vlc

      一:Ubuntu下在线安装qt5,同时安装了qt creator 二:打开终端执行sudo apt-get install libvlc5 libvlc-dev libvlccore-dev 安装 ...

  10. laravel insert 、save、update、create区别(总结二)

    1.insert:插入数据时,需要维护 created_at 和 updated_at字段, 2.save:无论插入或者更新,会自动维护,无需手动操作 //插入: public function st ...