Servlet的 GenericServlet 和 HttpServlet
一、GenericServlet?
servlet 是一个接口 下面有两个抽象类 GenericServlet 和 HttpServlet 需要被 继承并重写其中的方法。
package javaweb; import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/zxh") //注解配置 不需要xml配置
public class GenericServletDemo extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("servlet 的儿子 generic servlet 是一个抽象类 子类继承时 需要重写他的一个抽象方法! ");
}
}
二、HttpServlet?
package javaweb; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import java.io.IOException;
/* 一 HttpServlet?
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,
HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户的这些信息。 二 HttpServletRequest常用方法?
getRequestURL方法返回客户端发出请求时的完整URL
getRequestURI方法返回请求行中的资源名部分
getQueryString方法返回请求行中的参数部分(参数名+值)
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回web服务器所使用的网络端口号
getLocalPort方法返回web服务器所使用的网络端口号
getLocalAddr方法返回web服务器的IP地址
getLocalName方法返回web服务器的主机名 三 request?和 response?
1.原理?
由服务器创建 可以使用它
request 对象获取请求消息 response对象是响应 3.request继承关系
request------- servletrequest--------httpservletrequest(由Tomcat创建) 4.方法?【获取请求行的数据】
1 获取请求的方式 getMethod();
2 目录的路径 getContextPath(); *****
3 获取servlet路径 getServletPath();
4 获得get请求参数 getQueryString();
5获取请求的url getRequestURI();
getRequestURL(); *****
6 获得协议版本 getProtocol();
7 获取客户的ip getRemoteAddr(); 5.其他方法?【获取请求参数的通用方式】 get post 都可以
1 getParameter(String name);
2 根据参数的名称获得参数的数组 getParameterValues(String name)
3 getParameterNames() 获得所有的请求参数的名称
4 getParameterMap() 获得所有参数的集合 map
*/
@WebServlet("/text.html")
public class HttpServletDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("提交方式为Post");
// 1 获取请求的方式 getMethod();
String method = request.getMethod();
System.out.println(method);
// 2 目录的路径 getContextPath(); *****
String contextPath = request.getContextPath();
System.out.println(contextPath);
// 3 获取servlet路径 getServletPath();
String servletPath = request.getServletPath();
System.out.println(servletPath);
// 4 获得get请求参数 getQueryString();
String s = request.getQueryString();
System.out.println(s);
// 5获取请求的url getRequestURI();
String re = request.getRequestURI();
// getRequestURL(); *****
System.out.println(re);
// 6 获得协议版本 getProtocol();
String protocol = request.getProtocol();
System.out.println(protocol);
// 7 获取客户的ip getRemoteAddr();
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("提交方式为get");
}
}
Servlet的 GenericServlet 和 HttpServlet的更多相关文章
- servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)
第一种: 实现Servlet 接口 第二种: 继承GenericServlet 第三种 继承HttpServlet (开发中使用) 通过查看api文档发现他们三个(servlet 和GenericSe ...
- servlet、genericservlet、httpservlet之间的区别
转自:http://blog.csdn.net/rat9912345/article/details/5161789 当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法 ...
- Servlet,GenericServlet和HttpServlet的继承关系
HttpServlet是GenericServlet的子类. GenericServlet是个抽象类,必须给出子类才能实例化.它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一 ...
- servlet、genericservlet、httpservlet之间的区别(转)
当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法就是扩展javax.servlet.genericservlet或javax.servlet.http.httpser ...
- Servlet 之 GenericServlet
我们都知道javaweb中servlet的三大组件 servlet filter listener 实现动态资源的 是可以继承 Servlet接口,或者集成GenericServlet .Http ...
- Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源
Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...
- Servlet】(2)有关Servlet实现的几个类:GenericServlet、HttpServlet、ServletConfig、ServletContext
一.GenericServlet 1.所有的成员方法: 1.在javaWeb项目中: 2.web.xml <?xml version="1.0" encoding=" ...
- Servlet , GenericServlet和HttpServlet
Servlet是一套规范,表现为一套接口,留给开发人员去实现,Servlet接口定义如下(附加servlet-api source来查看源码) 其中init方法被Servlet容器调用,servlet ...
- GenericServlet与HttpServlet
1.HttpServlet 1). 是一个 Servlet, 继承自 GenericServlet. 针对于 HTTP 协议所定制. 2). 在 service() 方法中直接把 ServletReu ...
随机推荐
- spring整合mybatis接口无法注入问题
在学习Spring完之后简单的了解了MyBatis.然后进行简单的整合,遇到MyBatista接口映射的Bean无法自动注入的问题: 代码异常: 线程“main”org.springframe .be ...
- HTML代码片段
按钮类 后退.前进按钮 返回按钮 几种刷新按钮 警告框显示源代码 链接按钮 打开新窗口 打印 新窗口延迟打开 背景色变换 表单类 点击清空文字 关闭输入法 链接 双击打开链接 超链接鼠标形状 页面 不 ...
- 谷歌浏览器扩展程序manifest.json参数详解
{ // Required "manifest_version": 2, // manifest编写规范版本,目前主流2 "name": "My Ex ...
- iOS ----------NSDate 、CFAbsoluteTimeGetCurrent、CACurrentMediaTime 的区别
框架层: NSDate 属于Foundation CFAbsoluteTimeGetCurrent() 属于 CoreFoundatio CACurrentMediaTime() 属于 QuartzC ...
- 自动给 Asp.Net Core WebApi 增加 ApiVersionNeutral
自动给 Asp.Net Core WebApi 增加 ApiVersionNeutral Intro 新增加一个 Controller 的时候,经常忘记在 Controller 上增加 ApiVers ...
- 使用mysqlhelper可以连接mysql
已经验证OK通过. 参考地址: https://www.oschina.net/code/snippet_579976_48967 https://files.cnblogs.com/files/mo ...
- MySQL InnoDB下关于MVCC的一个问题的分析
这个是网友++C++在群里问的一个关于MySQL的问题,本篇文章实验测试环境为MySQL 5.6.20,事务隔离级别为REPEATABLE-READ ,在演示问题前,我们先准备测试环境.准备一个测 ...
- JS时间的获取及格式
最近在做一个web聊天室,一个时间的问题挡住了进程,只好全网大搜索,将实用的方法记录下来,以备后查 <script src="/static/bootstrap/js/jquery.m ...
- MongoDB基础学习
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- sql server 临时表(上) Tempdb概述
一.概述 在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作.主要用于存放局部临时表,全局临时表,表变量,都是基于临时 ...