---恢复内容开始---

首先 新闻发布会结合了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"> 当前页数:[/]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p>
</ul>
</div>

待续、、

JSP 新闻发布会的更多相关文章

  1. JSP丶新闻发布会系统

    新闻发布会 项目所需要的一些实现类 servlet 工具类 1.实现登录功能 前端界面的代码 <form action="<%=path %>/LonginServlet& ...

  2. 图零直播新闻发布会—TOLINK2.0全面上线

    在网络直播时代和现代信息技术条件下,教务管理正在由传统管理方式向数字化管理模式转变.教务管理创新需要现代信息技术来实现,使得教务管理的质量和效率得到了质的飞跃.图零直播,中国IT在线直播教育引领者,在 ...

  3. 江西省移动物联网发展战略新闻发布会举行-2017年10月江西IDC排行榜与发展报告

    编者按:当人们在做技术创新时,我们在做“外包产业“:当人们在做制造产业,我们在做”服务产业“:江人们在做AI智能时,我们在做”物联网“崛起,即使有一个落差,但红色热土从不缺少成长激情. 本期摘自上月初 ...

  4. JSP新闻发布系统

    1.主页面 1.1登录 1.2    分页 2.注销 3.代码如下 package cn.news.dao.impl; import java.sql.SQLException; import org ...

  5. JSP新闻显示

    MYSQL数据库创建新闻表,用户登陆时使用SERVLET获取用户名,效验通过后直接跳转新闻列表页面,JSP使用EL显示新闻列表 1.首先创建数据库及用户.新闻表 CREATE DATABASE /*! ...

  6. 爬虫技术 -- 进阶学习(十)网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

    最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...

  7. 【技术贴】大型发布会现场的WiFi网络应该如何搭建?

    WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个AP带宽会由于AP之间的竞争而 迅速使带宽下降为几乎不可用.实际上这个问题完全可以写一本书了 ...

  8. 网易新闻页面信息抓取 -- htmlagilitypack搭配scrapysharp

    最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...

  9. 大型发布会现场的 Wi-Fi 应该如何搭建(密集人群部署wifi抗干扰)?

    原文连接: http://www.zhihu.com/question/20890194 WiFi网络的部署要远远比一般人想象的复杂,不是说放上几十个AP带宽就自动增加几十倍,恰恰相反,简单放几十个A ...

随机推荐

  1. shell下>和>>的区别

    >  :如果文件不存在,同上,如果文件存在,先将文件清空,然后将数据填入此文件 >> :如果文件不存在,将创建新的文件,并将数据送至此文件:如果文件存在,则将数据添加在文件后面

  2. 【oracle】oracle学习笔记2--scoot账户的激活与解锁

    1.用sysz账户as sysddba登录,并执行scott.sql文件.我的文件目录是C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin ...

  3. 7 -- Spring的基本用法 -- 6...

    7.6 Spring 3.0 提供的Java配置管理 Spring 允许使用Java类进行配置管理,可以不使用XML来管理Bean,以及Bean之间的依赖关系. Interface :Person p ...

  4. 学习ios【1】Objective-C 基本语法

    一 了解一下,找参考资料 1.看书学习object-c语法,第一本看的是<objective-c程序设计>. 2.官网:https://developer.apple.com/librar ...

  5. 生活life

    1.想办法努力挣钱,而不是如何省钱. 2.再愤怒也不大吼大叫,保持冷静. 3.喜欢的东西自己努力赚钱买. 4.少说多做,能站不坐,适当运动. 5.不要认为找个有钱男人就什么都有了.世界上年轻的女孩子, ...

  6. 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)

    1.艺萌文件上传下载及自动更新系统,基于Winform技术,采用CS架构,开发工具为vs2010,.net2.0版本(可以很容易升级为3.5和4.0版本)开发语言c#. 本系统主要帮助客户学习基于TC ...

  7. BookRent借阅管理

    最近整了个BookRent的小应用,单机版.连本地sqlite db.wpf界面,其中涉及到一些有趣的小功能和小坑,简单小结一下. 项目结构是wpf ui->view model->rep ...

  8. DeepLearning之路 (五) CNN

    自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet.cuda-convnet2. ...

  9. 解决远程连接mysql错误1130代码的方法

    命令行登陆 mysql -uroot -p 输入密码后登陆 use mysql;   select host,user from user ;     grant allon *.*to root i ...

  10. 使用 MySQL 查找附近的位置

    使用 MySQL 查找附近的位置 以下 SQL 语句将会在与坐标 37, -122 相距 25 英里的半径范围内查找最近的 20 个位置.该语句根据行的纬度/经度以及目标纬度/经度计算距离,然后只请求 ...