JavaWeb(评论管理&首页数据绑定&include指令)

模糊查询

<%
				//模糊查询
				//当adminHome.jsp页面一运行,查询所有数据,没有点击搜索按钮
				//当输入框中输入数据后,点击了搜索按钮,提交。本页面, 获取表单提交的值  传入sql语句

				//获取模糊查询的关键词
				//1.设置编码格式
				request.setCharacterEncoding("utf-8");
				//2.获取form表单提交的关键词
				String strName = request.getParameter("strName");

				//输出strName时  判断依据
				//如果strName 结果null   说明我们没有点击搜索按钮  意味着 查看所有新闻。
				//如果strName 结果不为null  说明我们点击了搜索按钮  意味着 显示对应模糊查询的新闻

				String sql = "select * from tb_02_news";

				if (null == strName) {
					System.out.println("首次访问,没有手动点击搜索按钮,strName = " + strName);
					System.out.println("首次访问,没有手动点击搜索按钮,sql = " + sql);
					//查看所有数据     sql = select * from tb_t281_news
				} else {
					System.out.println("首次访问,手动点击搜索按钮,strName = " + strName);
					//模糊查询 sql = select *from tb_t281_news where ntitle like '%"+strName+"%';
					//问题:当查询时,如果是非中文,可以查询到,中文 就会出现乱码
					//浏览器的原因
					//解码和编码   实现手段:破碎重组      String对象中提供的方法来实现
					//1.需要将含中文的字符进行解码   转成字节数组,识别纯英文格式
					byte[] bytes = strName.getBytes("ISO-8859-1");
					//2.通过String对象提供的构造函数进行编码,编译成UTF-8的格式中文
					strName = new String(bytes, "utf-8");

					sql += " where ntitle like '%" + strName + "%'";
					System.out.println("首次访问,手动点击搜索按钮,sql = " + sql);
				}
			%>

首页主题和新闻绑定

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>新闻首页</title>
		<link rel="stylesheet" type="text/css" href="admin/css/main.css" />
	</head>
	<body>
		<div id="header">
			<div id="top_login">
				<span style = "font-size:14px;cursor:pointer;font-weight:bold;">卓京教育新闻网首页</span>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
				【<a href = "">请注册</a>】
				
				<%
					//获取用户名
					request.setCharacterEncoding("utf-8");
					String username = request.getParameter("username");
					if(null == username){
						out.println("【<a href = 'login.jsp'>登录</a>】");
					}else{
						out.println("<span>当前用户:"+username+"</span><a href='#'>退出登录</a>");
					}
				%>
								
				
				<img src="admin/images/friend_logo.gif" alt="Google" id="friend_logo" /> </div>
			<div id="nav">
				<div id="logo"> <img src="admin/images/logo.jpg" alt="新闻中国" /> </div>
				<div id="a_b01"> <img src="admin/images/a_b01.gif" alt="" /> </div>
				<!--mainnav end-->
			</div>
		</div>
		


			<div class="main">
				<div class="class_type"> <img src="admin/images/class_type.gif" alt="新闻中心" /> </div>
				<div class="content">
							
				
					<!-- 新闻分类显示  -->
					<ul class="class_date">
						<li id='class_month'>
						<%
							//1.数据库交互显示新闻分类
							//加载驱动
							Class.forName("oracle.jdbc.driver.OracleDriver");
							//建立连接
							Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orc", "scott", "123");
							//调用方法返回执行对象
							String sql ="select * from tb_02_themes";
							PreparedStatement ps = conn.prepareStatement(sql);
							ResultSet rs = ps.executeQuery();
							while(rs.next()){
								out.println("<a href='index.jsp?ntid="+rs.getInt(1)+"'><b> "+rs.getString(2)+" </b></a> ");
							}
						%>
						</li>
						
					</ul>
					
					<!--新闻信息  -->
					<ul class="classlist">
						<!-- 新闻信息的数据库交互 -->
						<% 
							//默认查看所有。
							sql = "select * from tb_02_news";
							//获取点击指定主题的编号   超链接跳转
							String tid = request.getParameter("ntid");
							int ntid = 0;
							if(null!=tid){
								ntid = Integer.valueOf(tid);
							}
							//tid获取的结果为null  说明没有点击主题名称   查看所有
							//tid获取的结果不为null  说明点击了主题名称   根据主题编号查找对应的新闻
							if(tid==null){//查看所有
								System.out.println("没有点击主题,查看所有新闻");
							}else{//不为空
								sql+=" where ntid = "+ntid;
							}
						
						
							
							ps = conn.prepareStatement(sql);
							rs = ps.executeQuery();
							while(rs.next()){
								out.println("<li><a href='news_read.jsp?nid="+rs.getInt(1)+"&username="+username+"'> "+rs.getString(3)+"</a><span> "+rs.getString(8)+" </span></li>");
							}
						
						%>
					
					
						
						<p align="right"> 当前页数:[1/2]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p>
					</ul>
				</div>
				<div class="picnews">
					<ul>
						<li> <a href="#"><img src="admin/images/Picture1.jpg" width="249" alt="" /> </a><a href="#">幻想中穿越时空</a> </li>
						<li> <a href="#"><img src="admin/images/Picture2.jpg" width="249" alt="" /> </a><a href="#">国庆多变的发型</a> </li>
						<li> <a href="#"><img src="admin/images/Picture3.jpg" width="249" alt="" /> </a><a href="#">新技术照亮都市</a> </li>
						<li> <a href="#"><img src="admin/images/Picture4.jpg" width="249" alt="" /> </a><a href="#">群星闪耀红地毯</a> </li>
					</ul>
				</div>
			</div>
		</div>
		<div id="friend">
			<h1 class="friend_t"> <img src="admin/images/friend_ico.gif" alt="合作伙伴" /> </h1>
			
		</div>
		
	</body>
