RiKeR

          本博客停止更新,最新內容請訪問--> http://blog.csdn.net/shuailee

          統計

          留言簿(3)

          積分與排名

          閱讀排行榜

          評論排行榜

          我做的第二個MVC項目的小結(完結篇)

           

                 1list.jsp==>新建一個ServletDeleteServlet.java,此時仍用doPost方法接收(點擊按鈕)

          package org.riker.news.control;

           

          import java.io.IOException;

          import java.io.PrintWriter;

           

          import javax.servlet.ServletException;

          import javax.servlet.http.HttpServlet;

          import javax.servlet.http.HttpServletRequest;

          import javax.servlet.http.HttpServletResponse;

           

          import org.riker.news.data.NewsDataBean;

          import org.riker.news.logic.NewsLogicBean;

           

          public class DetailServlet extends HttpServlet {

           

                 /**

                  * Constructor of the object.

                  */

                 public DetailServlet() {

                        super();

                 }

           

                 /**

                  * Destruction of the servlet. <br>

                  */

                 public void destroy() {

                        super.destroy(); // Just puts "destroy" string in log

                        // Put your code here

                 }

           

                 /**

                  * The doPost method of the servlet. <br>

                  *

                  * This method is called when a form has its tag value method equals to post.

                  *

                  * @param request the request send by the client to the server

                  * @param response the response send by the server to the client

                  * @throws ServletException if an error occurred

                  * @throws IOException if an error occurred

                  */

                 public void doPost(HttpServletRequest request, HttpServletResponse response)

                               throws ServletException, IOException {

           

                        String newsid = request.getParameter("newsid");

                        NewsDataBean bean = new NewsLogicBean().detail(newsid);

                        if(bean!=null) {

                               request.setAttribute("bean",bean);

                               request.getRequestDispatcher("main/detail.jsp").forward(request, response);

                        } else {

                               request.getRequestDispatcher("main/error.jsp").forward(request, response);

                        }

                       

                 }

           

                 /**

                  * Initialization of the servlet. <br>

                  *

                  * @throws ServletException if an error occure

                  */

                 public void init() throws ServletException {

                        // Put your code here

                 }

           

          }

           

          2NewsLogicBean.java,寫公共的,修改relevant,寫deleteNews()方法

          package org.riker.news.logic;

           

          import java.sql.Connection;

          import java.sql.ResultSet;

          import java.sql.SQLException;

          import java.sql.Statement;

          import java.util.ArrayList;

          import java.util.List;

           

          import org.riker.news.comm.DataSource;

          import org.riker.news.data.NewsDataBean;

           

          public class NewsLogicBean {

                 private int allRows;

                 private int curPage = 1;

                 private int rowPerPage = 5;

                 private int allPages;

           

                 public List findAll() {

                        List list = new ArrayList();

                        Statement st = null;

                        ResultSet rs = null;

                        try {

                               st = DataSource.getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

                               rs = st.executeQuery("select newsid, newstitle, newscontent, newscount, newsdate from news order by newsdate desc");

                               rs.last();

                               this.allRows = rs.getRow();

                               if(this.allRows%this.rowPerPage==0) {

                                      this.allPages = this.allRows/this.rowPerPage;

                               } else {

                                      this.allPages = this.allRows/this.rowPerPage + 1;

                               }

                               if(this.curPage == 1) {

                                      rs.beforeFirst();

                               } else {

                                      rs.absolute((this.curPage - 1) * this.rowPerPage);

                               }

                               int i = 0;

                               while(rs.next() && i < this.rowPerPage) {

                                      NewsDataBean bean = new NewsDataBean();

                                      bean.setNewsid(rs.getString(1));

                                      bean.setNewstitle(rs.getString(2));

                                      bean.setNewscontent(rs.getString(3));

                                      bean.setNewscount(rs.getString(4));

                                      bean.setNewsdate(rs.getString(5));

                                      list.add(bean);

                                      i++;

                               }

                        } catch (SQLException e) {

                               e.printStackTrace();

                        }

                        return list;

                 }

                

                 public int insertNews(String newsTitle, String newsContent) {

                       

                        return modify("insert into news(newstitle, newscontent, newscount, newsdate) values ('"+newsTitle+"', '"+newsContent+"', 0, now()");

           

                 }

                

                 public int modify(String sql) {

                        int result = 0;

                        Statement st = null;

                        try {

                               st = DataSource.getConnection().createStatement();

                               result = st

                                             .executeUpdate(sql);

           

                        } catch (Exception e) {

                               // TODO: handle exception

                        } finally {

                               try {

                                      st.close();

                               } catch (SQLException e) {

                                      // TODO Auto-generated catch block

                                      e.printStackTrace();

                               }

                        }

                       

                        return result;

                 }

                

                 public int deleteId(String newsid) {

                        return modify("delete from news where newsid="+newsid);

                 }

                

                 public int updateNews(String newsid, String newsTitle, String newsContent) {

                        return modify("update news set newstitle='"+newsTitle+"', newscontent='"+newsContent+"' where newsid="+newsid);

                 }

                

                 public NewsDataBean findById(String newsid) {

                        NewsDataBean bean = new NewsDataBean();

                        Statement st = null;

                        ResultSet rs = null;

                        try {

                               st = DataSource.getConnection().createStatement();

                               rs = st.executeQuery("select newsid, newstitle, newscontent, newscount, newsdate from news where newsid=" + newsid);

                               rs.last();

                              

                               if(rs.next() ) {

                                      bean.setNewsid(rs.getString(1));

                                      bean.setNewstitle(rs.getString(2));

                                      bean.setNewscontent(rs.getString(3));

                                      bean.setNewscount(rs.getString(4));

                                      bean.setNewsdate(rs.getString(5));

                               }

                        } catch (SQLException e) {

                               e.printStackTrace();

                        }

                        return bean;

                 }

                

                 public NewsDataBean detail(String newsid) {

                        NewsDataBean bean = new NewsDataBean();

                        Statement st = null;

                        ResultSet rs = null;

                        try {

                               st = DataSource.getConnection().createStatement();

                               st.executeUpdate("update news set newscount=newscount+1 where newsid="+newsid);

                               rs = st.executeQuery("select newsid, newstitle, newscontent, newscount, newsdate from news where newsid=" + newsid);

                               rs.last();

                              

                               if(rs.next() ) {

                                      bean.setNewsid(rs.getString(1));

                                      bean.setNewstitle(rs.getString(2));

                                      bean.setNewscontent(rs.getString(3));

                                      bean.setNewscount(rs.getString(4));

                                      bean.setNewsdate(rs.getString(5));

                               }

                        } catch (SQLException e) {

                               e.printStackTrace();

                        }

                        return bean;

                 }

                

                 public static void main(String[] args) {

                        List list = new NewsLogicBean().findAll();

                        System.out.println(list.size());

                 }

           

                 public int getCurPage() {

                        return curPage;

                 }

           

                 public void setCurPage(int curPage) {

                        this.curPage = curPage;

                 }

           

                 public int getAllPages() {

                        return allPages;

                 }

           

                 public int getAllRows() {

                        return allRows;

                 }

           

                 public int getRowPerPage() {

                        return rowPerPage;

                 }

           

          }

           

                 3DeleteServlet.java,去COPY過來跳轉的語

           

          句。==>查看新聞詳細,中間,新建DetailServlet.java,注意此時為doGet

           

          地址欄的提交)==>NewsLogicBean.javaCOPY上面Insertpublic

           

          NewsDataBean detail(String newsid) {}==>DetailServlet.javaCOPY過來

           

          FindByIdServlet.javaNewsDataBean bean = new NewsLogicBean

           

          ().findById(newsid)modified it==>

          package org.riker.news.control;

           

          import java.io.IOException;

          import java.io.PrintWriter;

           

          import javax.servlet.ServletException;

          import javax.servlet.http.HttpServlet;

          import javax.servlet.http.HttpServletRequest;

          import javax.servlet.http.HttpServletResponse;

           

          import org.riker.news.data.NewsDataBean;

          import org.riker.news.logic.NewsLogicBean;

           

          public class DetailServlet extends HttpServlet {

           

                 /**

                  * Constructor of the object.

                  */

                 public DetailServlet() {

                        super();

                 }

           

                 /**

                  * Destruction of the servlet. <br>

                  */

                 public void destroy() {

                        super.destroy(); // Just puts "destroy" string in log

                        // Put your code here

                 }

           

                 /**

                  * The doPost method of the servlet. <br>

                  *

                  * This method is called when a form has its tag value method equals to post.

                  *

                  * @param request the request send by the client to the server

                  * @param response the response send by the server to the client

                  * @throws ServletException if an error occurred

                  * @throws IOException if an error occurred

                  */

                 public void doPost(HttpServletRequest request, HttpServletResponse response)

                               throws ServletException, IOException {

           

                        String newsid = request.getParameter("newsid");

                        NewsDataBean bean = new NewsLogicBean().detail(newsid);

                        if(bean!=null) {

                               request.setAttribute("bean",bean);

                               request.getRequestDispatcher("main/detail.jsp").forward(request, response);

                        } else {

                               request.getRequestDispatcher("main/error.jsp").forward(request, response);

                        }

                       

                 }

           

                 /**

                  * Initialization of the servlet. <br>

                  *

                  * @throws ServletException if an error occure

                  */

                 public void init() throws ServletException {

                        // Put your code here

                 }

           

          }

           

                 4、用insert.jsp復制新建detail.jsp,引

           

          NewsDataBean Package,寫標簽 <jsp:useBean id="news"

           

          class="org.riker.news.logic.NewsLogicBean"/>,這么做沒必要!!WHY

          因為DetailServlet.javarequest.setAttribute("bean",bean);已經放入

           

          bean了,所以直接NewsDataBean bean = (NewsDataBean)

           

          request.getAttribute("bean");注意request.getAttribute("bean"),然后格

           

          式化,更美觀些,用JavaScript返回,<a href="javascript:history.back

           

          ()">返回</a>

           

          <%@ page contentType="text/html;charset=GBK" import="org.riker.news.data.*"%>

           

          <html>

           <head>

             

              <title></title>

             

           </head>

           <body>

           <%

            NewsDataBean bean = (NewsDataBean)request.getAttribute("bean");

           %>

            <h2 align="center">

            <%=bean.getNewstitle()%>               發布時間:<%=bean.getNewsdate()%>

            </h2>

            <%=bean.getNewscontent()%>點擊的次數:<%=bean.getNewscount()%>

           <hr>

           

              <a href="javascript:history.back()">返回</a>

           

           

           </div>

           </body>

          </html>

           

          posted on 2007-08-28 18:37 RiKeR 閱讀(285) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 德格县| 临海市| 永顺县| 定陶县| 酉阳| 道真| 贵州省| 揭阳市| 大新县| 额尔古纳市| 收藏| 红桥区| 巍山| 大英县| 大城县| 扶绥县| 婺源县| 永德县| 肇源县| 田东县| 丰宁| 清苑县| 西林县| 保山市| 宜兰市| 孙吴县| 弋阳县| 南安市| 宜昌市| 肇庆市| 贺州市| 宣恩县| 安义县| 栖霞市| 光泽县| 桦南县| 子洲县| 津市市| 平山县| 石河子市| 连平县|