JSP的四大作用域:page、request、session、application
page作用域:代表变量只能在当前页面上生效
reques t:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B
session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。
一般来说,只要浏览器不关闭,cookie 就会一直生效,cookie生效,session的使用就不会受到影响。
application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。
比如baidu、wenku等共享帐号。
Cookie在jsp中语法:
Cookie cookie_name =new Cookie("Parameter","Value");
例:
Cookie username_Cookie =new Cookie("username","waynezheng");
response.addCookie(username_Cookie);
读取cookie
从提交的HTML表单中获取,用户名
String userName=request.getParameter("username");
以"username", userName 值/对创建一个Cookie
Cookie theUsername=new Cookie("username",userName);
在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry 应是一个整数。
正值表示cookie将在这么多秒以后失效。
注意这个值是cookie 将要存在的最大时间,而不是cookie现在的存在时间。
负值表示当浏览器关闭时,Cookie将会被删除。
零值则是要删除该Cookie。
如:
Cookie deleteNewCookie=new Cookie("newcookie",null);
deleteNewCookie.setMaxAge(0);
删除该Cookie
deleteNewCookie.setPath("/");
response.addCookie(deleteNewCookie);
实例:
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10);
response.addCookie(cookie); %>
其中cookie的存活期为10秒。
Sessionn与cookie的对比:
Session在服务器端保存用户信息
Cookie在客户端保存用户信息
Session中保存的是object类型
Cookie保存的是String类型
Session随会话结束而将其存储的数据销毁
Cookie可以长期保存在客户端
Session保存重要的信息
Cookie保存不重要的用户信息
JSP常用内置对象
Out对象:用于向客户端输出数据
Request对象:主要用于处理客户端请求的数据信息
Response对象:用于响应客户端请求并向客户端输出信息
Session对象:用于记录会话状态的相关信息
Application对象:类似于系统的全局变量,用于实现web应用中的资源共享
JDBC
JDBC访问数据库的步骤
1.DricerManager加载驱动
2.获取connection链接
3.创建seatement执行sql语句
4.返回resultset查询结果
实例:
1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
2.获得链接对象
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
3.获得Statement对象stmt=conn.createStatement();
4.写Sql语句
String sql=" ";
5.获得ResultSet结果集
int a=stmt.executeUpdate(sql);
ResultSet结果集
用于存储查询结果
只在执行select语句时返回
方法及说明:
Boolean next()将光标从当前位置向下移动一行
Void close() 关闭ResultSet对象
String getstring(String colLabel)根据列名称对应的值
String getString(int collndex)根据列的位置获取对应的值
Int getInt(Int collndex)根据列的位置获取对应值
Int getint(string collabel)根据列的名称获取对应的值。