- 浏览: 80087 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
一辈子的咲子推:
其实很多学生考试不及格未必就是不学习,太多学生把大学几年时间全 ...
真的不想监考 -
jackroomage:
看错了,你写的没有问题。sorry!!!
Java Web实践专题——访问路径问题 -
jackroomage:
<a href="./../bb/b_a.js ...
Java Web实践专题——访问路径问题
本文介绍的查询方式有:
l 根据某个特定的字段查询;
l 在多个字段中查询;
l 根据任意字段查询;
l 任意字段组合查询;
l 多值查询。
根据某个特定的字段进行查询
用户在输入界面中输入要查询的字段的值,然后系统根据这个值进行查找。
下面的实例是根据用户名查询用户的详细信息,简单的效果图如下:
关键代码如下:
<p>请输入要查询的姓名:</p>
<form action="select.jsp" method="POST">
<p><input type="text" name="username" size="20"><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
处理文件的代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%
StringBuffer sql=new StringBuffer();
//查询字符串
String username = request.getParameter("username");
//查询的条件
if(username==null||username.length()==0)
{
out.println("请输入查询条件!");
}
else
{
sql.append("select * from user where username
like '");
sql.append(username);
sql.append("'");
}
//接下来根据上面生成的sql进行查询即可
%>
这里主要关心SQL语句即可,查询过程和显示过程参考其它主题。
上面进行的是精确的查询,可以进行模糊查询,例如可以查询用户名包含某个字的用户的信息。
只需要修改代码中的查询语句部分,修改后的代码如下:
sql.append("select * from user where username
like '%");
sql.append(username);
sql.append("%'");
仅仅增加了模糊查询的通配符“%”,如果要查询以什么开头,去掉前面的通配符即可,如果查询以什么结束,去掉后面的同配符即可。
在多个字段中查询
假设有一个关于Java技术的BBS,每个记录都有标题、摘要、内容等字段,这里我们忽略其它字段,如果用户希望查看关于编码的问题,他希望不管是在标题、摘要还是内容中只要包含他输入的信息都应该能够查询出来,这时候就需要在多个字段中查询。
关键代码如下:
<p>请输入要查询的关键字:</p>
<form action="select.jsp" method="POST">
<p><input type="text" name="condition" size="20"><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
查询的处理代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%
StringBuffer sql=new StringBuffer();
//查询字符串
String condition =request.getParameter("condition");
//查询的条件
if(condition==null||condition.length()==0)
{
out.println("请输入查询条件!");
}
else
{
sql.append("select * from user where title like '%");
sql.append(condition);
sql.append("%' and summary like '%");
sql.append(condition);
sql.append("%' and detail like '%");
sql.append(condition);
sql.append("%'");
}
//接下来根据上面生成的sql进行查询即可
%>
根据任意字段查询
可以让用户选择根据什么进行查询,然后输入要查询的值,这样的查询比较复杂,但是对于用户来说最方便。
处理文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%
StringBuffer sql=new StringBuffer();
//查询字符串
String condition = request.getParameter("condition");
//查询的字段
String v = request.getParameter("v");
//查询的值
if(v.length()==0)
{
out.println("请输入查询条件!");
}
else
{
sql.append("select * from user where ");
//根据用户选择的字段进行处理
if(condition.equals("a"))
sql.append(" a like '");
else if(condition.equals("b"))
sql.append(" b like '");
else
sql.append(" c like '");
sql.append(v);
sql.append("'");
/*
如果界面中下拉列表中的条件是数据库中字段的名字,上面的代码会非常简单:
sql.append("select * from user where ");
sql.append(condition);
sql.append(" like '");
sql.append(v);
sql.append("'");
*/
}
//接下来根据上面生成的sql进行查询即可
%>
任意组合查询
把所以可以查询的字段全部列出来,每个字段对应一个输入框,用户可以根据某个字段或者某几个字段进行查询,需要根据什么查询,在相应的输入框中输入信息即可。
查询的处理文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%
StringBuffer sql=new StringBuffer();
//查询字符串
String a = request.getParameter("a");
String b = request.getParameter("b");
String c = request.getParameter("c");
String d = request.getParameter("d");
//获取用户输入的查询条件
sql.append("select * from user where");
if(a.length()!=0)
{
sql.append(" a like '");
sql.append(a);
sql.append("' and");
}
if(b.length()!=0)
{
sql.append(" b like '");
sql.append(b);
sql.append("' and");
}
if(c.length()!=0)
{
sql.append(" c like '");
sql.append(c);
sql.append("' and");
}
if(d.length()!=0)
{
sql.append(" d like '");
sql.append(d);
sql.append("' and");
}
sql.trim(sql.length-3,3);
//删除最后的4个字母(" and")
//接下来根据上面生成的sql进行查询即可
%>
多值查询
用户在单个输入框输入多个数据进行查询,可以查询某个字段同时包含多个关键字,例如查询主题中既包含“java”又包含“C++”的记录,或者一个数字区间,例如年龄在19和22之间的记录,或者一个时间范围,例如出生在1981年1月1日和1983年12月31日之间的记录。
这里只介绍按照数字区间进行查找的,其它情况的实现基本相同。
处理文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%
StringBuffer sql=new StringBuffer();
//查询字符串
String condition = request.getParameter("condition");
//获取查询条件
int index = condition.indexof(" ");
//查找空格位置,空格作为两个数字的分隔符
String min=condition.subString(1,index);
//前面的值
String max=condition.subString(index+1,condition.length-1);
//后面的值
try
{
Integer.parseInt(min);
Integer.parseInt(max);
}catch(Exception e)
{
out.println("输入的信息不合法!");
return;
}
sql.append("select * from user where age between ");
sql.append(min);
sql.append(" and ");
sql.append(max);
//构造查询字符串
//接下来根据上面生成的sql进行查询即可
%>
发表评论
-
网页之间共享值
2007-03-19 13:49 456Web应用是由大量的网页组成的,运行的基本原理是:用户通过客 ... -
Java Web实践专题——Eclipse中CVS的使用
2007-03-19 14:50 604CVS概述 主要作用是管理代码的版本,尤其是多人协同开发的时 ... -
Eclipse中Web应用的开发
2007-03-30 09:35 508Eclipse中Web应用的开发 应用服务器:tomcat ... -
MVC模式在Java Web中的应用
2007-04-21 22:06 400流行的Java Web应用框架基本上都实现了MVC模型,下面分 ... -
Tomcat中连接池的配置和使用
2007-04-27 13:19 469对于大型网站来说,信 ... -
WebLogic中连接池错误Failed to Generate Wrapper Class的解决方案
2007-05-01 13:25 547很多人在使用Weblogic配置连接池之后,会碰到这样一个 ... -
Sun Java System Appliation Server中连接池的配置
2007-05-01 14:16 5031、准备驱动程序 把 ... -
Java Web中的分页显示——通过界面实现
2007-05-04 23:11 674在界面完成分页控制, ... -
Java Web中的分页显示——在模型中实现
2007-05-04 23:25 467在模型中实现分页显示,主要是在把查询的结果集转换成对象集合的 ... -
NetBeans中的几个快捷方式
2007-06-15 12:38 510几个比较常用的方便代码编写的功能如下: 1、引入用到的类 ... -
最好的Java Web开发的书应该是什么样子?
2007-06-20 14:50 689关于Java Web开发的技术非常多,JSP、Servet、J ... -
JSP培训(1)——概述
2007-08-21 08:35 523本文是JSP培训的笔记,是培训的第一次——概述。 (参考 ... -
JSP培训(2)——运行原理、文档结构、简单输入输出
2007-08-23 09:16 604目标: l 掌握Web应用的文档结构; l 掌握JSP ... -
JSP培训(3)——客户端验证、常用输出方式、JSTL基本用法
2007-08-30 09:49 517目标: l 掌握客户端验证的基本过程; l 掌握 ... -
JSP培训(4)——实例:登录功能、jsp:forward标签、jsp:include标签、include指令、EL、c:if
2007-08-30 09:55 770目标: l 进一步体会JSP应用; l 掌握表达 ... -
JSP培训(5)——使用JavaBean完成业务逻辑
2007-08-31 16:42 502目标: l 掌握什么是JavaBean; l 掌握如何 ... -
JSP培训(6)——使用Servlet作为控制器实现MVC模式
2007-09-04 13:38 618目标: l 初步理解MVC ... -
JSP培训(7)——使用JDBC完成动态验证、采用MVC完成数据查询
2007-09-04 13:43 539目标: l 掌握JDBC链接数据库的基本过程; l 掌 ... -
JSP培训(8)——添加功能和分页显示
2007-09-04 13:46 581学习目标: l 进一步掌握MVC设计模式; l 掌握添 ... -
JSP连接Microsoft SQL Server出错:Error establishing socket解决方法
2007-09-06 14:09 503安装SQL Server的补丁即可。 安装的时候需要注意:第 ...
相关推荐
深入体验Java Web开发内幕——核心基础 深入体验Java Web开发内幕——核心基础
《Java Web开发基础——从Servlet到JSP》源代码v1.0
Java Web开发实践教程——从设计到实现(第2版)(2013年)一书的PPT。
java毕业设计——javaWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文).zip java毕业设计——javaWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文).zip java毕业设计——...
Java Web开发实践教程——从设计到实现(第2版)(2013年)的源代码。
Java综合实践——学生成绩查询系统
Java_Web快速入门——全十讲 Java_Web快速入门——全十讲
Java Web应用教程——网上购物系统的实现
Java Web快速入门——全十讲.........
深入体验Java Web开发内幕——核心基础
张孝祥 老师的经典力作!!! 清晰的PDF电子书《深入体验Java_Web开发内幕-核心基础》——地球人都知道,呵呵。。
深入体验Java Web开发内幕——核心基础 高级特性 源代码
Java Web毕业设计——宿舍管理系统,内容完整,内含数据库,ReadMe等,有网站效果图预览。 Java Web毕业设计——宿舍管理系统,内容完整,内含数据库,ReadMe等,有网站效果图预览。 Java Web毕业设计——宿舍管理...
本资源是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的源代码,基本上都是采用JSP2.0和MVC模式。
《深入体验Java Web开发内幕——核心基础》全书扫描,内容完整,欢迎下载。由于论坛限制,不能用一个压缩包(超过50M),所以分卷压缩了。
本文档是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的附赠电子资料,对Struts2、JSF、Hibernate、iBATIS和JPA等框架进行了简单介绍,并且给出了两个自定义简单框架,还包括3个实例,共149页。
Java3D编程实践——网络上的三维动画.pdf
java web的经典真实项目——知识管理软件,实用经典。读懂每个功能的实现,您的java将提高了一个新的台阶。