JSP数据交互实现过程解析

这篇文章主要介绍了JSP数据交互实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用

2.JSP9大内置对象:

     对象名称              类型             
    request (请求对象)       javax.servlet.ServletRequest
    response(响应对象)      javax.servlet.SrvletResponse
    out (输出对象)          javax.servlet.jsp.JspWriter
    session (会话对象)      javax.servlet.http.HttpSession
    application(应用程序对象)    javax.servlet.ServletContext
    page(页面对象)        javax.lang.Object
    pageContext(页面上下文对象) javax.servlet.jsp.PageContext
    config(配置对象)        javax.servlet.ServletConfig
    execption(例外对象)      javax.lang.Throwable

3.JSP内置对象:out

<%
int[] value = { 60, 70, 80 };
for (int i : value) {
//将输出信息输出到控制台
System.out.println("控制台:"+i);
//out作为JSP最简单的内置对象,主要用于将信息输出到页面上
out.println(i);

}
%>

4.JSP内置对象:request:客户端向服务器端发送请求数据,我们通过request对象接收数据

<%
//获取数据之前解决乱码 解决表单POST提交方式的乱码
request.setCharacterEncoding("UTF-8");

//request用于获取客户端向服务器提交的数据
String username=request.getParameter("username");
String password=request.getParameter("password");

//获取表单组件对应多个值时的请求数据
String [] hobbys=request.getParameterValues("hobby");
for(int i=0;i<hobbys.length;i++){
//获取数据之前解决乱码 解决表单Get提交方式的乱码
/* hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8"); */
out.print(hobbys[i]);
}
out.println();
out.println(username+"\t"+password);

//性别
String sex=request.getParameter("sex");
out.println(sex);

//下拉框地址
String address=request.getParameter("address");
out.println(address);
%>

POST和GET的区别:

1.从安全角度考虑 post更安全一些 get不安全

2.post方式提交数据可以提交大概几GB的数据 get方式提交数据最大也就到几KB

5.解决乱码的方案:

  post乱码解决:request.setCharacterEncoding("UTF-8");

  get乱码解决: hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8");

6.HTTP状态码:

  1** 信息,服务器收到请求,需要请求者继续执行操作

  2** 成功,操作被成功接收并处理

  3** 重定向,需要进一步的操作以完成请求

  4** 客户端错误,请求包含语法错误或无法完成请求

  5** 服务器错误,服务器在处理请求的过程中发生了错误

404和500错误状态码配置页面:

  在当前项目的web.xml当中加入如下配置信息:

<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>

7.response:响应

  转发(是在服务器内部进行,无法访问到除内部以外的资源):

request.getRequestDispatcher("/response/welcome.jsp").forward(request, response);

  重定向(全路径):

response.sendRedirect("/Chap02/response/Login.jsp");

