Servlet
来源:互联网 发布:win10哪些软件无用 编辑:程序博客网 时间:2024/06/03 09:36
一、Servlet核心
1.请求方式:
get :请求指定的资源
post :向指定的资源提交需要处理的数据
put :上传指定资源
delete :删除指定资源
2.get和post的区别
get:提交数据时,将数据编码到URL中,
URL可见,安全性低,传送量小。
post:放置在实体内容中传送到URL地址。
不可见。安全性相对高。传送数据量较大
3.运行Servlet
1.浏览器依据IP和port建立与容器的连接
2.浏览器将请求数据打包
3.容器解析请求数据包,封装request和response对象
4.容器依据请求资源路径找到Servlet创建对象
5.容器将request和response对象作为参数传入service方法,并调用
6.容器将响应数据打包发给浏览器
7.浏览器取出结果,生成页面
注意:编码和解码使用的肌肤及不一直会产生乱码问题
解决方法:在service()方法第一行的位置上添加:
response.setContentType(“text/html;charset=UTF-8”);
4.获取表单数据
①.getParameter方法用于获取表单中控件的数据
参数名一定要与客户端表单中的控件name属性一致
②.getParameterValues方法获取表单中一组参数名相同的控件提交的数据组
5.解决post方式的乱码问题
①.确保表单所在的页面按照指定的字符集打开
②.在调用getParameter()方法读取参数之前,设置request.setCharacterEncoding("utf-8");
6.解决get方式的乱码问题
①.确保表单所在的页面按照指定的字符集打开,完成ISO-8859-1到UTF-8格式的转换
String username = request.getParameter(“username”);
username = new String(username.getBytes(“iso-8859-1”),“UTF-8”);
二、重定向
1.特点:
①地址可以是任意地址(无论当前应用还是以外的应用)
②地址栏会发生变化
③涉及到的Web组
件并不会共享同一个request和response。
2.匹配规则:
精确匹配,通配符匹配,后缀匹配
①后缀匹配(重点)
配置url-pattern节点时,不使用斜杠开头,用“*.”开头来匹配
②.通配符匹配:
使用“*”这个符号来匹配0个或多个字符,已达到路径的批量匹配的效果
③.精确匹配:具体资源名称与web.xml文件中的url-pattern严格匹配相等才执
行。
3.生命周期
阶段一:实例化
由Servlet容器调用Servlet的构造器
创建一个具体的Servlet对象的过程。
阶段二:初始化
Servlet被加载实例化之后,必须要初始化。在初始化阶段,init()方法会
被调用。
阶段三:就绪
容器收到请求之后会调用Servlet对象的service()来处理请求
阶段四:销毁
Servlet关闭服务、重新启动或重新部署都会引起销毁Servlet对象
的动作
1.请求方式:
get :请求指定的资源
post :向指定的资源提交需要处理的数据
put :上传指定资源
delete :删除指定资源
2.get和post的区别
get:提交数据时,将数据编码到URL中,
URL可见,安全性低,传送量小。
post:放置在实体内容中传送到URL地址。
不可见。安全性相对高。传送数据量较大
3.运行Servlet
1.浏览器依据IP和port建立与容器的连接
2.浏览器将请求数据打包
3.容器解析请求数据包,封装request和response对象
4.容器依据请求资源路径找到Servlet创建对象
5.容器将request和response对象作为参数传入service方法,并调用
6.容器将响应数据打包发给浏览器
7.浏览器取出结果,生成页面
注意:编码和解码使用的肌肤及不一直会产生乱码问题
解决方法:在service()方法第一行的位置上添加:
response.setContentType(“text/html;charset=UTF-8”);
4.获取表单数据
①.getParameter方法用于获取表单中控件的数据
参数名一定要与客户端表单中的控件name属性一致
②.getParameterValues方法获取表单中一组参数名相同的控件提交的数据组
5.解决post方式的乱码问题
①.确保表单所在的页面按照指定的字符集打开
②.在调用getParameter()方法读取参数之前,设置request.setCharacterEncoding("utf-8");
6.解决get方式的乱码问题
①.确保表单所在的页面按照指定的字符集打开,完成ISO-8859-1到UTF-8格式的转换
String username = request.getParameter(“username”);
username = new String(username.getBytes(“iso-8859-1”),“UTF-8”);
二、重定向
1.特点:
①地址可以是任意地址(无论当前应用还是以外的应用)
②地址栏会发生变化
③涉及到的Web组
件并不会共享同一个request和response。
2.匹配规则:
精确匹配,通配符匹配,后缀匹配
①后缀匹配(重点)
配置url-pattern节点时,不使用斜杠开头,用“*.”开头来匹配
②.通配符匹配:
使用“*”这个符号来匹配0个或多个字符,已达到路径的批量匹配的效果
③.精确匹配:具体资源名称与web.xml文件中的url-pattern严格匹配相等才执
行。
3.生命周期
阶段一:实例化
由Servlet容器调用Servlet的构造器
创建一个具体的Servlet对象的过程。
阶段二:初始化
Servlet被加载实例化之后,必须要初始化。在初始化阶段,init()方法会
被调用。
阶段三:就绪
容器收到请求之后会调用Servlet对象的service()来处理请求
阶段四:销毁
Servlet关闭服务、重新启动或重新部署都会引起销毁Servlet对象
的动作
0 0
- Servlet
- servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- Servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- 小牛之路——提醒功能
- Web程序中打开QQ、邮箱、阿里旺旺等
- SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。
- VS2013打开项目提示此版本的应用程序不支持其项目类型(.csproj)
- href的参数含有中文在IE下乱码的解决
- Servlet
- 处理Json数据中的日期类型.如/Date(1415169703000)/格式
- [Asp.net mvc] Asp.net mvc Kendo UI Grid的使用(四)
- Android SELinux 的认知以及 init 的相关知识,Linux 环境利用这2个模块进行白名单测试 -- 架构分析
- Nuget的使用命令
- Http状态码集合
- QTP 利用DOM实现拖动浏览器滚动条
- Android网络加载时显示进度条对话框
- win8.1右键新建菜单添加新建php文件