mysql輸出到頁面MVC模式

來源:互聯網
上載者:User

標籤:insert   birt   generated   lan   creat   下載   介面   輸出   對比   

上一篇文章我提到過在jsp頁面不好

這篇文章講的就是介面和代碼分離,可以初步實現兩個或三個人合作完成一個項目

好,廢話不多說,進正題

這次又四個步驟

第一步,建立項目,建立實體類

第二步,建立資料庫,照著實體類來建資料庫

第三步,建立servlet和jsp(這一步順序不分先後)

 

第一步,照著圖建就好,至於那四個taglibs開頭的包,可以到這裡看:http://www.cnblogs.com/feathe/p/6946750.html

還有一個jdbc的上一篇文章有下載的詳細步驟,這裡就不多說了

 util那個包是自己封裝的(如果自己有改動的話,就用自己的,如果沒有就用我這個名字也行)

類名(ConnManager)代碼如下:

package util;import java.sql.Connection;import java.sql.DriverManager;public class ConnManager {    //資料庫5大參數    private static final String IP = "127.0.0.1";    private static final String PORT = "3306";    private static final String DATABASE_NAME = "one";    private static final String USER_NAME = "root";    private static final String PASSWORD = "123";    private static final String DRIVER = "org.gjt.mm.mysql.Driver";        public static Connection getConnection() throws Exception {        String url = "jdbc:mysql://"+IP+":"+PORT+"/"+DATABASE_NAME+"?user="+USER_NAME+"&password="+PASSWORD+"";        Class.forName(DRIVER);        Connection conn = DriverManager.getConnection(url);        System.out.println("ConnManager已經建立了串連:"+conn);        return conn;    }}

實體類代碼:

類名:Entity.java

package entity;import java.sql.Date;public class Entity {    private Integer id;    private String name;    private Date birt;
public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirt() { return birt; } public void setBirt(Date birt) { this.birt = birt; } }

 

建資料庫代碼(管理員doc介面下操作):

create database one ;use onecreate table inf(id int, nam varchar(20),birt DATE);
insert into inf values(‘1‘,‘一號‘,‘2000-1-1‘),(‘2‘,‘二號‘,‘2000-1-2‘);

insert into inf values(‘3‘,‘三號‘,‘2000-1-3‘),(‘4‘,‘四號‘,‘2000-1-4‘);

select * from inf;

建立jsp,代碼如下:

 jsp名稱(Test.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><table border="1px">    <tr>        <td>編號</td>        <td>名字</td>        <td>出生日期</td>    </tr>    <c:forEach items="${list}" var="a">    <tr>        <td>${a.id }</td>        <td>${a.name }</td>        <td>${a.birt }</td>    </tr>    </c:forEach></table></body></html>

servlet代碼:

名稱(Action.java)

package action;import java.io.IOException;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.sql.Connection;import entity.Entity;import util.ConnManager;@WebServlet("/Action")public class Action extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        try{        Connection co=ConnManager.getConnection();                String sql="select * from inf ";        PreparedStatement pa=co.prepareStatement(sql);        ResultSet rs=pa.executeQuery();        List<Entity> list =new ArrayList<Entity>();        while(rs.next()){            Integer id=rs.getInt("id");            String name=rs.getString("name");            java.sql.Date birt=rs.getDate("birt");                        Entity en=new Entity();            en.setId(id);            en.setName(name);            en.setBirt(birt);            list.add(en);        }        rs.close();        pa.close();        co.close();        request.setAttribute("list", list);        request.getRequestDispatcher("Test.jsp").forward(request, response);        }catch(Exception e){            System.out.println("出現異常"+e.getMessage());//如果報錯的話,這行代碼就起作用了,記得在控制台那裡看一下,會有驚喜的                    }                }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        doGet(request, response);    }}

這就是一個比較完整的項目,接下來就是Run As了,注意     啟動並執行是整個項目,不要運行單獨一個jsp或java,這裡不要,    

如果只是單獨寫了一個java檔案的話,單獨運行一個沒問題。

效果如下:

在前面我有說到初步團隊合作,相信你看到這裡,對團隊合作完成一個項目心裏面有一點思路了。

團隊合作必須要有主心骨,主心骨的決定,隊友要配合,沒有商量。

對於這個項目,我覺得,首先,

隊長先定義一些東西,

資料庫名稱,表名,欄位名和類型,資料庫使用者名稱,密碼,jsp名稱,集合名稱。

把這些東西定義好,差不多就能自己幹自己的那一塊,最後整合代碼,再跑一遍。這是我片面的理解。

詳情如下(老師的提示):

1、首先建模(建立資料庫表以及實體類)
2、搞清楚商務程序,誰跳轉到誰,多少個頁面,多少個類
3、思考好頁面跳轉時,傳遞什麼資料,顯示什麼資料等

4、團隊開發的話,要有組長分配任務,誰做什麼,以及公用約定的變數名需要明確,然後實現同時開發。
5、團隊開發過程,要算時間,統計團隊力量是否大於個人。

 

對比一下,我的還是不全面。

好了,文章到這裡就結束了,希望對你有協助。。。

mysql輸出到頁面MVC模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.