JAVAEE 实训日志 一

article/2025/9/22 13:15:33

文章目录

  • 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>

效果

在这里插入图片描述


http://chatgpt.dhexx.cn/article/CYaG7vTR.shtml

相关文章

实训日志day5

今天主要讲解了命令行查看数据库、数据库连接、越权访问 命令行的使用 在文件根目录下执行cmd&#xff0c;输入数据库的账号和密码进行数据库的访问 输入 show databases;语句查看数据库表&#xff0c;注意是databases后面有一个分号‘&#xff1b;’ show databases;查看数据…

Java实训日志04

文章目录 八、项目开发实现步骤&#xff08;六&#xff09;创建数据访问接口1、创建学校数据访问接口2、创建状态数据访问接口3、创建学生数据访问接口4、创建用户数据访问接口 八、项目开发实现步骤 &#xff08;六&#xff09;创建数据访问接口 DAO: Data Acess Object - 数…

实训日志day7

今天主要介绍了三个工具以及工具使用的方法&#xff0c;三个工具分别是&#xff1a;Nmap、AWVS、Dirsearch Nmap Nmap的使用环境有两种&#xff1a; 1、直接能获取到需要测试和的设备的IP地址 2、只能获得需要测试的网络。 在进行渗透测试的过程中&#xff0c;利用nmap进行渗透…

day2实训日志

上午课程 课程大纲 1.web 重点介绍了web1.0和web2.0时代采用的技术&#xff0c;web1.0时代主要采用dos攻击html静态网页&#xff0c;虽然静态网页没有数据库&#xff0c;但是拒接服务式攻击可以将网络响应攻击瘫痪&#xff0c;web2.0时代新增了数据库&#xff0c;黑客所攻击的…

项目实训-个人开发日志02-初识微信小程序开发

今天开始正式进入微信小程序端的开发&#xff0c;由于本人从未学习过小程序开发&#xff0c;所以在此一并把学习过程记录。 安装微信开发者工具&#xff0c;以非云开发的基础模板创建文件&#xff0c;得到如下项目结构&#xff1a; page即为页面&#xff0c;目前有两个文件夹&…

JAVA实训项目第六次日志

实训目的&#xff1a;让学生综合运用J2SE有关知识开发【学生信息管理系统】。主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发&#xff0c;让学生了解系统开发的一般流程&#xff0c;初步了解MVC模式与单元…

实训日志——第三天

在敲代码的过程中&#xff0c;也是经常犯错的&#xff0c;大大小小的错&#xff0c;有时候反复检查都不知道有什么错。目前&#xff0c;我总结到&#xff0c;对于我来说&#xff0c;出错就是经常打错字母的大小写&#xff0c;少打一行代码之类的。但就是这些小错&#xff0c;在…

实训日志6

上一次太累了没写博客&#xff0c;这次打完了所有的内容&#xff0c;认真总结一下这次的实训 这次实训主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发&#xff0c;让我了解系统开发的一般流程&#xff0c;…

将实对称矩阵正交对角化的流程

摘自《矩阵论教程》第2版&#xff0c;张绍飞&#xff0c;p52

实对称矩阵可对角化证明

在极化分解的证明中使用过此定理&#xff0c;证明于此。 埃尔米特矩阵是指复对称矩阵&#xff0c;实对称矩阵是其特例。 转载于:https://www.cnblogs.com/zhixingr/p/8750210.html

矩阵可对角化的条件

总结&#xff1a;对于任意方阵&#xff0c;如果没有重根&#xff0c;矩阵总是可以对角化。麻烦的是重根问题 如果有重根&#xff0c;那么需要验证所谓几何重数&#xff0c;与代数重数相等。 那么对于有重根&#xff0c;不能对角化的矩阵怎么办&#xff1f;这就引入了Jordan标…

线性代数笔记5.3实对称矩阵的对角化(前瞻知识)

实对称矩阵都能对角化 内积 简单来说&#xff0c;内积就是两个向量的对应分量相乘再相加 内积是个数&#xff01;&#xff01; 内积的性质 注意最后一条性质 两个向量和与第三个向量的内积 两个向量分别与第三个向量内积的和&#xff0c;这条性质可以与上面的性质配合使…

含重根的三阶实对称矩阵的快速对角化方法

众所周知&#xff0c;实对称矩阵一定可以相似对角化。而考试中考察的三阶实对称矩阵对角化基本都是三阶的。而且正常情况下特征根一定是整数。因此基于此&#xff0c;有一些特殊的方法可以快速计算三阶实对称矩阵的特征值和特征向量。 一. 猜根法计算特征值 特征值之和等于矩阵…

矩阵的相似对角化

矩阵相似的定义 设 A与B都是N阶方阵&#xff0c;若是一个可逆的N阶矩阵P&#xff0c;使得&#xff0c;则称A与B相似&#xff0c;记作&#xff0c;P成为由A到B的相似变换矩阵 相似矩阵的性质 1、 矩阵A与它自身相似 2、若&#xff0c;则 如果A与B相似&#xff0c;那么B与A…

矩阵对角化

一、矩阵对角化的理论 一个映射或者一个线性变换&#xff0c;都有一个矩阵和它相对应。矩阵或者映射是不是可以对角化&#xff0c;对工程应用来说比较重要&#xff0c;因为对角化后的矩阵&#xff0c;乘积简单&#xff0c;经过多次变换的话&#xff0c;相当于矩阵的多次方。矩…

实对称矩阵必可正交对角化证明

我的小程序&#xff1a; 待办计划&#xff1a;给自己立个小目标吧&#xff01; n阶矩阵A可正交对角化的充分条件是A是实对称矩阵&#xff0c;即若A是实对称矩阵则A必可正交对角化。 首先&#xff0c;有以下定理&#xff1a; 若的特征值为&#xff0c;且&#xff0c;则存在正交…

实对称阵的正交相似对角化

一、正交向量组与正交矩阵 正交向量组的定义&#xff0c;是一组非零向量&#xff0c;且两两正交&#xff0c;那么这组向量&#xff0c;则成为正交向量组。 两个向量正交的意思是&#xff0c;两个向量的内积为0&#xff0c;什么是两个向量的内积&#xff0c;就是向量内对应元素…

线性代数笔记5.3实对称矩阵的对角化

5.3实对称矩阵的对角化 正交矩阵 概念 A是一个n阶方阵 有A转置A E&#xff0c;那么这个矩阵就是正交矩阵 性质 若A是正交矩阵&#xff0c;|A| 1或 -1若A是正交矩阵&#xff0c;A的逆 A的转置 且A逆和A转置均为正交A,B正交&#xff0c;AB也正交若A正交&#xff0c;α&am…

实对称矩阵对角化为什么要做正交化单位化操作呢?

今天晚上王小民同学问了助教姐姐一个问题&#xff0c;为什么对一个一般的矩阵对角化的时候&#xff0c;我们不用做正交单位化&#xff0c;对实对称矩阵对角化的时候却要做呢&#xff1f;这是一个很好的问题&#xff0c;所以和大家分享一下。 最后的结论就是&#xff1a;如果不…

npm构建报错 code ELIFECYCLE解决办法

使用npm构建报错 code ELIFECYCLE 解决办法&#xff0c;进入工作目录 $ rm -rf node_modules $ rm -rf package-lock.json $ npm cache clear --force $ npm install