get和post的区别:

JSP内置对象:

1)out内置对象:out内置对象是在JSP开发过程中使用得最为频繁的对象,然而其使用起来也是最简单的。out对象用于向客户端浏览器输出数                                                         据,out对象常用的方法是:print()或者println()方法,这两个方法用于在页面中打印出字符串信息。

2)request内置对象:request对象,JSP中的request内置对象对应了Servlet中的HttpServletRequest类的对象,是最常用的JSP内置对象之一,这个内置                                         对象当中封装了有关浏览器请求的信息,比方说,我们在页面上填写的用户名、密码等信息就封装在request当中。request对象的主要作                                         用就是用来处理客户端请求。

3)response内置对象:response对象和request对象相对应,它用于响应客户端的请求并向客户端输出信息。 JSP中的response内置对象对应了Servlet中的                                            HttpServletResponse类的对象,这个对象封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。

4)application内置对象:application对应了Servlet中的ServletContext类的对象。它在每个Web项目中只有一个实例,常被用来实现不同用户之间的数据共享。因                                     为不同的用户在访问application的时候,都是访问的同一个对象,这样的话,一个用户可以把需要共享的数据放到application对象中,然后                                 其他用户就可以在这个对象中获得想要的共享数据了。

5)session内置对象:session是客户端浏览器和web服务器之间的会话,这个对象和request内置对象一样,都是我们平时开发JSP过程中最常用的内置对象之一,它                               最常见的作用就是进行访问控制,这个session对象是Servlet中HttpSession类的实例。

6)pageContext内置对象:pageContext对象是javax.servlet.jsp包中PageContext类的对象,他提供了对JSP页面中所有的对象及命名空间的访问,使用这个对象                                   可以访问application对象,session对象,exception对象等等。也就是说这个对象可以访问除了本身之外的8个JSp内置对象。还可以访问                                     绑定在page、request、session、application这些对象上的Java对象,它相当于JSP程序中所有对象功能的集成者。

7)page内置对象:page对象是java.lang.Object类的示例,他指的是一个JSP页面在翻译阶段翻译成Servlet之后,这个Servlet实现类的示例,也就是说它是JSP页面                         本身,因此,此对象的作用域范围仅仅限于当前JSP页面本身

8)config内置对象:config对象对应Servlet中的ServletConfig接口,它用来表示Servelt的配置。当Servlet容器初始化一个Servlet对象的时候,Servlet容器会把某                            些初始化信息通过这个对象传递给Servlet。

9)exception内置对象:exception对象是java.lang.Throwable类的一个实例。他指的是运行时的异常,也就是被调用的错误页面的结果,只有在错误页面(在页面                                  指令里设置了isErrorPage=true的页面)才可以使用。

 Request:

//JSP接收客户端注册信息并输出
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
String con_password= request.getParameter("con_password");
String email = request.getParameter("email");
%>
用户名:<%=username %><br/>
密码:<%=password %><br/>
确认密码:<%=con_password %><br/>
电子邮箱:<%=email %>

请求对象方法:

方法名称 方法说明
getCookies() 获得客户端发送的Cookie
getSession() 返回和客户端关联的Session,如果没有给客户端分配Session则创建一个Session并返回
getSession(Boolean create) 和上面方法类似,不同的是如果没有给客户端分配Session则根据参数判断是否创建一个新的Session并返回
getParameter(String name) 获得请求中名为name的参数的值,如果请求中没有这个参数,返回null
getParameterValues(String name) 返回请求中名为name的参数值,这个值往往是checkbox控件提交的,因此返回的是一个String数组
getMethod() 返回这个请求使用的HTTP方法(例如:GET、POST、PUT)
getHeader(String name) 返回一个请求头域的值,这个值是一个字符串
getIntHeader(String name) 返回一个请求头域的值,这个值被转换成一个整数
getPathInfo() 返回在这个请求的URL的Servlet路径之后的请求URL额外的路径信息

支持中文的编码格式:

GB2312,GBK,UTF-8

请求出现乱码:

post:设置请求和响应的的编码方式来解决筹码:

请求:

request.setCharcterEncoding("utf-8");

响应:

response.setCharcterEncoding("utf-8");

或者在jsp页面声明部分:

<%@ page language="java" contentType="text/html; charset=UTF-8"

 //请求设置编码
