---恢复内容开始---
首先 新闻发布会结合了JSP里的Servlet和request对象,response对象还有使用session对象和cookie对象跟踪用户信息等等。。。。。
列表
登陆
这是在Servlet里面写的 LoginServlet 登陆方法
private ServletRequest session;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { try {
BaseDao dd=new BaseDao();
String uname=request.getParameter("uname");
String upwd=request.getParameter("upwd");
String sql="select * from user where userName=? and userPwd=?";
Object [] prams={uname,upwd};
ResultSet flag=dd.executeSelect(sql, prams);
if(flag.next())
{
HttpSession session=request.getSession();
session.setAttribute("unamesession", uname);
Cookie cookie=new Cookie("unamesession",uname);
cookie.setMaxAge(**);
response.addCookie(cookie);
//out.print("<script type='text/javascript'>"+"alert('成功登陆!')");
request.getRequestDispatcher("/newspages/admin.jsp").forward(request, response);
}
else
{
response.sendRedirect("/index.jsp");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
这是在jsp主页面上写的跳转
<form action="LoginServlet" method="doPost">
<label> 登录名 </label>
<input type="text" name="uname" value="" class="login_input" />
<label> 密&#;&#;码 </label>
<input type="password" name="upwd" value="" class="login_input" />
<input type="submit" class="login_sub" value="登录" />
<label id="error"> </label>
<img src="data:images/friend_logo.gif" alt="Google" id="friend_logo" />
</form>
登陆完跳转
接下来是 添加
这是在impl包里的NewsDaoimpl.java获取所有返回的方法
//添加
public boolean Add(News news) {
String sql="INSERT INTO news ( ntid ,ntitle ,nauthor ,ncreatedate ,npicpath ,ncontent ,nmodifydate ,nsummary ) VALUES (?,?,?,?,?,?,?,?)";
Object [] prams={news.getNtid(),news.getNtitle(),news.getNauthor(),news.getNcreatedate(),news.getNpicpath(),news.getNcontent(),news.getNmodifydate(),news.getNsummary()};
boolean flag=executeUpdate(sql,prams);
closeAll();
return flag;
}
这个是添加的Servlet类
public class AddServlet extends HttpServlet {
public AddServlet() {
super();
}
public void destroy() {
super.destroy(); }
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getMethod().equals("GET"))
{
request.getRequestDispatcher("newspages/news_add.jsp").forward(request, response);
}
else
{
String path=request.getContextPath();
String Basepath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/";
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
HttpSession session=request.getSession();
boolean flag=false;
try {
List<News> list=(List<News>) FormUtil.assembleObjectList(request, News.class);
News news= list.get(); news.setNtid(request.getParameter("ntid"));
news.setNtitle(request.getParameter("ntitle"));
news.setNauthor(request.getParameter("nauthor"));
news.setNcreatedate(request.getParameter("nsummaryTime"));
news.setNpicpath(request.getParameter("file"));
news.setNcontent(request.getParameter("ncontent"));
NewsDaoimpl dao=new NewsDaoimpl();
flag=dao.Add(news);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag)
{
response.sendRedirect(path+"/newspages/admin.jsp");
}
else
{
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}
} }
接下来这个是添加的jsp
<form action="<%=request.getContextPath()%>/AddServlet" method="post">
<p>
<label> 主题 </label>
<select name="ntid">
<%--
<c:forEach var="item" items="${typelist} }">
<option value=""> ${item.ntname} </option>
</c:forEach>
--%> <option value="">选择</option>
<option value=''> 国内 </option>
<option value=''> 国际 </option>
<option value=''> 军事 </option>
<option value=''> 体育 </option>
<option value=''> 娱乐 </option>
<option value=''> 社会 </option>
<option value=''> 财经 </option>
<option value=''> 科技 </option>
<option value=''> 健康 </option>
<option value=''> 汽车 </option>
<option value=''> 教育 </option>
<option value=''> 房产 </option>
<option value=''> 家居 </option>
<option value=''> 旅游 </option>
<option value=''> 文化 </option>
<option value=''> 其他 </option>
</select>
</p>
<p>
<label> 标题 </label>
<input name="ntitle" type="text" class="opt_input" />
</p>
<p>
<label> 作者 </label>
<input name="nauthor" type="text" class="opt_input" />
</p>
<p>
<label> 时间 </label>
<%--<textarea name="nsummary" cols="" rows=""></textarea>--%>
<input id="meeting" type="date" value="2015-11-10" name="nsummaryTime"/>
</p>
<p>
<label> 内容 </label>
<textarea name="ncontent" cols="" rows=""></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" action="NewsAddServlet" method="doPost" />
<input type="reset" value="重置" class="opt_sub" />
</form>
添加主题
这是在impl包里的NewsDaoimpl.java获取所有返回的方法
//添加主题
@Override
public boolean Addtype(Type type) {
String sql="INSERT INTO TYPE(ntname) VALUES(?)";
Object [] prams={type.getNtname()};
boolean flag=executeUpdate(sql, prams);
closeAll();
return flag;
}
这是添加主题的Servlet类
public class TypezhuAddServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getMethod().equals("GET"))
{
request.getRequestDispatcher("newspages/news_add.jsp").forward(request, response);
}
else
{
String path=request.getContextPath();
request.setCharacterEncoding("UTF-8");
boolean flag=false;
try {
List<Type> list=(List<Type>) FormUtil.assembleObjectList(request, Type.class);
Type type=list.get();
type.setNtname(request.getParameter("ntname"));
NewsDaoimpl dao=new NewsDaoimpl();
flag=dao.Addtype(type);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
if(flag)
{
response.sendRedirect(path+"/newspages/admin.jsp");
}
else
{
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}
} }
添加主题的jsp
<div id="opt_area">
<h1 id="opt_type"> 添加主题: </h1>
<form action="<%=request.getContextPath()%>/TypezhuAddServlet" method="post" onsubmit="return check()"> <p>
<label> 主题名称 </label>
<input name="ntname" type="text" class="opt_input" id="tname"/>
</p>
<input name="action" type="hidden" value="addtopic"/>
<input type="submit" value="提交" class="opt_sub" />
<input type="reset" value="重置" class="opt_sub" />
</form>
</div>
</div>
动态加载新闻主题和新闻分页
这是在impl包里的NewsDaoimpl.java获取所有返回的方法
//分页查询
public List<News> selectNews() {
QueryRunner query=new QueryRunner(); String sql="SELECT * FROM news WHERE nid LIMIT 3";
List<News> list=null;
try {
list = query.query(getConnection(), sql,new BeanListHandler<News>(News.class));
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
/*
* 根据新闻类型编号查询新闻
*/
public List<News> selectNewsByTypeid(int tid) {
QueryRunner query=new QueryRunner();
String sql="select * from news where ntid=?";
List<News> list=null;
try {
list = query.query(getConnection(), sql, new BeanListHandler<News>(News.class),tid);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
这是分页和动态主题的Servlet
public class TypeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
NewsDaoimpl dao=new NewsDaoimpl();
List<Type> list = dao.type();
request.setAttribute("typelist",list); String date= request.getParameter("tid");
if(date!=null && date.equals(""))
{
int tid=Integer.parseInt(date);
NewsDaoimpl newsdao=new NewsDaoimpl();
List<News> listdao=newsdao.selectNewsByTypeid(tid);
request.setAttribute("newslist", listdao);
}
else
{
NewsDaoimpl topdao=new NewsDaoimpl();
List<News> newslist=topdao.selectNews();
request.setAttribute("newslist", newslist);
} request.getRequestDispatcher("/index.jsp").forward(request, response);
} }
主页的jsp
<div class="main">
<div class="class_type"> <img src="data:images/class_type.gif" alt="新闻中心" /> </div>
<div class="content">
<ul class="class_date">
<li id='class_month'> <c:forEach var="item" items="${typelist}">
<a style="color:pink;" href='${pageContext.request.contextPath}/TypeServlet?tid=${item.ntid}'>
${item.ntname}
</a>
</c:forEach>
</li>
</ul>
<ul class="classlist">
<c:forEach var="item" items="${newslist}">
<li><a href='newspages/news_read.jsp'>${item.ntitle }</a><span>${item.ncreatedate }</span></li>
</c:forEach>
<p align="right"> 当前页数:[/] <a href="#">下一页</a> <a href="#">末页</a> </p>
</ul>
</div>
待续、、