常见的网络访问后缀:

-   .html   : 网页
- .htm : 网页
- .php : php技术实现的动态网页
- .jsp : Java Server pages Java代码+HTML代码实现的动态网页
- .do : JavaEE 的 Struts1 建议使用.do结尾
- .action : JavaEE 的 Struts2 建议使用.action结尾

ServletContext 了解

(此技术, 在Servlet中 应用较少, 但是在后期的JSP技术中, 它很重要 ,它是JSP九大隐含对象之一, 是四大域对象中范围最大的, 表示整个应用(application)! )

Servlet上下文环境 ! 

用于关联多个Servlet 

是Servlet之间通信的桥梁, 用于在多个Servlet之间 进行数据的共享 !

-----------------------------------------

ServletContext , 在每一个项目中, 存在且只存在一个 , 当tomcat启动时, 会为每一个项目创建一个ServletContext对象, 当Tomcat关闭 , 或应用被卸载时, 销毁ServletContext

在使用上, 我们可以将它当作一个每个Servlet 都可以获取引用的MAP集合,   我们可以在这个ServletContext中, 存储 / 删除 / 获取 数据 !

如何从Servlet中 获取ServletContext

ServletContext context = getServetContext();

    这个方法,  是HttpServlet的方法!  所以我们的Servlet都可以直接在 service/doget/dopost 方法中 调用此方法, 获取上下文 !

获取 / 设置 / 删除 ServletContext的属性(Attribute)

-   获取属性:
Object value = context.getAttribute(String key); - 设置属性:
context.setAttribute(String key,Object value); - 删除属性:
context.removeAttribute(String key);

获取当前项目运行时所在的文件夹

String dir = getServletContext().getRealPath("/");

ServletConfig 了解

是Servlet的配置对象, 每一个Servlet都拥有一个配置对象
获取ServletConfig对象
两种方式:  

    两种方式建议选择一种使用: 

    -   在Servlet中 , 通过getServletConfig方法获取

    -   重写init方法, 得到参数列表中的 ServletConfig对象
通过web.xml 向Servlet添加初始化参数!
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<init-param>
<param-name>key</param-name>
<param-value>value</param-value>
</init-param> </servlet>
通过ServletConfig对象, 获取初始化参数
//通过一个key , 获取一个初始化的值
String value = config.getInitParameter(String key); //获取所有的key
String[] keys = config.getInitParameterNames();

JDBC + Servlet

图书管理系统: 

目前:  

    M   :   model   :   编写好的一个个具备功能的对象模型

    V   :   view    :   JSP

    C   :   controls:   Servlet

请求的 重定向 与 转发 *****

请求转发与重定向, 在一次操作流程中, 可以发生多次 ! 

切记, 一定要存在出口 (一定要进行具体的响应) !
请求转发
一个web组件 , 将未处理完毕的请求, 通过tomcat 转交给另一个web组件进行处理 !

步骤: 

    1.  在处理请求的操作中, 获取请求转发器
RequestDispatcher rd = request.getRequestDispatcher("转发的地址"); 2. 通过请求转发器, 开始转发请求
rd.forward(request,response); 在一段代码里, 只会出现一个请求转发的逻辑 , 所以一般我们都是简写如下: request.getRequestDispatcher("转发的地址").forward(request, response); 注意: 在请求转发操作后的代码中, 不能再出现请求转发 / 重定向 / 响应 等操作 ! 特点:
1. 转发过程中, 各个web组件之间, 共享请求对象 与 响应对象 ! 2. 请求转发, 浏览器只发起了一次请求, 浏览器地址不会发生改变 ! 3. 转发的操作, 只能转发到当前项目中的web组件 !
在请求转发过程中, 多个web组件之间 可以通过请求对象, 共享数据 !
因为请求转发流程中所有的web组件 共享 一个请求对象, 所以我们可以在请求对象中, 将数据进行存储 , 以达到数据传递的效果 !

请求对象 可以存储 / 删除 / 获取 Attribute :
-   获取属性:
Object value = request.getAttribute(String key); - 设置属性:
request.setAttribute(String key,Object value); - 删除属性:
request.removeAttribute(String key);
请求重定向 *****
格式: 

    response.sendRedirect("地址");

原理: 

    当客户端请求服务器中的一个web组件时, 组件给客户端返回了一个302的状态码 , 和一个location地址 !

    当浏览器接收到服务器返回的302状态码以后. 会立即向location发起一个新的请求 !