request.setCharacterEncoding("UTF-8");
//响应设置编码
response.setCharacterEncoding("UTF-8");
//响应在声明部分设置可以不写上面的
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

get:

//接收用户名
String un = request.getParameter("username");
//get方式解决乱码
String username = new String(un.getBytes("iso-8859-1"),"UTF-8");

在Tomcat中conf/server.xml文件

    <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

页面跳转:

没有参数的跳转 和 有参数的跳转:

if(username.equals("admin")){
//不允许注册
//直接跳转
//response.sendRedirect("userCreate.jsp");
//带返回信息的跳转,设置信息
request.setAttribute("mess", "注册失败,请更换用户名");
request.getRequestDispatcher("userCreate.jsp").forward(request, response);
}
else{
//注册成功
//直接跳转
// response.sendRedirect("index.jsp");
//带返回信息的跳转,设置信息
request.setAttribute("mess", "注册成功");
request.getRequestDispatcher("index.jsp").forward(request, response);
}

response.sendRedirect和 request.getRequestDispatcher("index.jsp").forward(request, response)区别:

JSP实现数据传递(web基础学习笔记三)的更多相关文章

  1. JSP实现数据保存(web基础学习笔记四)

    session对象: //服务端设置Session属性 session.setAttribute("user", username); //客户端接收Session Object ...

  2. JDBC五数据源和数据池(web基础学习笔记十一)

    一.为什么使用数据源和连接池 现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接. ...

  3. JSP的范围-作用域(web基础学习笔记五)

    JSP的范围(作用域) 在JSP页面中的对象,包括用户创建的对象如JavaBean,都有一个范围属性,这个范围也被叫做“作用域”.范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象.例如,s ...

  4. 【整理】解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function

    解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function https://www.cnblogs.com/jaso ...

  5. 解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function

    Vue的项目中,如果项目简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 进行传递 但是如果是大中型项目中,很多时候都需要在不相关的平行组件之间传递数据,并且很多数据需要 ...

  6. JSP的页面连接和提交方式(web基础学习笔记六)

    一.GET请求新页面 1.1.超链接请求新页面 <!-- 超链接到page2 --> <a href="page2.jsp">链接到page2</a& ...

  7. 使用JSP实现输出(web基础学习笔记二)

    Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...

  8. EL运算符(web基础学习笔记十七)

    一.EL语法 1.1.语法结构 ${expression} 1.2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一 ...

  9. JavaBean(web基础学习笔记十二)

    一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...

随机推荐

  1. 移动平台的WebApp之Meta标签

    对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究 ...

  2. list C++实现

    模仿STL中list,实现了其大部分功能.list可以高效地利用内存资源,常数时间的插入删除操作.并且,list除了erase外,不怎么存在迭代器失效的现象. #include<iostream ...

  3. SQLServer2005中的CTE递归查询得到一棵树

    最近研究了一下CTE递归查询,感觉这个CTE递归查询蛮好用的,在网上找到了一个比较好的例子,测试例子如下 use City; go create table Tree ( ID ,) primary ...

  4. .Net高级技术——程序集

    程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*).打包的目的:程序中只引用必须的程序集,减小程序的尺寸:一些程序集内部的类不想让其他程序集调用. 我们调用的类 ...

  5. 拆解探索MagSafe电源接口结构和指示灯变颜色原理

    你有没有想过一个Mac的MagSafe接头里面有什么? 控制光线是什么? 在Mac如何知道它是什么样的充电器? 本文探讨的MagSafe连接器内,并回答这些问题. 2006年由苹果公司推出的MagSa ...

  6. Android项目实战之(1)-- 开发一个"快速冲浪"的程序

    概述:这个小程序,你讲学习到基本控件(Button,Listview,Gridview,TextView等)的使用技巧,AssetManager类的使用,XML数据的解析方式,BaseAdapter, ...

  7. 3. python 字符串的一般使用

    3. python 字符串的一般使用 1.基本操作 1)使用+连接 >>> "abc"+"efg"    'abcefg'    >&g ...

  8. sql把一个表的某几列的数据存到另一个表里

    一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句:    insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2 ...

  9. Kafka分布式环境搭建 (二)赞

    这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...

  10. linux 复制目录结构,但不复制文件

    find src -type d | sed 's/src/mkdir -p dst/'|sh