在eclipse中创建JavaWeb项目

第一步:启动软件选择工作空间

第二步:创建项目

第三步:选择配置

第一次配Tomcat会这样

然后接着,next

这里其实也可以不用改成这样,直接next也行

最后是

然后就创建成功了

简单写一个三层架构:

entity代码:
`
package com.zuxia.entity;

public class CakeEntity {

//甜品编号
private int DId;
//甜品名称
private String DName;
//原价
private double OriginalPrice;
//特点1
private String Feature1;
//特点2
private String Feature2;
//状态,1表示上架,2表示下架,3表示售罄,4表示即将售罄
private int State;
//图片
private String DImg;
//是否为新品,1为新品,0为非新品
private int IsNew;

public int getDId() {
	return DId;
}
public void setDId(int dId) {
	DId = dId;
}
public String getDName() {
	return DName;
}
public void setDName(String dName) {
	DName = dName;
}
public double getOriginalPrice() {
	return OriginalPrice;
}
public void setOriginalPrice(double originalPrice) {
	OriginalPrice = originalPrice;
}
public String getFeature1() {
	return Feature1;
}
public void setFeature1(String feature1) {
	Feature1 = feature1;
}
public String getFeature2() {
	return Feature2;
}
public void setFeature2(String feature2) {
	Feature2 = feature2;
}
public int getState() {
	return State;
}
public void setState(int state) {
	State = state;
}
public String getDImg() {
	return DImg;
}
public void setDImg(String dImg) {
	DImg = dImg;
}
public int getIsNew() {
	return IsNew;
}
public void setIsNew(int isNew) {
	IsNew = isNew;
}

}
service代码:
package com.zuxia.service;

import com.zuxia.entity.;
import java.util.
;

public interface CakeService {

//查询所有蛋糕
List<CakeEntity> getCakeAll(int num);

}

serviceImpImp代码:
package com.zuxia.service.imp;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.zuxia.entity.CakeEntity;
import com.zuxia.service.*;
import com.zuxia.utils.DBUtils;

public class CakeServiceImp implements CakeService {

private Connection conn;
private PreparedStatement ps;
private ResultSet rs;

//查询所有蛋糕
@Override
public List<CakeEntity> getCakeAll(int num){		
	
	List<CakeEntity> list = new ArrayList<CakeEntity>();
	
    try {
    	
    	//获取数据库连接
    	conn = DBUtils.getConn();
    	
    	//编写sql语句
        String sql = "SELECT * FROM DessertInfo ";
    	
        //判断请求类型
    	if(num == 1){
			sql = sql + "where IsNew=1";
		}
		else if(num == 2) {
			sql = sql + "ORDER BY RAND() LIMIT 6";
		}        	
        
    	System.out.println("SQL==>"+sql);
        
        ps = conn.prepareStatement(sql);
        
        rs = ps.executeQuery();
        
		while(rs.next()) {
			CakeEntity cake = new CakeEntity();
			cake.setDId(rs.getInt("DId"));
			cake.setDImg(rs.getString("DImg"));
			cake.setDName(rs.getString("DName"));
			cake.setFeature1(rs.getString("Feature1"));
			cake.setFeature2(rs.getString("Feature2"));
			cake.setIsNew(rs.getInt("IsNew"));
			cake.setOriginalPrice(rs.getDouble("OriginalPrice"));
			cake.setState(rs.getInt("State"));
			list.add(cake);
		}
    } catch (Exception e) {
        e.printStackTrace();
    }finally{
    	//关闭连接
    	DBUtils.close(rs,ps,conn);
    }
    
	return list;
}

}
utils代码:
package com.zuxia.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUtils {

//获取数据库连接
public static Connection getConn() {
	Connection conn=null;
	try {
		Class.forName("com.mysql.jdbc.Driver");
		conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/DessertDB?serverTimezone=UTC&characterEncoding=utf8","root","123456");
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return conn;
}

//关闭数据库连接
public static void close(ResultSet rs,PreparedStatement ps,Connection conn) {
	try {
		if(rs!=null) {
			rs.close();
		}
		if(ps!=null) {
			ps.close();
		}
		if(conn!=null) {
			conn.close();
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

}

servlet代码:
package com.zuxia.servlet;

import com.zuxia.entity.;
import com.zuxia.service.
;
import com.zuxia.service.imp.*;

import java.io.IOException;
import java.util.*;

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 javax.servlet.http.HttpSession;

@WebServlet("/cake")
public class CakeServlet extends HttpServlet {

private static final long serialVersionUID = 1L; // 可以是任何长整型值

//get请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//
	request.setCharacterEncoding("utf-8");
	String op = request.getParameter("op");
	
	//System.out.println("==="+op);
	
	if(op.equals("selectbynum")) {
		int num=Integer.parseInt(request.getParameter("num"));
		this.selectCakeByNum(request,response,num);
	}
	
}

//post请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	doGet(request, response);
}


protected void selectCakeByNum(HttpServletRequest request, HttpServletResponse response,int num) throws ServletException, IOException {
	//调用方法
	CakeService cake = new CakeServiceImp();
	List<CakeEntity> list = cake.getCakeAll(num);
	
	HttpSession session = request.getSession();
	session.setAttribute("list", list);
	request.getRequestDispatcher("index.jsp").forward(request, response);
}

}

`

posted @ 2024-12-23 15:37  芙芙很可爱  阅读(4)  评论(0编辑  收藏  举报