servlet

1.servlet是什么?
是运行在web服务器或应用服务器上的程序,是作为来自web浏览器或其他的http客户端的请求和http服务器上的数据库或应用程序之间的中间层
 
2.能做什么?
获取表单的信息数据,动态的创建网页,接收请求,响应数据
 
3.servlet的优点:
1.性能好
2.servlet运行在服务器上(在服务器的内存地址空间上执行),没必要再创建一个单独的进程或响应客户端的请求
3.独立于平台的,因为servlet使用JAVA写的
4.服务器上的JAVA安全管理器,会执行一系列的指令限制来保护服务器上的计算机资源
 
4.servlet的架构图
第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。 Servlet 容器在调用 service() 方法之前加载 Servlet。
然后 Servlet 容器处理由多个线程产生的。 多个请求,每个线程执行一个单一的   Servlet 实例的service() 方法。
 
5.Servlet的生命周期
Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
Servlet 通过调用 init () 方法进行初始化。
 
Servlet 调用 service() 方法来处理客户端的请求。在适当的时候调用 doGet、doPost、doPut、doDelete 等方法。
GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理
POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。
Servlet 通过调用 destroy() 方法终止(结束)。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
6.Servlet的请求流程 
7.servlet四个方法:
String getServletName(): 获取<servlet-name>的文本内容.
ServletContext getServletContext():获取当前Servlet的上下文对象,当前应用对象.
String getInitParameter(String paranName):根据指定的初始化参数名称获取对应的初始化参数值.
Enumeration<String> getInitParameterNames():获取所有的初始化参数的名字.
 
8.HttpServletRequest常用方法:
ServletRequest接口:表示Servlet的请求对象,包含了处理请求的方法.
HttpServletRequest接口:是ServletRequest接口的子接口,支持Http的请求处理.
HTTP请求:包含三部分(请求行,请求头,请求实体).
HttpServletRequest中就提供了获取HTTP请求信息的所有的方法.
 
常用方法:
1、String getMethod():返回请求方式:如GET/POST
2、String getContextPath():返回请求URL所属Web应用的路径。路径以"/"开头
3、String getRequestURI():返回请求行中的资源名字部分:如/test/index.html
4、StringBuffer getRequestURL():返回浏览器地址栏信息
5、String getRemoteAddr():返回发出请求的客户机的IP地址
6、String getHeader(String name):根据指定的请求头名称获取对应的请求头的值.
获取请求参数(重要)
   String getParameter(String name):返回指定名字参数的值。
   String[] getParameterValues(String name):返回指定名字参数的多个参数值。   
   Enumeration<String> getParameterNames():返回所有参数名的Enumeration对象。
   Map<String,String[]> getParameterMap():返回所有的参数和值所组成的Map对象。
   ServletResponse接口:处理一般的响应操作,包含处理响应操作的方法.
   HttpServletResponse接口:处理HTPP的响应操作,包含了处理HTTP响应的方法. HttpServletResponse是ServletResponse的子接口.
 
 
9.HttpServletResponse常用方法:
获取输出流对象:
    获取字节输出流: OutputStream out = resp.getOutputStream();(文件下载使用)
    获取字符输出流: PrintWriter out = resp.getWriter();
    注意: resp.getWriter()和resp.getOutputStream(),只能调用一个方法,否则报错.
  
   设置响应时的编码:必须在获取输出流之前设置.
   response.setCharacterEncoding("UTF-8");
   设置响应输出的MIME类型:
   response.setContentType("text/html");
 
   上述两行代码可以合体,同时设置响应的MIME类型和编码:
   response.setContentType("text/html;charset=utf-8");
 
 



转载于:https://www.cnblogs.com/liva-/p/10323296.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值