JSP基础

北战南征 提交于 2019-12-09 18:07:58

基础

get与post请求方式的区别

get与post请求方式的区别:
a. get方式 在地址栏显示请求信息(地址栏能够容纳的信息有限,4-5kb );post不会显示
b.文件上传操作,必须是post
推荐使用post

JSP九大内置对象

内置对象 作用
out 输出对象,向客户端输出内容
request 请求对象;存储“客户端向服务端发送的请求信息”
response 响应对象
session 会话,存在于服务端
pageContext JSP页面容器
config 配置对象(服务器配置信息)
page 当前JSP页面对象(相当于Java中的this)
exception 异常对象
对象 方法 返回类型 作用
request getParamenter(String name) String 根据请求的字段名(key)(input标签的name属性值),返回字段值(value)(input标签的value值)
request gtParameterValues(String name) String[] 根据请求的字段名(key),返回多个字段值(value)
request setCharacterEncoding(“编码格式”) void 设置请求编码
request getRequestDispatcher(“b.jsp”).forward(request,response) void 请求转发A–>b,jsp(不会导致数据丢失,地址不会改变,服务端内部转发)
request getServerContext(); ServletContext 获取项目的ServletContext对象
response addCookie(Cookie cookie) void 服务端向客户准备cookie对象(还要把cookie转发给客户端(转发或者重定向))
response sendRedirect(String location) void 重定向,页面跳转的一种方式(会导致数据丢失,地址会改变,服务端与客户端的两次转发)
response sendContentType(String type) void 设置服务端响应编码(设置服务端的contentType类型)
session getId() String 获取sessionID
session isNew() boolean 判断是否是第一次访问
session invalidate() void 使session失效
session setMaxInactiveInterval(秒) void 设置最大有效 非活动时间
session getMaxInactiveInterval() int 获取最大有效 非活动时间
session setAttribute(键,值) void 设置session内容
session getAttribute(键) object 获取session内容
session 获取session内容 删除一个session内容
application getContextPath() String 获取虚拟路径
application getRealPath(String name) String 获取虚拟路径对应的绝对路径

四种范围对象(小—>大)

对象 范围
pageContext JSP页面容器 当前页面有效(页面跳转后无效)
request 请求对象 一次请求有效(请求转发有效,重定向无效(两次请求))
session 会话对象 同一次会话有效(同一浏览器有效)
application 全局对象 全局有效(整个项目有效,切换浏览器有效)关闭服务、其他项目无效

以上四个对象共有的方法:

方法 返回类型 作用
getAttribute(String name) object 根据属性名,获得属性值
setAttribute(String name,Object obj) void 设置属性值(新增,修改)
removeAttribute(String name); void 根据属性名,删除对象

实现多个项目共享、重启仍然有效
JNDI

例:setAttribute(“a”,“b”);
//如果a对象之前不存在,则新建一个a对象
//如果a对象之前已存在,则将a 的值改为b

注:
1.以上4个范围对象,通过setAttribute()赋值,通过getAttribute()取值
2.以上范围对象,尽量使用最小的范围。因为对象的范围越大,造成的性能损害越大

Cookie对象

存在于客户端,不是内置对象

Cookie是由服务端产生的,再发送给客户端保存

相当于本地缓存的作用

作用:可以提高访问服务器的效率,但是安全性较差

Cookie:包含键值对 key=value

由javax.servlet.http.Cookie 类产生
构造方法
public Cookie(String name,String value)
服务端准备cookie
response.addCookie(Cookie cookie);
页面跳转(转发、重定向)
客户端获取cookie
request.getCookies();

方法 返回类型 作用
getName() String 获取键name
getValue() String 获取值value
setMaxAge(int expiry) void 设置最大有效期(秒)

:不能直接获取某一个单独对象,只能一次性将全部的cookie拿到
除了自己设置的cookie对象外,还有一个name为JSESSIONID的cookie

JavaBean

例:LoginDao类,就称之为JavaBean

JavaBean的作用:
a.减轻jsp的复杂度
b.提高代码复用率
JavaBean定义:满足以下两点,就可以称之为JavaBean
a.public修饰的类,public 修饰的无参构造
b.所有属性(如果有)都是private,并且提供set/get(如果是Boolean,则get改为is)

使用层面:两大类

封装业务逻辑的JavaBean 封装数据的JavaBean
LoginDao.java处理逻辑的 实体类,Student.java,Person.java处理数据的
对应于操作 一个封装数据的JavaBean 对应于数据库的一张表
将JSP中的JDBC代码,封装到Login.java类中 例:Login login = new Login(uname,upwd); 即用Login对象 封装了2个数据(用户名和密码)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!