上次做了简单的登陆界面,这次做新闻一级标题的发布,跟之前的结构差不多,挺简单的。
MODEL----DAO-----CONTROL 用的是这个结构。
1.FirstLevelBean 这个就是MODEL部分,对于MODEL还没有完全弄明白,以后再看看
package cn.News.JavaBean;
import java.sql.Date;
public class FirstLevelBean {
private int uid;
private String TitleName;
private String creater;
private Date cteateTime;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getTitleName() {
return TitleName;
}
public void setTitleName(String titleName) {
TitleName = titleName;
}
public String getCreater() {
return creater;
}
public void setCreater(String creater) {
this.creater = creater;
}
public Date getCteateTime() {
return cteateTime;
}
public void setCteateTime(Date cteateTime) {
this.cteateTime = cteateTime;
}
}
2.DBConnection 用于数据库的连接,这部分上一篇已经写过,这里就不在写了。
3.FirstLevelDAO DAO接口,写了一个插入的方法
package cn.News.dao;
import cn.News.JavaBean.FirstLevelBean;
public interface FirstLevelDAO {
public void insert(FirstLevelBean firstLevel);
}
4.FirstLevelDAOImpl 上面接口的具体实现,重写了insert方法
package cn.News.dao.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import cn.News.JavaBean.FirstLevelBean;
import cn.News.dao.FirstLevelDAO;
import cn.News.dbcon.DBConnection;
public class FirstLevelDAOImpl implements FirstLevelDAO {
//发布一级标题
private DBConnection con;
private PreparedStatement pstmt;
private String sql;
public void insert(FirstLevelBean firstLevel) {
con=new DBConnection();
sql="insert into firstleveltitle(Titlename,Creater,CreatTime)"+"values(?,?,?)";
try {
pstmt=con.getCon().prepareStatement(sql);
pstmt.setString(1, firstLevel.getTitleName());
pstmt.setString(2, firstLevel.getCreater());
pstmt.setDate(3, firstLevel.getCteateTime());
pstmt.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
con.closeCon();
}
}
}
4.DAOFactory 获取DAO对象的(依然不太明白Factory,明天要认真看看)
package cn.News.factory;
import cn.News.dao.FirstLevelDAO;
import cn.News.dao.UserDAO;
import cn.News.dao.impl.FirstLevelDAOImpl;
import cn.News.dao.impl.UserDAOImpl;
public class DAOFactory {
//获取DAO对象
public static UserDAO getUserDAOInstance(){
return new UserDAOImpl();//用户登陆
}
public static FirstLevelDAO getFirstLevelDAOInstance(){
return new FirstLevelDAOImpl();//发布一级标题
}
}
5.FirstLevelServlet
package cn.News.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.News.JavaBean.FirstLevelBean;
import cn.News.JavaBean.UserBean;
import cn.News.factory.DAOFactory;
public class FirstLevelServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String titleName=request.getParameter("titlename");
UserBean user=(UserBean)request.getSession().getAttribute("user");
String creater=user.getUsername();
Date date=new Date();
long longTime=date.getTime();
java.sql.Date createTime=new java.sql.Date(longTime);//import的是util中的date,这里要转换一下
FirstLevelBean firstLevel=new FirstLevelBean();
firstLevel.setTitleName(titleName);
firstLevel.setCreater(creater);
firstLevel.setCteateTime(createTime);
DAOFactory.getFirstLevelDAOInstance().insert(firstLevel);
request.getRequestDispatcher("onetitle_success.jsp").forward(request,response);
}
}
今天结束了,明天要做的有:二级新闻发布写完,尽量自己完成。另外搞清楚MVC、Factory、servlet的概念等。继续加油吧!