您的位置:首页 > 其它

浅谈做web项目的一般步骤(根据新闻发布系统)

2015-10-15 18:46 363 查看
1创建数据库,并且检出相应的数据表,数据库一般用db开头,数据表一般用tb-开头。

2创建web项目(在myeclipse中),创建出相应的包名,com.**DBUtil(主要存放的是连接数据库的类),com.**.bean(主要存放的是实体类梦里面包含属性和get(),set()),com.**.dao(主要存放的是接口和实现接口的方法),com.**.seervelt(主要存放servelt)

3在bean包中写属性和get(),set()方法;

4在dao包中写它的接口并实现它的所有接口方法,根据编码规范一般实现方法方法名为接口名+Impl;下面是我写的新闻类别的方法(增删改查都大同小异,以更新查找为例)

package Dao;

import java.sql.*;

import java.util.ArrayList;

import java.util.List;

import DBUtil.Butil;

import bean.News;

public  class NdaoImpl implements Ndao {

/

@Override
public int updateNews(News nt) {
Connection conn = null;//连接对象
PreparedStatement pstmt = null;//参数化执行对象
int result = 0; //数据库操作影响的行数(增删改相同)
String sql = "update NRS_TYPE set T_Id=? ,T_name=?,T_MEMO=? where T_ID=?";
try {
//1获得连接
conn = Butil.getConn();
//2创建执行对象
pstmt = conn.prepareStatement(sql);
//给参数赋值
pstmt.setInt(1, nt.getT_Id());
pstmt.setString(2, nt.getT_NAME());
pstmt.setString(3, nt.getT_MEMO());
pstmt.setInt(4, nt.getT_Id());

           //4执行
result = pstmt.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally{
//关闭资源
Butil.closeStatement(pstmt);
Butil.closeConn(conn);
}
return result;
}

public List checkNews() {
// TODO Auto-generated method stub
Connection conn = null;// 连接对象
Statement stmt = null;// 参数化执行对象
ResultSet s = null;

List<News> list = new ArrayList<News>();
String sql = "SELECT * FROM NRS_TYPE";
System.out.println(sql);
try {
conn = Butil.getConn();
stmt = conn.createStatement();
s = stmt.executeQuery(sql);// executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象
while (s.next()) {
//java.util.Date d=new java.util.Date (s.getDate(7).getTime());
News nt = new News();
nt.setT_ID(s.getInt(1));
nt.setT_NAME(s.getString(2));
nt.setT_MEMO(s.getString(3));

list.add(nt);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Butil.closeResultSet(s);
Butil.closeStatement(stmt);
Butil.closeConn(conn);
}
return list;
}

}

5设计前台界面,包括JS,CSS,DIV,其中JS用来进行表单验证,对内容进行初步验证,其中JS是一种弱语言,定义方法用function,定义变量用var。

6创建servlet,用来进行获取前台数据面对数据进行过滤和封装的功能。下面是我写的servlet的代码:

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import bean.News;

import Dao.NdaoImpl;

import Dao.NdaoImpl;

public class NServelt extends HttpServlet {
//声明一个构造方法
public NServelt(){
super();
}//声明一个回收方法
public  void destory(){
super.destroy();

}

/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.

* @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 doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
out.print("    This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}

/**
<
4000
/span>* 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 {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String method = request.getParameter("method");
if(method.equals("addNews")){
addNews(request,response);
}else if(method.equals("updateNews")){
updateNews(request,response);

}else if(method.equals("deleteNews")){
deleteNews(request,response);

}else if(method.equals("checKNews")){
checkNews(request,response);
}
}
//查找
private void checkNews(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
String t_id=request.getParameter("id");//获取前台数据
System.out.println(t_id);
NdaoImpl nDao =new NdaoImpl();//根据ID查找
if(t_id != ""){
List list =nDao.checkNews();
HttpSession session = request.getSession(); 
try {
response.sendRedirect("order_3_2.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
session.setAttribute("list",list);
//传递到页面
}
else{
List list =nDao.checkNews();
HttpSession session = request.getSession(); 
try {
response.sendRedirect("order_3_2.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
session.setAttribute("list",list);
//传递到页面
}

}
//
private void deleteNews(HttpServletRequest request,
HttpServletResponse response) {

// TODO Auto-generated method stub
int NID=Integer.parseInt(request.getParameter("id")
);

NdaoImpl nes =new NdaoImpl();
int raw = nes.deleteNews(NID);
if(raw==1){
try {
response.sendRedirect("deleteNews.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("删除失败");
}
}
private void updateNews(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
String t_id=request.getParameter("id");//获取前台数据
String NewsNAME=request.getParameter("name");
String NewsMEMO=request.getParameter("memo");
int NewsID=Integer.parseInt(t_id);
NdaoImpl nDao=new NdaoImpl();
News news=new News();
news.setT_ID(NewsID);
news.setT_NAME(NewsNAME);
news.setT_MEMO(NewsMEMO);
int row = nDao.updateNews(news);
if(row!=0){
try {
response.sendRedirect("sys2.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("操作失败");
}

}
private void addNews(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
System.out.println("调用了添加新闻类别");
String t_id=request.getParameter("id");//获取前台数据
String NewsNAME=request.getParameter("name");
String NewsMEMO=request.getParameter("memo");
int NewsID=Integer.parseInt(t_id);
NdaoImpl nDao=new NdaoImpl();
News news=new News();
news.setT_ID(NewsID);
news.setT_NAME(NewsNAME);
news.setT_MEMO(NewsMEMO); 
int raw =nDao.addNews(news);
if(raw==1){
try {
response.sendRedirect("addNews.jsp");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("添加失败");
}
}

}

servlet是前台和后台沟通的桥梁,需要仔细编写,一般是先获取前台数据,用getParemeter()来获取;然后对前台传过来的数据进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: