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
- BlogDemo 底层制作过程自我总结
- keystore制作过程总结
- 开关电源制作过程总结
- bootstrap中常用的一些样式制作(自我总结)
- java 自我知识总结(五)双重循环制作图形
- 对象初始化过程和关于继承方面的自我总结
- 看慕课网节日短信祝福UI自我总结实现过程
- 自我总结
- 自我总结
- 自我总结
- 自我总结
- 自我总结
- 自我总结
- 自我总结。。。
- 自我总结
- 自我总结
- 自我总结
- 自我总结
- Linux内核中Kprobes调试技术的实现
- rails 比较日期年月、数组、返回hash格式的json数据、rails结构体
- 常用的匹配正则表达式和实例
- vb.net在wince中打开应用程序
- C++primer学习-vector中的erase函数
- BlogDemo 底层制作过程自我总结
- ANSI/TIA/EIA部分文档的免费下载秘诀
- 网站应用主题注意的问题
- 单节点多CPU共享内存机器安装MPICH的选项设置
- 什么是BT?
- 实现sqlserver分页查询语句
- [双语阅读]奥巴马夫妇接受奥普拉采访 互比圣诞礼物
- Vbox3.1.0不能mount shared folder(64位系统)
- 深入理解C语言指针的奥秘【转帖】