文章目录

  • 1. 创建 web-app 项目
    • 导入初始4个 maven 依赖
    • TestServlet.java
    • test.jsp
    • 测试:
  • 2. 连接数据库
    • 导入依赖 驱动
    • 编写连接类 JDBCUtil
    • 测试连接
  • 3. 开发一个简单的javaweb项目
    • Entity
    • Service 层
    • Dao
    • Controller
    • 前端 test.jsp
    • 效果

1. 创建 web-app 项目

导入初始4个 maven 依赖

 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>

TestServlet.java

package com.beyond.nothing.servlet;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 java.io.IOException;
import java.util.ArrayList;
import java.util.List;@WebServlet("/test")
public class TestServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {List<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("王五");list.add("博瑞");// 将 list集合 放入request中req.setAttribute("list", list);// 转发到 test.jspreq.getRequestDispatcher("WEB-INF/jsp/test.jsp").forward(req, resp);}
}

test.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%--引入jstl标签库--%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Title</title>
</head>
<body>
测试:
<c:forEach items="${list}" var="str">${str}
</c:forEach>
</body>
</html>

测试:

2. 连接数据库

导入依赖 驱动

     <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency>

编写连接类 JDBCUtil

package com.beyond.nothing.utils;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class JDBCUtil {private static final String USERNAME = "root";private static final String PWD = "210374520";private static final String URL = "jdbc:mysql://localhost:3308/thedemo";private static final String DRIVER = "com.mysql.jdbc.Driver";static {// 注册驱动try {Class.forName(DRIVER);} catch (ClassNotFoundException e) {e.printStackTrace();}}public static Connection getCoon() throws SQLException {return DriverManager.getConnection(URL,USERNAME,PWD);}public static void main(String[] args) throws SQLException {Connection coon = getCoon();System.out.println(coon);}
}

测试连接

3. 开发一个简单的javaweb项目

Entity

package com.beyond.nothing.entity;public class Product {private Integer id;private String name;@Overridepublic String toString() {return "Product{" +"id=" + id +", name='" + name + '\'' +'}';}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

Service 层

package com.beyond.nothing.service;import com.beyond.nothing.dao.TestDao;
import com.beyond.nothing.entity.Product;import java.util.List;public class TestService {private TestDao dao = new TestDao();public List<Product> queryList(){return dao.queryList();}}

Dao

package com.beyond.nothing.dao;import com.beyond.nothing.entity.Product;
import com.beyond.nothing.utils.JDBCUtil;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;public class TestDao {public List<Product> queryList() {Connection connection = null ;PreparedStatement preparedStatement = null;ResultSet resultSet = null;// 将结果转为 listList<Product> list = new ArrayList<>();try {// 获取 Connection 对象connection = JDBCUtil.getCoon();// 获取预编译对象preparedStatement = connection.prepareStatement("select * from product");// 执行查询,并且返回结果集resultSet = preparedStatement.executeQuery();// 迭代结果集while (resultSet.next()){Product product = new Product();product.setId(resultSet.getInt("id"));product.setName(resultSet.getString("name"));list.add(product);}} catch (SQLException e) {e.printStackTrace();}finally {JDBCUtil.close(resultSet,preparedStatement,connection);}return list;}
}

Controller

package com.beyond.nothing.servlet;import com.beyond.nothing.service.TestService;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 java.io.IOException;
import java.util.ArrayList;
import java.util.List;@WebServlet("/test")
public class TestServlet extends HttpServlet {private TestService testService = new TestService();@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 将 list集合 放入request中req.setAttribute("list", testService.queryList());// 转发到 test.jspreq.getRequestDispatcher("WEB-INF/jsp/test.jsp").forward(req, resp);}
}

前端 test.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%--引入jstl标签库--%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Title</title>
</head>
<body>
测试:
<c:forEach items="${list}" var="p">${p.id}${p.name}
</c:forEach>
</body>
</html>

效果

JAVAEE 实训日志 一相关推荐

  1. JAVAEE 实训日志01_20200704 上

    文章目录 1.目录规范 规范目录 编码风格 缩进风格(规则) 1. BSD,匈牙利 2. K&R 2.体系结构特性 (1)SBD ==BASIC ,汇编== `语句级编程` (2)FBD == ...

  2. JAVAEE 实训日志03_20200711

    文章目录 环境准备 1. 课程安排 2.考评要求 3.开发环境 4. 搭建环境 数据库基础 1. 基础部分 增删改查 约束性: 3. insert 4. UPDATE 5. DELETE 6.SELE ...

  3. html5网页制作实训日志,网页制作实训日志X.doc

    实训日志 日期:2012-6-11(1-4)地点:信2-501机房实训内容:构思网页,确立主题构思的问题,没有一个初步的想法,对于资料的寻找也没有方向.所以,开始时我并没有急于去查找资料,而是先画出了 ...

  4. javaee实训报告总结_JavaEE实训报告.doc

    JavaEE实训报告 数学与计算机学院 实 验 报 告 课程名称Java EE应用开发课程代码6014049实验时间2012年月日指导单位软件工程系指导教师周立章 学生姓名唐九零年 级2010级学 号 ...

  5. 计算机专业实训日志-python有关

    第一天的和第二天的第一段因为之前没有用Word敲下来而是直接写在实训日志本上的所以这里就没有了. 第二天 12.01 第二节课讲了python中的函数,python中的函数和其他语言的函数有些不同,如 ...

  6. 实训日志 7 黄歆-2021.6.7

    实训日志 7 黄歆-2021.6.7 当日课程主要内容 环境配置 语言特点 python语言基础 python运行方式: python解释器: python命名规则: python 注释方式 pyth ...

  7. 杰普实训日志第一天学习内容

    杰普实习日志 第一天学习内容 主讲人:李春雨 主讲人原创内容,https://gitee.com/plusyu/shixun_hdjd/commit/7fd126f6bacfec6b27357a22b ...

  8. javaee实训报告总结_程力汽车集团隆重召开专业厂暨集团成员厂上半年经营工作总结表彰会。2、程力集团专汽公告培训会圆满结束...

    程力汽车集团隆重召开专业厂暨集团成员厂上半年经营工作总结表彰会.       本报讯(特约通讯员邵斌.加玉涛报道)  近日,因受疫情影响,程力汽车集团专业厂暨集团成员厂上半年经营工作总结表彰会,在程力 ...

  9. 汽车出租管理系统javaee实训_温州专业电动汽车充电设备实训台厂家诚信互利-嘉育仪器...

    温州专业电动汽车充电设备实训台厂家诚信互利,基本规则型策略.该策略综合了恒温器策略与功率跟踪式策略两者的优点,根据发动机负荷特性图设定了率工作区,根据动力电池的充放电特性设定了动力电池率的荷电状态范围 ...

最新文章

  1. ViewPager与Fragment结合使用,以及切换的时候Fragment 的生命周期
  2. 一步步实现 Redis 搜索引擎
  3. 「AI不惑境」数据压榨有多狠,人工智能就有多成功
  4. 通信系统之信道(四)
  5. 小程序动画Animation,高度增加动画形式,图标旋转动画形式
  6. 草稿 9203 作业重点关注
  7. 生活,不求深刻,只求简单。
  8. 【语音识别】基于matlab GUI MFCC+VQ说话人识别系统【含Matlab源码 1153期】
  9. 园区网解决方案有哪些 园区网解决方案案例
  10. 采集百度搜索引擎的10个经典方法
  11. wowza 降低延迟
  12. 输入罗马数字1到12输出阿拉伯数字C语言,用C语言古罗马数字转化阿拉伯数字
  13. mysql6.2中文补丁_2.6. 在NetWare中安装MySQL - MySQL 中文手册
  14. wordpress 企业 主题 html5,Maxx 漂亮简洁的企业 WordPress主题
  15. 乘S10热销的东风,三星四机齐出再攻中国手机市场
  16. 关于《报到证》的相关问答
  17. SAP MM部分常用增强-ME21N-MIGO-MB1A
  18. !!猜字小游戏!(无聊娱乐必备)
  19. ROC曲线及如何计算AUC
  20. 智能电网势头好 电能表商纷纷扩张产能

热门文章

  1. 前端 | 前端设计设计及代码收集
  2. 【转载】200多个js技巧代码
  3. 计算机音乐来自天堂的魔鬼,来自天堂的魔鬼
  4. Android 安装自身更新APK时,包解析错误或无法访问文件的可能原因
  5. 大连交大c语言题库,大连理工大学C语言题库(共12套) .pdf
  6. python常用库安装网址
  7. Windows下安装VScode,并使用,以及中文配置
  8. WPBC乳腺癌数据集建模(Ⅱ)—预后诊断模型建立
  9. C语言表达式是运算符和,C语言之运算符和表达式
  10. 量子退火Python实战(3):投资组合优化(Portfolio) MathorCup2023特供PyQUBO教程