</html>

发表评论

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%
    	//设置编码
    	request.setCharacterEncoding("utf-8");
    	//获取form表单提交的评论字段
    	//编号
    	int cid = 0;
    	//加载驱动
    	Class.forName("oracle.jdbc.driver.OracleDriver");
    	//建立连接
    	Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orc", "scott", "123");
    	//调用方法返回执行对象
    	String sql = "select nvl(max(cid),0) from tb_02_comment";
    	PreparedStatement ps = conn.prepareStatement(sql);
    	ResultSet rs = ps.executeQuery();
    	if (rs.next()) {
    		cid = rs.getInt(1) + 1;
    	}
    	//用户编号
    	int cuserid = 0;
    	String username = request.getParameter("cauthor");
    	//交互  根据username获取该用户的编号
    	sql = "select * from tb_02_users where username = ?";
    	ps = conn.prepareStatement(sql);
    	ps.setString(1,username);
    	rs = ps.executeQuery();
    	if(rs.next()){
    		cuserid = rs.getInt(1);
    	}
    	//新闻编号
    	int nid = 0;
    	String id = request.getParameter("nid");
    	if(null!=id){
    		nid = Integer.valueOf(id);
    	}
    	//ip地址
    	String cip = request.getParameter("cip");
    	//内容
    	String ccontent = request.getParameter("ccontent");
    	//时间
    	Date date = new Date();
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String cdate = sdf.format(date);
		
		//交互---插入评论
		sql = "insert into tb_02_comment values(?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'))";
    	ps = conn.prepareStatement(sql);
    	ps.setInt(1,cid);
    	ps.setInt(2,cuserid);
    	ps.setInt(3,nid);
    	ps.setString(4,cip);
    	ps.setString(5,ccontent);
    	ps.setString(6,cdate);
    	int n = ps.executeUpdate();
    	if(n>0){
    		out.println("<script>alert('评论成功');location.href='news_read.jsp?username="+username+"&nid="+nid+"'</script>");
    	}else{
    		out.println("<script>alert('评论失败');location.href='news_read.jsp?username="+username+"&nid="+nid+"'</script>");
    	}
    	
    %>
    
    
    
    

 include指令

1.include指令属于jsp的三大指令之一
2.三大指令:page/include/taglib
3.include指令作用:引入页面
<%@ include file = "指定页面名称"%>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值