《使用JSP/Servle技术开发新闻发布系统 第二章 JSP数据交互》
2018-05-25 00:35
639 查看
Validate:验证
Context:上下文
Request:请求 :当前请求(别的请求无效)
Response:响应
Redirect:重定向
Session:会话:当前会话 (可以包含多个请求)在该会话有效期内可以访问1:request对象
是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。request对象是javax.servlet.http.HttpServletRequest类的实现实例。
request对象封装了浏览器的请求信息,通过request对象的各种方法可以获取客户端以及用户提交的各项请求信息。
使用request对象获取客户端提交的请求参数的常用方法如下:
1.String getParameter(String name),获取上一页面所提交的参数值的参数值,并以字符串形式返回指定参数的值,如果参数不存在则返回空值。用于表单、链接或网址栏传递参数时,使用此方法。2.String[ ] getParameterValues(String name),获取以相同名称命名的表单组件提交的数据,主要用于获取复选框的值,返回值类型是字符串数组String[ ]3.void setCharacterEncoding(String encoding),设置字符编码方式,用来解决传递非英文字符所出现的乱码问题。
对于以post提交的表单数据
在第一行写:
request.setCharacterEncoding("UTF-8");
对于以get提交的表单数据
提交的数据作为查询字符串被附加到URL 的末端发送到服务器,此时字服务器端调用
setCharacterEncoding()方法就没有作用了,我们需要得到请求参数值之后,进行编码转换
String name=request.getParameter("name");4.
(1).RequestDispatcher getRequestDispatcher(String path)----获取请求分配器
返回一个javax.servlet.RequestDispatcher对象该方法的forward()方法用于 转发请求
例如,request.setCharacterEncoding("UTF-8");
(2).response对象
常用方法:
void addCookie(Cookie cookie):在客户端添加cookie
void sentRedirect(String location);重新定位到新的URL
5.getRequestDispatcher()与sendRedirect()的区别
(1).request.getRequestDispatcher()是请求转发,前后页面共享一个request ;
response.sendRedirect()是重新定向,前后页面不是一个request。
(2).RequestDispatcher.forward()是在服务器端运行;
HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成.
(3).ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径; 而
ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。因为
ServletRequest具有相对路径的概念;而ServletContext对象无此概念。
RequestDispatcher对象从客户端获取请求request,并把它们传递给服务器上的servlet,html或
jsp。2.void include(ServletRequest request,ServletResponse response)
用来记录保留request和response,以后不能再修改response里表示状态的信息。
二者区别:
response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参
数。
request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求
能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。而
sendRedirect()会新建request对象,所以上一个request中的数据会丢失。
更具体来说就是这样的:
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后
服务器发新的 阅读更多
Context:上下文
Request:请求 :当前请求(别的请求无效)
Response:响应
Redirect:重定向
Session:会话:当前会话 (可以包含多个请求)在该会话有效期内可以访问1:request对象
是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。request对象是javax.servlet.http.HttpServletRequest类的实现实例。
request对象封装了浏览器的请求信息,通过request对象的各种方法可以获取客户端以及用户提交的各项请求信息。
使用request对象获取客户端提交的请求参数的常用方法如下:
1.String getParameter(String name),获取上一页面所提交的参数值的参数值,并以字符串形式返回指定参数的值,如果参数不存在则返回空值。用于表单、链接或网址栏传递参数时,使用此方法。2.String[ ] getParameterValues(String name),获取以相同名称命名的表单组件提交的数据,主要用于获取复选框的值,返回值类型是字符串数组String[ ]3.void setCharacterEncoding(String encoding),设置字符编码方式,用来解决传递非英文字符所出现的乱码问题。
对于以post提交的表单数据
在第一行写:
request.setCharacterEncoding("UTF-8");
对于以get提交的表单数据
提交的数据作为查询字符串被附加到URL 的末端发送到服务器,此时字服务器端调用
setCharacterEncoding()方法就没有作用了,我们需要得到请求参数值之后,进行编码转换
String name=request.getParameter("name");4.
(1).RequestDispatcher getRequestDispatcher(String path)----获取请求分配器
返回一个javax.servlet.RequestDispatcher对象该方法的forward()方法用于 转发请求
例如,request.setCharacterEncoding("UTF-8");
(2).response对象
常用方法:
void addCookie(Cookie cookie):在客户端添加cookie
void sentRedirect(String location);重新定位到新的URL
5.getRequestDispatcher()与sendRedirect()的区别
(1).request.getRequestDispatcher()是请求转发,前后页面共享一个request ;
response.sendRedirect()是重新定向,前后页面不是一个request。
(2).RequestDispatcher.forward()是在服务器端运行;
HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成.
(3).ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径; 而
ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。因为
ServletRequest具有相对路径的概念;而ServletContext对象无此概念。
RequestDispatcher对象从客户端获取请求request,并把它们传递给服务器上的servlet,html或
jsp。2.void include(ServletRequest request,ServletResponse response)
用来记录保留request和response,以后不能再修改response里表示状态的信息。
二者区别:
response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参
数。
request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求
能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。而
sendRedirect()会新建request对象,所以上一个request中的数据会丢失。
更具体来说就是这样的:
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后
服务器发新的 阅读更多
相关文章推荐
- 使用JSP/Servlet技术开发新闻发布系统
- 【S2第二学期-使用JSP/Servlet技术开发新闻发布系统】全书知识点总结
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- 【开发技术】 使用JSP开发WEB应用系统-------笔记
- Web开发技术中的一些小技巧_新闻发布系统
- 使用Maven+Hibernate+Spring+Spring MVC开发新闻发布系统
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第一篇:前期环境准备
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第四篇:前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页的实现
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第三篇:新闻发布,新闻修改,新闻删除功能的实现
- Web开发技术中的一些小技巧_新闻发布系统
- 牛腩新闻发布系统———如何在开发中使用第三方控件
- 使用JSP开发WebMail系统 [转载]
- 《使用.net 2.0开发多层架构的系统》系列文章发布预告
- 使用 JSP 技术和 JDBC 技术访问基于 Web 的动态数据
- 使用 JSP 技术和 JDBC 技术访问基于 Web 的动态数据
- Step1数据系统技术(3.使用浏览器Cache和http状态码304实现的客户端缓存)
- 使用 JSP 技术和 JDBC 技术访问基于 Web 的动态数据
- 实现JSP数据和JavaScript数据交互使用
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法