# 表单
<from action="指定要传到的地方" method="提交表单的方式"> | |
<input type="类型" name="用来获得这个值的id" value="默认值"> | |
</from> |
提交表单的方式(常见):get、post
JSP 获得表单的内容
< %
// 获取表单中name="id"的单元格输入内容给str
String str = request.getParament("id");
% >
获取复选框或者多选列表中的值
< %
String[] str = request.getParamentValues("id");
% >
# JSP 内置对象
JSP 规范中定义了 9 中内置对象:
- out 对象:负责管理对客户端的输出
- request 对象:负责得到客户端的请求信息
- response 对象:负责向客户端发送请求
- session 对象:负责保存同一客户端一次会话过程中的一些信息
- application 对象:表示整个应用的环境信息
- exception 对象:表示通过页面上发生异常,可以通过他获得页面的异常信息
- page 对象:表示当前 JSP 页面本身,类似于 Java 中的 this
- pageContext 对象:表示此 JSP 上下文
- config 对象:表示此 JSP 的 ServletConfig
# out 对象
- print () 和 println (),前一个不换行,后一个输出完括号里面的内容后,下一次输出会换行,但是在网页上并不会换行,网页上换行还得 <br>
- close ():关闭输出流,强制终止当前页面的剩余部分向浏览器输出
- clearBuffer ():清除缓冲区里的数据,并且把数据写到客户端去
- clear ():清除缓冲区里的数据,并且不把数据写到客户端去
- getRemaining ():获取缓冲区没有被占用的大小
- flush ():输出缓冲区的数据(在把数据输出给客户端之后,会把缓冲区的数据删除)
- getBufferSize ():获得缓冲区的大小
# request 对象
- getMethod ():得到请求方式
- getRequestURL ():得到请求的 URL 地址
- getProtocol ():得到协议名称
- getServletPath ():得到客户端请求服务器文件路径
- getQueryString ():得到 URL 的查询部分,对于 post 提交,不会得到任何东西
- getServerName ():得到服务器的名称
- getServerPort ():得到服务器的端口
- getRomteAddr ():得到客户端的 IP
# response 对象
可以利用 response 对象进行重定向
response.sendRedirect(目标页面路径) |
重定向的方法主要有两种:response.sendRedirect 和 forward
区别:
从浏览器地址显示来看
forword 方法属于服务器请求资源,服务器直接访问目标地址,对该目标地址的响应内容进行读取,再把读取的内容发送给客户端浏览器,因此浏览器的地址不变
Redirect 方法是告诉客户端,使得浏览器知道去请求哪一个地址,相当于客户端重新请求,所以浏览器地址会显示
从数据共享来看
forword 方法使得跳转的页面可以共享之前页面 request 里面的数据
Redirect 方法不能共享
从功能上来看
forword 方法只能在同一个 Web 应用程序内的资源之间的转发请求,服务器的内部操作,不可定位到其他应用程序上
Redirect 方法能够重定向到当前应用程序的其他资源、能够重定向到同一个站点上的其他应用程序中的资源、能通过绝对地址重定向到其他站点的资源
从效率上看
forward 效率更高,因为它仅仅只在本服务器上跳转
Redirect 方法的效率相对较低,因为相当于客户端又发送了一次请求
# Cookie 操作
Cookie说明
cookie 是一个小的文本数据,由服务器端产生,发送给客户端浏览器,如果客户端浏览器设置为启用 Cookie,则会将这个小的文本数据保存到某个目录下的文本文件内,下次登录同一个网站,客户端浏览器会自动将 cookie 读入之后传给服务器端。在一般情况下,Cookie 中的值是以 key-value 的形式进行表达的
在写 cookie 时主要用到以下的方法:
- response.addCookie (Cookie C):通过该方法将 Cookie 写入客户端
- Cookie.setMacAge (int second):通过该方法设置 Cookie 的存活时间,参数为秒