一、模糊查询
<%
//jdbc连接Oracle查询所有的主题:tid tname
String CNAME="oracle.jdbc.driver.OracleDriver";
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
//定义sql语句
String sql="select * from topic280 order by tid";//tid tname
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//获得结果集
ResultSet rs=ps.executeQuery();
//循环遍历
while(rs.next()){
%>
<a href='index.jsp?tid=<%=rs.getInt(1)%>'><b> <%=rs.getString(2) %> </b></a>
<%
}
%>
<a href="index.jsp"><b>全部</b></a>
</li>
</ul>
<ul class="classlist">
<%
//接收tid
String tid=request.getParameter("tid");
//查询编号、标题、发表时间
sql="select nid,ntitle,naddtime from news280";
if(tid!=null){//说明点击了主题名称
sql+=" where tid="+tid;
}
//out.print(sql);
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
%>
<li><a href='/s4/news/read.jsp?nid=<%=rs.getInt(1)%>'><%=rs.getString(2) %></a><span><%=rs.getString(3) %></span></li>
<%
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
二、评论
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>新闻中国</title>
<link href="/s4/css/read.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function check(){
var cauthor = document.getElementById("cauthor");
var content = document.getElementById("ccontent");
if(cauthor.value == ""){
alert("用户名不能为空!!");
return false;
}else if(content.value == ""){
alert("评论内容不能为空!!");
return false;
}
return true;
}
</script>
</head>
<body>
<%
//接收主界面传过来的值=nid
String nid=request.getParameter("nid");
//思路:根据nid拿到其对应的新闻信息=单个查询
String CNAME="oracle.jdbc.driver.OracleDriver";
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
//定义sql语句
String sql="select * from news280 where nid="+nid;
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//获得结果集
ResultSet rs=ps.executeQuery();
//扩大作用域
String title="";
String author="";
String content="";
String addtime="";
int count=0;
//循环遍历
if(rs.next()){
//赋值
title=rs.getString(3);
author=rs.getString(4);
content=rs.getString(6);
addtime=rs.getString(8);
count=rs.getInt(9);
}
//修改点击量 记得加条件
sql="update news280 set ncount=nvl(ncount,0)+1 where nid="+nid;
ps=con.prepareStatement(sql);
int n=ps.executeUpdate();
%>
<div id="header">
<div id="top_login">
<label> 登录名 </label>
<input type="text" id="uname" value="" class="login_input" />
<label> 密  码 </label>
<input type="password" id="upwd" value="" class="login_input" />
<input type="button" class="login_sub" value="登录" onclick="login()"/>
<label id="error"> </label>
<a href="index.html" class="login_link">返回首页</a> <img src="/s4/images/friend_logo.gif" alt="Google" id="friend_logo" /> </div>
<div id="nav">
<div id="logo"> <img src="/s4/images/logo.jpg" alt="新闻中国" /> </div>
<div id="a_b01"> <img src="/s4/images/a_b01.gif" alt="" /> </div>
<!--mainnav end-->
</div>
</div>
<div class="main">
<div class="class_type"> <img src="/s4/images/class_type.gif" alt="新闻中心" /> </div>
<div class="content">
<ul class="classlist">
<table width="80%" align="center">
<tr width="100%">
<td colspan="2" align="center"><%=title %></td>
</tr>
<tr>
<td colspan="2"><hr />
</td>
</tr>
<tr>
<td align="center"><%=addtime %></td>
<td align="left"><%=author %> 点击量:<%=count %></td>
</tr>
<tr>
<td colspan="2" align="center"></td>
</tr>
<tr>
<td colspan="2"><%=content %></td>
</tr>
<tr>
<td colspan="2"><hr />
</td>
</tr>
</table>
</ul>
<ul class="classlist">
<table width="80%" align="center">
<td colspan="6">
<%
sql="select * from pl280 where nid="+nid+" order by pid desc";//查询该条新闻的评论
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
%>
<ul>
<li>评论内容:<%=rs.getString(5) %></li>
<li>评论人:<%=rs.getString(3) %> 评论时间:<%=rs.getString(6) %> <a href="dodelpl.jsp?pid=<%=rs.getInt(1)%>&nid=<%=nid%>">删除</a></li>
</ul>
<br/>
<%
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
</td>
<tr>
<td colspan="6"><hr />
</td>
</tr>
</table>
</ul>
<ul class="classlist">
<form action="dopl.jsp" method="post" onsubmit="return check()">
<table width="80%" align="center">
<tr>
<td> 评 论 </td>
</tr>
<tr>
<td> 用户名: </td>
<td><input id="cauthor" name="cauthor" value="这家伙很懒什么也没留下"/>
IP:
<input name="cip" value="127.0.0.1" readonly="readonly"/>
<!-- 隐藏域传值 -->
<input type="hidden" name="nid" value="<%=nid%>"/>
</td>
</tr>
<tr>
<td colspan="2"><textarea id="ccontent" name="ccontent" cols="70" rows="10"></textarea>
</td>
</tr>
<td><input name="submit" value="发 表" type="submit"/>
</td>
</table>
</form>
</ul>
</div>
</div>
</div>
</body>
</html>
三、include指令(包含)
<%incude file=jsp界面%>
列如:<%incude file=foota.jsp%>