Diary(六)——日志信息显示

本文详细介绍了如何构建一个日记系统的实现过程,包括前端页面链接、DAO层日志内容展示、WEB层Servlet设计、前端页面展示和系统测试。从创建前端链接到后台数据处理,再到最终的页面展示,每一步都进行了详细的说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

1. 前端页面链接;

 2. dao层,写展现日志内容信息的方法;

3. web层,写一个DiaryServlet,将前台传入的数据和后台连接起来;

4.前端页面展示,将日志具体信息展示出来;

5. 测试;


1. 前端页面链接;

这里我们先找到diaryList.jsp页面,这是显示日志列表的页面,在其中的链接里面我们添加新的链接地址

在href链接地址里面我们添加"diary?action=show&diaryId=${diary.diaryId }",

给后台传入两个参数,一个是action,一个是diaryId,

action是确定点击链接,diaryId是点击链接之后传递给后台的日志Id;

<!-- 日记列表数据 -->
		<div class="diary_datas">
			<ul>
				<c:forEach var="diary" items="${diaryList }">
					<li>『<fmt:formatDate value="${diary.releaseDate }" type="date" pattern="yyyy-MM-dd"/>』<span>&nbsp;<a href="diary?action=show&diaryId=${diary.diaryId }">${diary.title }</a></span></li>
				</c:forEach>
			</ul>
		</div>

 

 2. dao层,写展现日志内容信息的方法;

这里我们写一个方法,根据前台传入的diaryId,我们可以查询到日志的一切信息;

//根据日志的Id显示日志的信息
	public Diary diaryShow(Connection con,String diaryId) throws Exception{
		Diary diary=new Diary();
		String sql="select * from t_diary t1,t_diarytype t2 where t1.typeId=t2.diaryTypeId and t1.diaryId=? ";
		PreparedStatement pstmt=con.prepareStatement(sql);
		pstmt.setString(1, diaryId);
		ResultSet rs=pstmt.executeQuery();
		if(rs.next()){
			diary.setDiaryId(rs.getInt("diaryId"));
			diary.setTitle(rs.getString("title"));
			diary.setContent(rs.getString("content"));
			diary.setTypeId(rs.getInt("typeId"));
			diary.setTypeName(rs.getString("typeName"));
			diary.setReleaseDate(DateUtil.formatString(rs.getString("releaseDate"), "yyyy-MM-dd HH:mm:ss"));
		}
		return diary;
	}

 

3. web层,写一个DiaryServlet,将前台传入的数据和后台连接起来;

这里首先获取前台的diaryId,然后调用dao层的diaryShow方法

还有将主界面mainPage和我们新写的页面diaryShow.jsp相关联起来

主界面不再显示diaryList.jsp的内容,而是显示日志具体信息的内容

package com.java.web;

import java.io.IOException;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.java.dao.DiaryDao;
import com.java.model.Diary;
import com.java.util.DbUtil;

public class DiaryServlet extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private DbUtil dbUtil=new DbUtil();
	private DiaryDao diaryDao=new DiaryDao();

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//设置字符集编码
		request.setCharacterEncoding("utf-8");
		//获取前台的action
		String action=request.getParameter("action");
		if("show".equals(action)){
			diaryShow(request,response);
		}
	}
	
	//显示日志信息的方法
	protected void diaryShow(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取前台的diaryId
		String diaryId=request.getParameter("diaryId");
		Connection con=null;
		try {
			con=dbUtil.getCon();
			Diary diary=diaryDao.diaryShow(con, diaryId);
			//将得到的diary存放起来
			request.setAttribute("diary", diary);
			
			//将得到的mainPage和diaryList连接起来
			request.setAttribute("mainPage", "diary/diaryShow.jsp");
			//内部转发
			request.getRequestDispatcher("mainTemp.jsp").forward(request, response);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally{
			try {
				con.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}

这里需要配置一下web.xml:

<!-- 日志信息界面 -->
  <servlet>
  		<servlet-name>diaryServlet</servlet-name>
  		<servlet-class>com.java.web.DiaryServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  		<servlet-name>diaryServlet</servlet-name>
  		<url-pattern>/diary</url-pattern>
  </servlet-mapping>

 

4.前端页面展示,将日志具体信息展示出来;

这里我们主要写界面,展现日志具体信息的形式,以及css样式等; 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 使用JSTL标签需要引入的头文件 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- 使用fmt 对时间进行格式化的时候需要引入的头文件 -->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class="data_list">
		<!-- 日志信息表头 -->
		<div class="data_list_title">
			<img src="${pageContext.request.contextPath}/images/diary_show_icon.png"/>日记信息
		</div>
		<div>
			<!-- 日志信息标题 -->
			<div class="diary_title"><h3>${diary.title }</h3></div>
			<div class="diary_info">
				发布时间:『<fmt:formatDate value="${diary.releaseDate }" type="date" pattern="yyyy-MM-dd HH:mm:ss"/>』&nbsp;&nbsp;日志类别:${diary.typeName }
			</div>
			<!-- 日志信息内容 -->
			<div class="diary_content">
				${diary.content }
			</div>
			<!-- 日志信息修改 -->
			<div class="diary_action">
				<button class="btn btn-primary" type="button" onclick="">修改日志</button>
				<button class="btn btn-primary" type="button" onclick="javascript:history.back()">返回</button>
				<button class="btn btn-danger" type="button" onclick="">删除日志</button>
			</div>
		</div>
</div>
</body>
</html>

css样式文件:

/* 日志内容信息修饰 */
.data_list .diary_title{
	margin-top:20px;
	text-align: center;
}

.data_list .diary_info{
	text-align: center;
}

.data_list .diary_content{
	margin-top:20px;
}

.data_list .diary_action{
	margin-top:20px;
}

 

5. 测试;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值