区别:

  1.转发是在服务器内部进行,重定向是客户端完成的,需要写入全路径,地址xxxxxxx

  2.转发请求1次,其余的操作都是在服务器内部进行的;重定向请求至少2次,其余的请求命令客户端再次请求一个URL

  3.转发可以携带这次请求的数据,重定向不带数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jsp中EL表达式获取数据

    jsp标签: <jsp:include> <jsp:forward> 实现请求转发 <jsp:param> 给上面的添加参数的 EL表达式: 1.获取变量数据 <% String name="陶士涵"; pageContext.setAttribute("name",name); %> 你好,${name} 2.获取数组数据 <% String[] names={"陶士涵","张三&

  • Struts2.5 利用Ajax将json数据传值到JSP的实例

    AJAX +JSON=>JSP AJAX  AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面. JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w3c制定的js规

  • springMVC如何将controller中数据传递到jsp页面

    1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如: newModelAndView("/WEBINF/jsp/showData.jsp","message",message) 其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象. 在这里要注意的是 数据是默认被存放在request中的. 示例: @RequestMapping(value="/mad/showData_1

  • SpringMVC 向jsp页面传递数据库读取到的值方法

    在开发过程中,我们经常需要将数据库查询到的值放入jsp页面进行显示,在springmvc的controller中,我们采用request将数据传递过去. 思路: 1.在comtroller中调用service层的方法获取数据库的数据,并且将其通过modelandview的addObject方法放置到域中 2.在jsp页面中通过jsp标签进行读取 开发controller.java文件: //查询所有数据到页面显示 @RequestMapping("/dataAll") public M

  • 读取数据库的数据并整合成3D饼图在jsp中显示详解

    前言 本文主要给大家介绍的是关于读取数据库数据整合成3D饼图并在jsp中显示的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 方法如下: 首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) import java.io.IOException; import java.sql.SQLException; import org.jfree.chart.ChartFactory; import org.jfree.c

  • jsp 使用request为页面添加静态数据的实例

    一,在div中插入要显示的数据! 1,以下是原网页插入数据代码: <div> <ul class="list-content"> <li><a href="">aaaaaaaaaaaaaaaaaaa</a><span>[06-29]</span></li> <li><a href="">aaaaaaaaaaaaaaaaaaa&l

  • JSP 自定义标签实现数据字典的实例

    JSP 自定义标签实现数据字典的实例 1.关于JSP标签的好处就不再罗嗦 数据字典就是使用的下拉框,只要定义使用那个字典就会将这个字典可用的内容显示出来 显示字典时只要定义那个字典和属性值就可以显示出字典的显示值 2.首先在web.xml中定义自定义标签加载的引用,两个属性分别是引用的URI和加载路径 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xm

  • jsp实现textarea中的文字保存换行空格存到数据库的方法

    UploadNews.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt

  • JSP数据交互实现过程解析

    这篇文章主要介绍了JSP数据交互实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.JSP内置对象:JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 2.JSP9大内置对象: 对象名称 类型 request (请求对象) javax.servlet.ServletRequest response(响应对象) javax.servlet.SrvletResponse out (输出对象) javax.serv

  • SpringMVC JSON数据交互实现过程解析

    为什么使用JSON进行数据交互? JSON数据格式比较简单.解析比较方便,在接口调用及HTML页面Ajax调用时较常用. JSON交互方式 请求是Key/Value,响应是JSON(推荐使用) 请求是JSON,响应是JSON 依赖包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver

  • Python enumerate函数遍历数据对象组合过程解析

    这篇文章主要介绍了Python enumerate函数遍历数据对象组合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2.6 添加 start 参数. enumerate(sequence, [start=0]) # sequence 是一个序

  • UnityWebRequest前后端交互实现过程解析

    一.技术概述 1.描述这个技术是做什么? 是Unity一套网络工具库,用于进行Http请求 2.学习该技术的原因? 项目需要,防止使用C#原生的网络库,加快开发速度 3.技术的难点在哪里 Unity仅提供了基础的功能,如何把这些功能构造成一个能够稳定业务开发的流程是一个比较难处理的问题 二.技术详情 描述你是如何实现和使用该技术的,要求配合代码和流程图详细描述. HttpCenter类:封装Get.Post.Put.Delete,维护一个请求队列 ///Get方法例举 private IEnum

  • Java Spring数据单元配置过程解析

    基本原理 - 容器和bean 在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean. 简单地讲,bean就是由Spring容器初始化.装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了. 也就是说,其实spring 就是在加载配置文件beans.xml的时候,通过反射机制,去实例化<bean>标签里面的类的过程.这里可以通过在类的默认无参构造方法中写点东西判断出来. 1. 配置元数据 基于XML的配置元

  • THINKPHP5分页数据对象处理过程解析

    在用到THINKPHP5的分页的时候,我们可以发现获取的数据是对象,如果我们要对数据进行循环增加数据就实现不了 今天用此方法解决,以做记录方便以后忘了查看 // 查询状态为1的用户数据 并且每页显示30条数据 $list = db('commission_log')->order('id desc')->paginate(30); // 获取分页显示 $page = $list->render(); $list = $list->all(); //这是关键 // 模板变量赋值 fo

  • springmvc处理模型数据Map过程解析

    这篇文章主要介绍了springmvc处理模型数据Map过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 SpringmvcTest.java @RequestMapping("/springmvc") @Controller public class SpringmvcTest { private static final String SUCCESS = "success"; @RequestMapping

  • Vue中的数据监听和数据交互案例解析

    现在我们来看一下vue中的数据监听事件$watch, js代码: new Vue({ el:"#div", data:{ arr:[1,2,3] } }).$watch("arr",function () { alert("数据改变了") }) html代码: <div id="div"> <input type="button" value="改变" @click=&

  • sql获取存储过程返回数据过程解析

    这篇文章主要介绍了sql获取存储过程返回数据过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 就是在执行存储后,获取存储过程执行的数据并作为其他应的二次使用, 其实在代码中可以说是调用类似,具体操作如下: 创建一个存储过程: use [库名] go set ansi_null on GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE DBO.P_TEST ( @RBACK VARCHAR(20)

  • 微信小程序跨页面数据传递事件响应实现过程解析

    这篇文章主要介绍了微信小程序跨页面数据传递事件响应实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙伴. 本次示例采用 uni-app 框架和 weui 样式库 实现思路 创建一个 Emitter,用于事件处理 创建一个 ... 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙

随机推荐