JSP笔记Word下载.docx
《JSP笔记Word下载.docx》由会员分享,可在线阅读,更多相关《JSP笔记Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
type="
"
>
functioncheckUserInfo(){
if(document.username.value=="
){
alert("
用户名不能为空"
returnfalse;
}
}
<
/script>
inputtypr="
submit"
name="
Submit"
value="
确定"
onClick="
returncheckUserInfo()"
/>
登录处理页面
%
request.setCharacterEncoding("
UTF-8"
Stringname=request.getParameter("
userName"
Stringpwd=request.getParameter("
pwd"
if(name.equals("
sa"
)&
&
pwd.equals("
)){
response.sendRedirect("
welcome.jsp"
%>
用户登录页面
formname="
form1"
method="
post"
action="
cotrol.jsp"
用户名:
inputtype="
text"
密码:
password"
<
登录"
/form>
欢迎页面
%Stringname=request.getParameter("
欢迎<
%=name%>
进入本页面
登录页面处理
Stringpwd=requset.getParameter("
if(name.equels("
pwd.equels("
request.getRequestDispatcher("
).foeward(request,response);
第4章
cookie的作用
1.对待定对象的追踪,如访问者的访问次数,最后访问时间,路径等。
2.统计网页浏览次数。
3.在cookie有效期内,记录用户登录信息。
4.实现各种个性化服务,如针对不同用户喜好以不同的风格展示不同的内容。
在JSP中使用COOKIE
1.使用page指令导入类javax.servlet.http.cookie
%@pageimport="
javax.servllet.http.cookie"
%>
2.创建cookie对象
CookienewCookie=newCookie(Stringkey,Objectvalue);
3.写入cookie
response.addCookie(newCookie);
response.addCookie(newCookie("
username"
Jack"
));
123465"
response.getRequestDispatcher("
look.jsp"
).forward(request,response);
4.读取cookie
案例:
login.jsp用户登录页面
loginFrom"
doLogin.jsp"
用户名:
密&
nsbp码:
doLogin.jsp登录处理页面
if("
.equals(name.trim())&
"
123"
.equals(pwd.trim())){
//以key/value的形式创建cookie
Cookieuname=newCookie("
uname"
name.ttrim());
response.addCookie(uname);
welcome.jsp欢迎
//获取请求中的cookie,以数组方式保存
Cookiecookies[]=request.getCookies();
//循环遍历数组,得到key为"
的cookie
for(ucookie.getName().equals("
))//判断cookie的名称
//获取key对应的value,输出显示
out.println("
欢迎你:
+ucookie.getValue());
session对象的常用方法
voidsetAttribute(Stringkey,Objectvalue)以key/value的形式保存对
象值
ObjectgetAttribute(Stringkey)通过key获取对象值
voidinvalidate()设置session对象失效
StringgetId()获取sessionid
voidsetMaxInactiveInterval(intinterval)设定session的非活动时间
intgetMaxInactiveInterval()获取session的有效非活动时间,以秒为
单位
JSP常用的内置对象
Out对象用于像客户端输出数据
Request主要用于客户端的请求处理
Response用于响应客户请求并向客户端输出信息
Session用来存储有关用户会话的所有信息
Application类似于系统的全局变量,用于实现用户之间的数据共享
Integercount=(Integer)application.getAttribut("
count"
If(count!
=null){
Count+=1;
}else{
Count=1;
application.setAttribute("
Integeri=(Integer)application.getAttribute("
Out.print("
统计访问量:
目前有"
+i+"
个人访问过本网站"
第5章JSP应用优化
//初始化上下文
Contextctx=newInitialContext();
//获得与逻辑名相关联的数据源对象
DataSourceds=ctx.lookup("
p/env/jdbc/news"
//getConnection()方法获得数据库连接对象Connection
Connectionconn=ds.getConnection();
//关闭数据库连接
Lookup(Stringname)返回与指定的名字绑定的对象
ClassName="
Url="
jdbc:
oracle:
thin:
@localhost:
1521:
orcl"
根据数据库计算总共需要划分为多少页
PubllicintgetTotalPages(intcount,intpageSize){
Inttotalpages=0;
Totalpages=(counnt%pageSize==0)?
(count/pageSize==0):
(count/pageSize+1);
Returntotalpages;
BianxieSQl语句
Stringsql="
select*from(selectrownumsar,t.*from("
+
Selectnews.*fromnewsorderbyncreatedatedesc)t"
+
whererownum<
=10)wherer>
5"
对上面的SQL语句进行修改
Stringsql="
select*from(selectrownumasr,t.*from("
selectnews.*fromnewsorderbyncreatedatedesc)t"
whererownum<
="
+|pageSize*pageIndex+"
)wherer>
pageSize*(pageIndex-1);
在jsp页面中分页设置
StringcurrentPage=request.getParameter("
pageIndex"
//获得当前页数
If(currentPage==null){
currentPage="
1"
}
IntpageIndex=Integer.paseInt(currentPage);
ahref="
news_list.jsp?
pageIndex=1"
首页<
/a>
nbsp;
pageIndex=<
%=pageIndex-1%>
上一页<
%=pageIdenx+1%>
下一页<
%=tota;
pages%>
末页<
对以上出现的异常进行控制: