在eclipse中创建JavaWeb项目

news/2024/12/23 15:37:39/文章来源:https://www.cnblogs.com/RuanMei/p/18624051

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

第二步:创建项目

第三步:选择配置

第一次配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);
}

}

`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/857493.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【POC开发系列】Pocsuite3框架的使用与poc的编写

一、Pocsuite3的介绍二、功能特性介绍2.1 漏洞测试框架2.2 PoC/Exp 开发包2.3 可被集成模块2.4 集成多个安全服务的API2.5 一些特性三、安装方法3.1 使用 Python3 pip 安装3.2 通过Github的源码下载四、架构简析五、运行方式5.1 命令行运行5.2 控制台运行5.3 集成调用六、Pocsu…

Java的HTTP接口测试框架Gatling

之前讲过的《JHM》是一个java的基准测试框架,一般用于测试jdk里的API。如果要测试http接口,可以使用Gatling。你可能用过JMeter,也是可以的原生的Gatling是基于代码测试的,没有UI。你需要创建一个maven项目,或者下载官方的例子:https://github.com/gatling/gatling-js-de…

Codeforces Round 993 (Div. 4)(补题)

只选择对自己有意义的题目Codeforces Round 993 (Div. 4)只选择对我有价值的题目记录E. Insane Problem 题目描述 给定五个整数 \(k\),\(l_1\),\(r_1\),\(l_2\) 和 \(r_2\),Wave 希望你帮助她计算满足以下所有条件的有序对 \((x, y)\) 的数量:\(l_1 \leq x \leq r_1\)。 \…

函数是什么

建设 邮政 中国工商银行

【多线程】原子类

JDK原子类基于CAS轻量级原子操作实现,使得程序运行效率变得更高。 (1)基本原子类基本原子类的功能是通过原子方式更新Java基础类型变量的值。基本原子类主要包括以下三个: AtomicInteger:整型原子类。 AtomicLong:长整型原子类。 AtomicBoolean:布尔型原子类。 (…

我的世界服务端插件安装 AuthMe用户登录插件安装

Minecraft服务端插件安装-AuthMe用户登录插件安装 需要准备AuthMe插件AuthMe-5.6.0.jar用户登录插件例如使用/register <密码> <确认密码>进行注册,使用/login <密码>进登录 AuthMe插件AuthMe 是一个广泛用于 Minecraft 服务器的插件,主要用于账户验证和注…

【数理统计】假设检验

目录假设检验的概念单个总体正态分布的假设检验正态总体均值 \(\mu\) 的假设检验正态总体方差 \(\sigma^2\) 的假设检验两个总体正态分布的假设检验(略)例题 假设检验的概念 【定义】\(H_0\) 称为原假设,\(H_1\)称为对立假设,它们的内容相互对立。 使原假设 \(H_0\) 得以接…

PCIe扫盲——PCIe总线事务层入门(一)

在介绍事务层之前,首先简单地了解一下PCIe总线的通信机制。假设某个设备要对另一个设备进行读取数据的操作,首先这个设备(称之为Requester)需要向另一个设备发送一个Request,然后另一个设备(称之为Completer)通过Completion Packet返回数据或者错误信息。 在PCIe Spec中…

2024 新版DataGrip安装使用教程(附激活至2099年,以及常见问题处理)

DataGrip 简介 在数据库管理与开发领域,JetBrains 推出的 DataGrip 无疑是一款备受瞩目的工具。它以其对多种数据库引擎的广泛支持而著称,为开发人员和数据库管理员提供了一站式的便捷解决方案。 DataGrip 支持 MySQL、PostgreSQL 等开源数据库,能让使用这些流行数据库的开发…

解锁宠物用品行业的市场密码:看板软件如何助力精准用户调研?

看板软件可以通过数据可视化与分析、供应链优化、售后管理与服务提升以及品牌建设与用户互动等方式,为宠物用品行业解决用户调研中的痛点问题。然而,需要注意的是,看板软件只是解决方案的一部分,企业还需要结合实际情况和市场需求进行综合考虑和实施。宠物用品行业用户调研…

惊!冬至物流大忙,哪类办公软件能增强团队应急能力?

一、前言 冬至期间,物流行业面临着巨大的挑战与机遇。电商平台的促销活动让订单如潮水般涌来,物流 J 人团队需要高效协作,确保每一个包裹都能准确无误且迅速地送达客户手中。在这个关键时期,合适的可视化团队协作办公软件成为了提升工作效率与个人学习效率的得力助手。本文…