新闻发布系统(首页)
一.首先建一个web工程,把tomcat容器调好,然后把jdbc的jar包导入
分成架构弄好,如图所示:
.entity层,Dao层,和实现层都和oop一样,层与层进行交互,特别说一下业务逻辑层(servlet)
建一个NewServlet类然后继承HttpServlet从而继承了它的doGet(),doPost()方法在doGet里进行
调用doPost(request, response);
doPost将泛型集合放入request作用域中,然后进行转发。
进入index.jsp获取标题位置进行页面展示,如图所示:
<% List<NewsEntity> list=(List<NewsEntity>)request.getAttribute("list"); for(NewsEntity item:List) { %> <li><a href='newspages/news_read.jsp'> <%=item.getNewsTitle() %> </a><span> <%=item.getNewsCreateDate() %> </span></li> <% } %>
登陆
这是在Servlet里面写的 LoginServlet 登陆方法
1 private ServletRequest session; 2 public void doGet(HttpServletRequest request, HttpServletResponse response) 3 throws ServletException, IOException { 4 doPost(request, response); 5 } 6 public void doPost(HttpServletRequest request, HttpServletResponse response) 7 throws ServletException, IOException { 8 9 try { 10 BaseDao dd=new BaseDao(); 11 String uname=request.getParameter("uname"); 12 String upwd=request.getParameter("upwd"); 13 String sql="select * from user where userName=? and userPwd=?"; 14 Object [] prams={uname,upwd}; 15 ResultSet flag=dd.executeSelect(sql, prams); 16 if(flag.next()) 17 { 18 HttpSession session=request.getSession(); 19 session.setAttribute("unamesession", uname); 20 Cookie cookie=new Cookie("unamesession",uname); 21 cookie.setMaxAge(60*60*24); 22 response.addCookie(cookie); 23 //out.print("<script type='text/javascript'>"+"alert('成功登陆!')"); 24 request.getRequestDispatcher("/newspages/admin.jsp").forward(request, response); 25 } 26 else 27 { 28 response.sendRedirect("/index.jsp"); 29 } 30 } catch (SQLException e) { 31 e.printStackTrace(); 32 } 33 }
这是在jsp主页面上写的跳转
1 <form action="LoginServlet" method="doPost"> 2 <label> 登录名 </label> 3 <input type="text" name="uname" value="" class="login_input" /> 4 <label> 密  码 </label> 5 <input type="password" name="upwd" value="" class="login_input" /> 6 <input type="submit" class="login_sub" value="登录" /> 7 <label id="error"> </label> 8 <img src="images/friend_logo.gif" alt="Google" id="friend_logo" /> 9 </form>
登陆完跳转
接下来是 添加
这是在impl包里的NewsDaoimpl.java获取所有返回的方法
1 //添加 2 public boolean Add(News news) { 3 String sql="INSERT INTO news ( ntid ,ntitle ,nauthor ,ncreatedate ,npicpath ,ncontent ,nmodifydate ,nsummary ) VALUES (?,?,?,?,?,?,?,?)"; 4 Object [] prams={news.getNtid(),news.getNtitle(),news.getNauthor(),news.getNcreatedate(),news.getNpicpath(),news.getNcontent(),news.getNmodifydate(),news.getNsummary()}; 5 boolean flag=executeUpdate(sql,prams); 6 closeAll(); 7 return flag; 8 }
提示:最后在web.xml页面把路径改好。
添加主题
这是在impl包里的NewsDaoimpl.java获取所有返回的方法
1 //添加主题 2 @Override 3 public boolean Addtype(Type type) { 4 String sql="INSERT INTO TYPE(ntname) VALUES(?)"; 5 Object [] prams={type.getNtname()}; 6 boolean flag=executeUpdate(sql, prams); 7 closeAll(); 8 return flag; 9 }
这是添加主题的Servlet类
动态加载新闻主题和新闻分页