BlogDemo 底层制作过程自我总结

来源:互联网 发布:淘宝店铺软文怎么写 编辑:程序博客网 时间:2024/05/22 14:16

1.系统环境的配置

     我使用的是《 MyEclipse_6.0GA_E3.3_FullStackInstaller.exe》首先是把它安装到我的电脑上,就不细讲了,按照上面的说明步骤做就OK了。

2.创建一个典型的Web Project

   步骤:1)File->New->Web Project

            2)输入项目名称Blog,选择Java EE 5.0 ,Finish。  OK一个新的Web Project就建好了。

3.项目的技术选择

  1)DB:MySQL

  2)java数据库连接:JDBC(Java Data Base Connectivity)

           这需要把准备好的jar文件(mysql-connector-java-3.1.7-bin.jar  mysql连接jdbc的驱动包)放置项目的classpath里

          步骤:1>手动在项目中建立第三方包文件夹,将jar包拷贝进去 

                        Blog(右键)->New->Folders->(输入文件夹名称)3rdLib;然后把jar包拷贝进去就哦了

                   2>通过Blog(右键)->属性(Properties)->JavaBuildPath->Libraries-> Add JARs(追加Jar)   OK啦~

  3)struts技术,选择1.2版本

       为项目添加struts特性

       步骤1>Blog(右键)->MyEclipse->Add Struts Capabilities

             2>配置struts包,e.g:  com.swwp.bipt.blog.struts

                                               con.swwp.bipt.blog.ApplicationResources 

              3>ok 了,与此同时系统自动生成struts-config.xm

  4)Web 程序 运行必须遵循J2EE 规范:JSP 规范、Sevlet规范;
      Web App  不同于普通的Java应用程序;
      Java  运行于 JVM ;
      WEB: 运行于一个遵循了J2EE的WEB 容器container 比如:Tomcat

      -----------在webRoot下有一个WEB-INF/web.xml  是web启动的入口

 

 4.准备工作都做好了,下面就开始做了。

    1)创建库表:e.g   DataBase--Blog,Table--User,Topic,Comment    

    2)创建连接,编写JDBC连接的Java代码

                    connection by DriverManager

             通常为了使我们的连接类能被共用,一般抽取一个JdbcUtil.java类(实现注册和得到连接器的方法)把URL,JDBC驱动的名称等放到一个Constants.java类中,并用static定义为常量

      例如我的Contants.java


package com.swwp.bipt.blog.util;


public class Constants{
 public static final String dbdriver = "com.mysql.jdbc.Driver";
 public static final String dburl =
  "jdbc:mysql://localhost:3306/blog?" +
  "
user=lhy&password=lhy@1314&useUnicode=true&characterEncoding=gbk";
}

 

 

 

 

JdbcUtil.java


package com.swwp.bipt.blog.util;

import java.sql.Connection;
import java.sql.DriverManager;

public class JdbcUtil{

 public static Connection getDirectConn(){
  Connection conn = null;
   try {
    Class.forName(Constants.dbdriver).newInstance();
    conn = DriverManager.getConnection(Constants.dburl);
   }catch(Exception e){
    e.printStackTrace();
   }
   return conn;
 }

 

  3) 编写普通JavaBean类,对应表结构的User.java;Topic.java;Comment.java

          这些类通常包括属性,和get(),set()方法,还有空构造方法和带参的构造方法 

          通常还要override  toString(),hashcode(),equals()方法

   4)定义DAO接口,包括方法的声明;

   5)实现类JdbcDao

         通过调用JDBC的相关方法来访问数据库, 完成增删改查

         1》查询Query

               首先通过JdbcUtil.getCon()方法获得连接器connector

               准备一条Sql语句 e.g:String sql = "select  * from User"

               Statement stmt = con.createStatement();Create一个Statement

               Result rs = stmt.executeQuery(sql);用结果集来存放查询出来的语句

               遍历rs 把结果集封装到JavaBean中

                            while(rs.next()){

                                             int id = rs.getInt("userId");

                                                              ...

                                              User user = new User(id,...);

                              再用一个集合例如List,ArrayList来装,List users = new ArrayList();

                                                                                                         users.add(user);

                             }

                       补充:要注意异常,try{ }catch(){ };同下面

                                             

               注意:拼接sql语句时候,sql关键字之间要有空格,

                            小技巧:where 后面通常写上1=1防止and冲突

              也可以用PreparedStatement语句

                      准备好一个带问号?的sql语句,e.g: String sql = "select * from User where id = ?"

                       查询条件你可以根据外部调用方法传入的参数来配置pstmt.setInt(1,"521");

                        pstmt.executeUpdate();

           2》SAVE (add  和 update)

       同上,首先要获得连接器connector                  
       con;
      create  :preparedStatement  ps;
   准备 sql语句 :  String sql  = “insert into tableName(fieldName2,3,4) values(?,?,?) ”
                                  String usql  = “update  tableName set fieldName = ? "
                                                                  += "where id = ? ”
       
       try{
       Save (Topic t)
       ps.setString(t.getName());
       ps.setString(t.getBody());
       
       ps.executeUpdate(); 
       }catch(SQLException sqle){
       // to do
       }finally{
       // close resource;
       }
       
 9  设计业务逻辑接口和实现类:
     定义 Biz Logic Interface

e.g:

       public interface IBlogManager{
 
                public List<User> getAllUser();

 

 

}
     实现 接口 类,

     DAO dao = new JdbcDAO();
     dao.save();dao.select();

              e.g:

                    public class DefaultBlogManager {

                            public List<User> getAllUsers(){
                                   UserDao userDao = new JdbcUserDao();
                                   return userDao.getAll();
                             }

                      }


     
     为同类的业务逻辑设计一个统一Facade 类
    
 10、编写普通的Java类来测试业务逻辑方法;static main()
 ===================================================*******
 
 11 编写wEB 相关的文件:
       web.xml
       Struts:  FormBean /Action /struts-config.xml
       JSP (HTML + Struts 标签)共同完成
       
       

       
 12. debug /????  deploy 部署 开发环境部署、生产环境部署;
 
        Log
   

 

                      

                        

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鸵鸟攻击人的话怎么办 不想去德育基地怎么办? 小学一年级成绩不好怎么办 初中军训来月经怎么办 ie网页无响应怎么办 ie9浏览器无响应怎么办 电脑没ie浏览器怎么办 ie浏览器删掉了怎么办 素质拓展分不够怎么办 想承包学校军训怎么办 军训完晒黑了怎么办 完美动力忽悠人怎么办 wlan密码忘了怎么办 孩子多动怎么办呢 孩子性格太内向怎么办 孩子脾气暴躁易怒怎么办 小孩有点叛逆应怎么办 小孩太叛逆怎么办关住 对不听话的孩子怎么办 孩子在学校不听话怎么办 孩子叛逆不回家怎么办 孩子厌学怎么办青春期叛逆 孩子青春期叛逆家长怎么办 孩子老哭不听话怎么办 8岁宝宝不听话怎么办 儿孑不听话叛逆怎么办 孩子太小不听话怎么办 得了只有很紧张怎么办 内向的妈妈孩子怎么办 对孩子没有耐心怎么办 孩子心理有问题怎么办 孩子心里有问题怎么办 父母打架我该怎么办 爸爸妈妈要离婚怎么办 父母吵架怎么办动手了 父母因为钱吵架怎么办 父母吵架孩子该怎么办 特别倔强的孩子怎么办 孩子胆小不自信怎么办 孩子不自信家长怎么办 二年级孩子厌学怎么办