特点: 

    1.  在请求重定向的过程中, 产生了两次请求  和 两次响应 

    2.  在用户看来, 用户浏览器地址发生了改变

    3.  重定向可以  将 请求重定向至  外部服务器地址 !
 

servlet(3)的更多相关文章

  1. servlet文件下载

    创建web工程servlet,新建DownloadServlet.java package com.xmyself.servlet; import java.io.File; import java. ...

  2. java中servlet的各种路径

    1. web.xml中<url-pattern>路径,(叫它Servlet路径!) > 要么以“*”开关,要么为“/”开头 2. 转发和包含路径 > *****以“/”开头:相 ...

  3. Servlet监听器笔记总结

    监听器Listener的概念 监听器的概念很好理解,顾名思义,就是监视目标动作或状态的变化,目标一旦状态发生变化或者有动作,则立马做出反应. Servlet中的也有实现监听器的机制,就是Listene ...

  4. JavaWeb——Servlet

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...

  5. servlet 简介,待完善

    什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 Servlet相关包的介绍--javax. ...

  6. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  7. servlet使用入门

    创建web工程servlet,然后新建TestServlet.java package com.xmyself.servlet; import java.io.IOException; import ...

  8. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  9. [Servlet] 初识Servlet

    什么是Servlet? 定义 Servlet的全称是 Server Applet,顾名思义,就是用 Java 编写的服务器端程序. Servlet 是一个 Java Web开发标准,狭义的Servle ...

  10. Java Servlet+Objective-c图上传 步骤详细

    一. Servlet 1.创建图片保存的路径 在项目的WebContent下创建一个上传图片的专属文件夹. 这个文件夹创建后,我们保存的图片就在该文件夹的真实路径下,但是在项目中是无法看到上传的图片的 ...

随机推荐

  1. ajax基本用法介绍

    使用ajax需要同时在模板中引用jQuery,ajax基本使用方法如下: $.ajax({ url:'url', type:'POST', data:{'k1':v1,'k2':v2,}, dataT ...

  2. 原生js移除或添加样式

    样式效果如下,点击商品详情 添加样式active 代码 <!doctype html> <html lang="en"> <head> < ...

  3. [C++ Primer Plus] 第9章、内存模型和名称空间(一)程序清单

    程序清单9.9(静态存储连续性.无链接性) #include<iostream> using namespace std; ; void strcount(const char *str) ...

  4. Overture如何更改音符符尾设置

    Overture作为一款专业的五线谱打谱软件,深受每一个音乐爱好者喜爱.在我们使用Overture来进行打谱操作时,往往会遇到下面这种情况:我们一般打上两个八分音符时,软件会自动符尾相连,但当我们连续 ...

  5. 用Xshell在centos7下安装lnmp服务

    虚拟机已创建好,本机已安装Xshell 一.准备工作:安装常用工具 1.1  yum install -y vim 备注:-y是同意安装过程中的询问,不被询问打断安装 vim:vim是一个类似于Vi的 ...

  6. input清空和select重置

    在添加成功之后,再次打开模态框添加数据,需要清空input和重置select标签 清空div下所有input的输入内容 $("#divId input").val("&q ...

  7. 2019 年 SpreadJS产品路线图(Roadmap)

    前言 | 问题背景 SpreadJS已经发展成为市场上最好的纯前端JavaScript电子表格之一,但对于用户的需要和产品功能的改善,我们才刚刚开始! 在过去的一年中,我们发布了两个Service P ...

  8. 阿里云盾SSL证书即将到期怎么办?

    如果你也像我一样用了一个有效期限1年的DV证书,颁发厂商:Symantec.那当这个证书快到期的时候要怎么更换证书呢?1.证书安装环境是IIS82.下载重新购买的免费证书,对新证书进行重新先发.3.证 ...

  9. gm图片处理器:The gm/convert binaries can't be found

    今天在使用node处理模块gm的时候,总是无法正常使用,报:The gm/convert binaries can't be found(找不到gm/convert二进制文件) google了一下,发 ...

  10. Intel收购半导体设计公司eASIC

    来源:本文由公众号 半导体行业观察(ID:icbank)翻译自「anandtech」,谢谢. 北京时间今天凌晨,Intel宣布收购了半导体设计公司eASIC. eASIC的商业模式介于传统Fables ...