第一步:启动软件选择工作空间
第二步:创建项目
第三步:选择配置
第一次配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 blocke.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 blocke.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);
}
}
`