servlet中的细节
Get方法有大小限制:1024个字符。这些信息使用 Query_String头传递,并通过Query_String环境变量访问。
Post方法:请求体信息使用FromData头传递。
读取所有表单参数:getParamterNames()方法。枚举类型。
遍历枚举:使用hasMoreElements()来确定何时停止循环,使用nextElement()方法来获取每个参数名称。
Servlet请求:
String host = req.getHeader("Host"); // localhost:8080 主机和端口
String referer = req.getHeader("Referer"); // http://localhost:8080/myservlet/index.jsp 页面1链接到页面2,到页面2后,页面1的URL地址
String contextPath = req.getContextPath(); // /myservlet
String requestURI = req.getRequestURI(); // /myservlet/DisplayHeader
StringBuffer requestURL = req.getRequestURL(); // http://localhost:8080/myservlet/DisplayHeader
String requestedSessionId = req.getRequestedSessionId(); // F06D8A91D7A213B23BD42107CFA68601 Session 会话 id
int serverPort = req.getServerPort(); // 8080 端口号
http://localhost:8080/myservlet/DisplayHeader?method=show 详解
http: 传输协议
localhost: 主机地址
8080: 端口号
myservlet: contextPath
DisplayHeader: servletPath
method=show: 参数
Servlet 响应:
resp.setContextType("text/html");
PrintWriter out = resp.getWriter();
out.print("hello world!");
一个有意思的小栗子(每隔5秒刷新页面):
resp.setIntHeader("Refresh", 5);
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.print(CT);
Servlet过滤器目的:
在它们访问后端资源之前,拦截这些来自客户端的请求
在他们发送回客户端之前,处理这些来自服务端的响应
规范建议的各种类型的过滤器:
身份验证过滤器。
数据压缩过滤器。
加密过滤器。
触发访问事件资源的过滤器。
图像转换过滤器。
日志记录和审核过滤器。
MIME-类型链过滤器。
Tokenizing 过滤器。
转换 XML 内容的 XSL/T 过滤器。
filter-mapping 顺序决定了过滤顺序
Cookie的键和值不能包含后边的任意一个字符: [ ] ( ) = , " / ? @ : ;
Session:
删除整个会话:你可以调用 public void invalidate() 方法来删除整个会话。
设置会话超时:你可以调用 public void setMaxInactiveInterval(int interval) 方法来单独设置会话超时。
web.xml 配置 Session 会话超时(分钟):
<session-config>
<session-timeout>15</session-timeout>
</session-config>
servlet中的细节的更多相关文章
- 在Servlet中出现一个输出中文乱码的问题(已经解)。
在Servlet中出现一个输出中文乱码的问题,已经解. @Override public void doPost(HttpServletRequest reqeust, HttpServletResp ...
- Servlet的一些细节问题
Servlet的细节问题 1.一个已经注册的Servlet可以被多次映射即: <servlet> <!-- servlet的注册名 --> <servlet-name&g ...
- Servlet中的请求包含
public class SrcIncludeServlet extends HttpServlet { public void doGet(HttpServletRequest request, H ...
- jsp/servlet中的编码问题
首先声明以下只是我个人的看法,有部分观点与网上人云亦云的观点不一样,不过凡事必恭亲,我还是相信自己测试的结果 推荐一个很好地URL编码详解http://www.ruanyifeng.com/blog/ ...
- 【Java框架型项目从入门到装逼】第五节 - 在Servlet中接收和返回数据
在上一节的程序中,我们可以看到HttpServletRequest, HttpServletResponse这两个对象.可以说,这是JavaWeb中至关重要的两个对象.接下来,我们来做一个简短的说明: ...
- servlet中的request和response
request对象 1.什么是请求 a.浏览器向服务器发送数据就是请求. 一.request功能1--获取数据 1.获取浏览器相关的信息 getRequestURL方法 -- 返回客户端发出请求完整U ...
- servlet中的“/”代表当前项目,html中的“/”代表当前服务器
servlet中重定向或请求转发的路径如果用“/”开头,代表当前项目下的路径,浏览器转发这条路径时会自动加上当前项目的路径前缀,如果这个路径不是以“/”开头,那么代表这个路径和当前所在servlet的 ...
- Servlet规范简介——web框架是如何注入到Servlet中的
Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...
- web.xml中在Servlet中获取context-param和init-param内的参数
引自:http://blog.csdn.net/yakson/article/details/9203231 web.xml里面可以定义两种参数:1.application范围内的参数,存放在serv ...
随机推荐
- Windows搭建SVN
1.服务器下载 VisualSVN 地址:http://subversion.apache.org/packages.html 2.然后下载TortoiseSVN客户端,如果要下中文语言包 也在这个页 ...
- mysql自动化安装
MySQL安装一般使用RPM或者源码安装的方式.RPM安装的优点是快速,方便.缺点是不能自定义安装目录.如果需要调整数据文件和日志文件的存放位置,还需要进行一些手动调整.源码安装的优点是可以自定义安装 ...
- Django 源码小剖: Django ORM 查询管理器
ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从 ...
- golang全文搜索--使用sphinx
不多废话,测试环境 `ubuntu 13.10` ## 安装 sudo apt-get install sphinxsearch ## 配置 nano /etc/sphinxsearch/sphinx ...
- SSD硬盘 全盘安全擦除
此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固态硬盘的使用过程中,部分用户可能会碰到计算机意外掉电或死机并强行断电后,系统出现异常,扫描SSD后 ...
- android studio 中查找代码中的硬编码
在Android Studio中同时按下Ctrl + Shift+ F 或者其他自定义的快捷键,打开全局搜索,在全局搜索中输入 ^((?!(\*|//)).)+[\u4e00-\u9fa5] 并打勾 ...
- AchartEngine绘图引擎
https://code.google.com/p/achartengine/ Code Test代码: /workspace/AChartEngineTest /workspace/appco ...
- Singleton<T>
代码如下: public class Singleton<T> where T : class { private static T _instance; private static r ...
- jdbc无法连接数据解析
1.网络原因 2.账户权限问题 账户是否赋予以下的权限: grant connect, resource to ADM_BI; grant read, write on directory BACKU ...
- SQLServer查询执行计划分析 - 案例
SQLServer查询执行计划分析 - 案例 http://pan.baidu.com/s/1pJ0gLjP 包括学习笔记.书.样例库