《JSP笔记》之六(JSP综合实例)

2026/4/24 2:12:22

《JSP笔记》之六

第六章 JSP综合实例

§6.1 [案例14]强制用户登录

一般网站都希望用户注册后登录,或先登录,留下自己的信息后,才能进入到自己丰富多彩的页面内容。但用户也可能会通过直接输入URL 而绕过注册页面,直接进入到关键页面。

面对这种情况,所有的关键页面可以采用一种方法来强制用户登录。方法如下:在关键页面,检查用户的session类变量,若session类变量没有值,说明用户没有登录就进来了。这时就限制用户打开网页,而转到登录页面,要求用户登录。

本案例由2个网页构成:供用户登录的login.jsp文件和关键页面的内部检查部分check.jsp,若检查通过,则跳到主页index1.jsp。

其实,可以把检查网页check.jsp用include指令嵌入到每个网页中,即每个网页一打开,就先检查用户是否登录,若没有,则跳到login.jsp进行登录。 网页文件名login.jsp

<%@ page contentType=\

强制用户登录

强制用户登录


<% String login_flag=request.getParameter(\ if(login_flag!=null){ if(login_flag.equals(\ //login_flag标记为null,则说明不是从其它网页跳转而来。 //login_flag标记为false,则说明是从其它网页跳转来的。 out.println(\请从首页登录!\ } } %>

(用户名admin)

密码:(口令pass)

<%

1

String username=request.getParameter(\ String password=request.getParameter(\ if(username!=null&&password!=null){ //若username和password都不为空,说明已接收到了输入。 if(username.equals(\ out.println(\用户名或密码不能为空!\ } else{ if(username.equals(\ session.setAttribute(\ session.setAttribute(\ session.setAttribute(\%>

欢迎来到本网站。

单击或5秒种后自动进入网站 <% response.setHeader(\ } else{ out.println(\用户名或密码错误!请重新输入!\ } } } %>

网页文件名check.jsp

<%@ page contentType=\

检查登录状况

<%

String username=(String)session.getAttribute(\ String access=(String)session.getAttribute(\ out.println(username); out.println(access);

if(username!=null&&access!=null&&(access.equals(\ out.println(\欢迎\ out.println(\访问本网站!\

2

} else{

out.println(\请先从login.jsp网页登录!\

response.setHeader(\ } %>

网页文件名index1.jsp

<%@ page contentType=\

无标题文档

主页

运行后的效果请同学们自己上机实践。

§6.2 [案例15]商品信息列表

用表格输出数据库表是不错的方法。但有时,并不知道数据表的具体字段名和字段的个数。这时可以用结果集ResultSet类的ResultSetMetaData类对象的方法,来完成不知道表的字段个数和字段名字的情况下输出数据表的任务。相关方法见书第217至218页

这里,用到了

创建ResultSetMetaData类对象:

ResultSetMetaData rsm=rs.getMetaData(); 获取ResultSetMetaData类对象的字段个数的方法:

int cols=rsm.getColumnCount();

获取ResultSetMetaData类对象的字段名的方法:

out.print(rsm.getColumnName(th));

网页文件名listshop.jsp

<%@ page contentType=\

商品信息列表

<%

try{ //启动异常处理

3

;

//连接数据库,

Class.forName(\

String

url=\

String user=\ String password=\

Connection conn= DriverManager.getConnection(url,user,password); //创建stmt对象 Statement

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

//创建sql查询语句

String sql=\ //执行sql查询

ResultSet rs=stmt.executeQuery(sql); if(rs!=null) {

ResultSetMetaData rsm=rs.getMetaData();

int cols=rsm.getColumnCount(); //取得rs记录集字段个数

out.println(\ //输出表格起始标签

//下面语句输出表的标题部分

out.println(\ //输出行起始标签

for(int th=1;th<=cols;th++) //循环输出一行中的标题格 {

//输出标题

out.println(\

out.print(rsm.getColumnName(th)); //输出字段名 out.println(\ }

out.println(\ //输出行结束标签

//循环列出商品信息 int row=1;

while(rs.next() ) {

out.println(\ //输出行起始标签

for(int col=1;col<=cols;col++) //循环输出一行中的单元格 {

//输出一个单元格 out.print(\

4


《JSP笔记》之六(JSP综合实例).doc 将本文的Word文档下载到电脑
搜索更多关于: 《JSP笔记》之六(JSP综合实例) 的文档

Copyright © 2021-2025 云题海 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-3

× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219