在开始做这个作业之前,请保证能够连接本地数据库和能够运行tomcat,本地数据库账号密码文件在BaseDao.java中——By Benmao
第一步:找到dao包,接口添加代码
1. 在TopicsDao.java中写入如下代码
//根据tid查询新闻主题
public Topic findTopicByTid(String tid);
//根据tid修改新闻主题
public int modifyTopic(String tname, String tid);
//根据tid删除新闻主题
public int delTopic(String tid);
2. 在daoNewsDao.java中写入如下代码
//根据新闻nid删除新闻对象
public int delNews(String nid);
//修改新闻信息
public int modifyNews(News news,String nid);
第二步:找到impl包,接口的实现类添加代码
1.在TopicsDaoImpl.java中写入如下代码
//根据tid查询新闻主题
public Topic findTopicByTid(String tid) {
Connection con=getConnection();
PreparedStatement ps=null;
ResultSet rs=null;
Topic topic =null;
String sql = "select * from topic where tid=?";
try {
ps = con.prepareStatement(sql);
ps.setString(1,tid);
rs = ps.executeQuery();
if(rs.next()){
topic = new Topic();
topic.setTid(String.valueOf(rs.getInt("tid")));
topic.setTname(rs.getString("tname"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
closeAll(con, ps, rs);
}
return topic;
}
//根据tid修改新闻主题
public int modifyTopic(String tname, String tid) {
String sql = "update topic set tname = ? where tid = ?";
return exceuteUpdate(sql, tname, tid);
}
//根据tid删除新闻主题
public int delTopic(String tid) {
String sql = "delete from topic where tid = ?";
return exceuteUpdate(sql, tid);
}
2. 在NewsDaoImpl.java中写入如下代码
//根据新闻nid删除新闻对象
public int delNews(String nid) {
String sql = "delete from news where nid = ?";
return exceuteUpdate(sql, nid);
}
//根据nid修改修改新闻信息
public int modifyNews(News news,String nid) {
String sql = "update news set ntid = ?, ntitle = ?, nauthor = ?, nsummary = ?, ncontent = ? where nid = ?";
return exceuteUpdate(sql, news.getNtid(), news.getNtitle(),news.getNauthor(),news.getNsummary(),news.getNcontent(), nid);
}
第三步:找到newspaper文件夹
注意:如果下方教程出现不存在的文件,自己创建一下就行
1. topic_delete.jsp文件代码如下
<%@page import="com.jjzd.news.dao.impl.TopicsDaoImpl"%>
<%@page import="com.jjzd.news.entity.Topic"%>
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.TopicsDao"%>
<%
request.setCharacterEncoding("UTF-8");
TopicsDao topicsDao=new TopicsDaoImpl();
String tid = request.getParameter("tid");
Topic topic=topicsDao.findTopicByTid(tid);
if(topic!=null){
topicsDao.delTopic(tid);%>
<script type="text/javascript">
alert("删除成功,点击确认返回主题列表!");
location.href="../util/do_topic_list.jsp";
</script>
<%}else{%>
<script type="text/javascript">
alert("主题不存在,请求的tid有误");
location.href="../util/do_topic_list.jsp";
</script>
<%}%>
2. topic_modify.jsp文件中请求地址需要指定为util/do_topic_modify.jsp文件
找到from标签,修改代码
<form action="../util/do_topic_modify.jsp" method="post" οnsubmit="return check()">
3.news_delte.jsp文件代码如下
<%@page import="com.jjzd.news.dao.impl.NewsDaoImpl"%>
<%@page import="com.jjzd.news.dao.NewsDao"%>
<%@page import="com.jjzd.news.dao.impl.TopicsDaoImpl"%>
<%@page import="com.jjzd.news.entity.Topic"%>
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.TopicsDao"%>
<%
request.setCharacterEncoding("UTF-8");
NewsDao newsdao = new NewsDaoImpl();
String nid = request.getParameter("nid");
newsdao.delNews(nid);%>
<script type="text/javascript">
alert("删除成功");
location.href="admin.jsp";
</script>
<script type="text/javascript">
alert("新闻不存在,请求的nid有误");
location.href="admin.jsp";
</script>
4.找到admin.jsp文件,找到ul标签,必须修改为下方代码
在 <ul class="classlist"> 需要修改的代码 </ul> 中修改
<%
List<News> list=( List<News>)session.getAttribute("list");
if(list==null){
response.sendRedirect("../util/do_news_list.jsp");
return;
}else{
session.removeAttribute("list");
int n=0;
for(News tempNew:list){
n++;
%>
<li><%=tempNew.getNtitle() %><span> 作者:<%=tempNew.getNauthor() %>      <a href='news_modify.jsp?author=<%=tempNew.getNauthor() %>&title=<%=tempNew.getNtitle() %>%summary=<%=tempNew.getNsummary() %>&content=<%=tempNew.getNcontent() %>&date=<%=tempNew.getNcreatedate() %>&nid=<%=tempNew.getNid() %>'>修改</a>      <a href='news_delte.jsp?nid=<%=tempNew.getNid() %>' onclick='return clickdel()'>删除</a> </span> </li>
<%if(n%5==0){ %>
<li class='space'></li>
<%}} }%
5. 在news_modify.jsp文件中写入如下代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.TopicsDao"%>
<%@page import="com.jjzd.news.dao.impl.TopicsDaoImpl"%>
<%@page import="com.jjzd.news.entity.Topic"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>修改主题--管理后台</title>
<link href="../css/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%@include file="console_element/top.jsp" %>
<div id="main">
<%@include file="console_element/left.html" %>
<%
TopicsDao dao =new TopicsDaoImpl();
List<Topic> topics =dao.getAllTopics();
String nid = request.getParameter("nid");//这是修改新闻需要根据nid才可以修改
%>
<div id="opt_area">
<h1 id="opt_type"> Benmao写的修改新闻:当前修改的nid为<%= nid %> </h1>
<form action="../util/do_news_modify.jsp?nid=<%=nid %>" method="post">
<p>
<label> 主题 </label>
<select name="ntid">
<%
for(int i=0;i<topics.size();i++){
%>
<option value="<%=topics.get(i).getTid()%>"><%=topics.get(i).getTname()%></option>
<%} %>
</select>
</p>
<p>
<label> 标题 </label>
<input name="ntitle" type="text" class="opt_input" placeholder="请输入修改后的标题"/>
</p>
<p>
<label> 作者 </label>
<input name="nauthor" type="text" class="opt_input" placeholder="请输入修改后的作者"/>
</p>
<p>
<label> 摘要 </label>
<textarea name="nsummary" cols="40" rows="3"></textarea>
</p>
<p>
<label> 内容 </label>
<textarea name="ncontent" cols="70" rows="10"></textarea>
</p>
<!--<p>
<label> 上传图片 </label>
<input name="file" type="file" class="opt_input" />
</p>
-->
<input name="action" type="hidden" value="addnews"/>
<input type="submit" value="修改" class="opt_sub" />
<input type="reset" value="重置" class="opt_sub" />
</form>
</div>
</div>
<div id="footer">
<%@include file="console_element/bottom.html" %>
</div>
</body>
</html>
第四步:找到util文件夹
1.在do_news_delte.jsp写入如下代码(忘了这个文件有用还是没有用)
<%@page import="com.jjzd.news.dao.impl.NewsDaoImpl"%>
<%@page import="com.jjzd.news.dao.NewsDao"%>
<%@page import="com.jjzd.news.dao.impl.TopicsDaoImpl"%>
<%@page import="com.jjzd.news.entity.Topic"%>
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.TopicsDao"%>
<%@page import="com.jjzd.news.dao.NewsDao"%>
<%
request.setCharacterEncoding("UTF-8");
NewsDao newsdao = new NewsDaoImpl();
String nid = request.getParameter("nid");
newsdao.delNews(nid);%>
<script type="text/javascript">
alert("删除成功");
location.href="../util/admin.jsp";
</script>
<script type="text/javascript">
alert("新闻不存在,请求的nid有误");
location.href="../util/admin.jsp";
</script>
2.在do_topic_modify.jsp文件写入如下代码
<%@page import="com.jjzd.news.dao.impl.TopicsDaoImpl"%>
<%@page import="com.jjzd.news.entity.Topic"%>
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.TopicsDao"%>
<%
request.setCharacterEncoding("UTF-8");
TopicsDao topicsDao=new TopicsDaoImpl();
String tid = request.getParameter("tid");
String tname = request.getParameter("tname");
Topic topic=topicsDao.findTopicByTid(tid);
if(topic!=null){
topicsDao.modifyTopic(tname, tid);%>
<script type="text/javascript">
alert("修改成功,点击确认返回主题列表!");
location.href="../util/do_topic_list.jsp";
</script>
<%}else{%>
<script type="text/javascript">
alert("主题不存在,请求的tid有误");
location.href="../util/do_topic_list.jsp";
</script>
<%}%>
3.在do_news_modify.jsp文件写入如下代码
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%@page import="com.jjzd.news.dao.NewsDao"%>
<%@page import="com.jjzd.news.dao.impl.NewsDaoImpl"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="com.jjzd.news.entity.News"%>
<%
request.setCharacterEncoding("utf-8");
NewsDao dao =new NewsDaoImpl();
String ntid=request.getParameter("ntid");
String ntitle=request.getParameter("ntitle");
String nauthor=request.getParameter("nauthor");
String nsummary=request.getParameter("nsummary");
String ncontent=request.getParameter("ncontent");
String nid = request.getParameter("nid");
SimpleDateFormat sf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//初始时间benmao感觉不需要修改
String ncreatedate=sf.format(new Date());
News news=new News(ntid,ntitle,nauthor,nsummary,ncontent,ncreatedate);
dao.modifyNews(news, nid);
%>
<script type="text/javascript">
alert("新闻修改成功,点击确认返回新闻 列表!");
location.href="do_news_list.jsp";
</script>