我的 Java 入门项目

我入门 Java 是在2019年10月入的,当时已经学完了 C语言,因此这个入门项目只用了一个下午

工具:IDEA + MariaDB + Navicat + Tomcat + maven

SQL 文件

CREATE DATABASE  `book` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `employees_cn`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `employees_cn` (`employee_id` int(11) NOT NULL AUTO_INCREMENT,`employee_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,`employee_address` varchar(255) COLLATE utf8_bin DEFAULT NULL,`employee_price` int(10) DEFAULT NULL,PRIMARY KEY (`employee_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC;INSERT INTO `employees_cn`
VALUES (1,'张伟','北京',20000),(6,'周通','上海',17500),(14,'王飞','赣州',28000),(17,'马超','佛山',20000),(18,'刘备','抚州',15000),(20,'李兰','北京',20000),(21,'李兰妈','株洲',46000),(22,'周杰','深圳',20000),(23,'丁宁','天津',1500),(24,'张飞','上饶',25000),(25,'周杰','深圳',20000),(48,'孙红雷','哈尔滨',30000);

创建 JavaWeb 项目

新建工程后,maven会下载一些文件,没多大,大家耐心等待即可。

新建工程成功以后是下面这样的:

首先在 pom.xml 文件中 </build> 上面添加如下代码,添加完成后,等待它自己加载完成即可。

<plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><hostName>localhost</hostName>        <!--   Default: localhost --><port>8080</port>                     <!-- 启动端口 Default:8080 --><path>/</path>   <!-- 访问应用路径  Default: /${project.artifactId}--><uriEncoding>UTF-8</uriEncoding>      <!-- uri编码 Default: ISO-8859-1 --></configuration></plugin>
</plugins>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5hev7IAV-1641652031656)(https://s2.loli.net/2022/01/08/hEJs4iGewcVdIfg.png)]

编写代码

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.baidu</groupId><artifactId>MyBlog</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>MyBlog Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/com.speedment.runtime/runtime-typemapper --><dependency><groupId>com.speedment.runtime</groupId><artifactId>runtime-typemapper</artifactId><version>3.2.10</version></dependency><!-- https://mvnrepository.com/artifact/org.teiid.connectors/translator-loopback --><dependency><groupId>org.teiid.connectors</groupId><artifactId>translator-loopback</artifactId><version>16.0.0</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-css --><dependency><groupId>org.apache.xmlgraphics</groupId><artifactId>batik-css</artifactId><version>1.14</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.25</version></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies><build><finalName>MyBlog</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><hostName>localhost</hostName>        <!--   Default: localhost --><port>8081</port>                     <!-- 启动端口 Default:8080 --><path>/</path>   <!-- 访问应用路径  Default: /${project.artifactId}--><uriEncoding>UTF-8</uriEncoding>      <!-- uri编码 Default: ISO-8859-1 --></configuration></plugin></plugins></build>
</project>

DatabaseForBook.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/**** @author colors* @date 2019/10/26*/public class DatabaseForBook {private final String url = "jdbc:mysql://localhost:3306/book?characterEncoding=UTF8&servertimeZone=GMT%2B8";private final String driver  = "com.mysql.jdbc.Driver";private final String name = "root";private final String password  = "123456";private Connection connection = null;private final List allEmployees = new ArrayList();public void openDatabase(){try {// 加载驱动Class.forName(driver);connection = DriverManager.getConnection(url,name,password);} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();}}public void addData(String name, String address , float price){// 打开数据库openDatabase();try {// 操作数据库的一个sql语句String sql = "INSERT into employees_cn (employee_name,employee_address,employee_price) VALUES (?,?,?)";// 获取声明PreparedStatement statement = connection.prepareStatement(sql);statement.setObject(1,name);statement.setObject(2,address);statement.setObject(3,price);// 执行你的sqlstatement.execute();} catch (SQLException e) {e.printStackTrace();}closeDatabase();}public void deleteData(String name){openDatabase();String sql = "DELETE FROM employees_cn WHERE employee_name= ?";try {PreparedStatement statement = connection.prepareStatement(sql);statement.setObject(1, name);statement.execute();} catch (SQLException e) {e.printStackTrace();}closeDatabase();}public  void updateData(String addreess, int price, String name){openDatabase();String sql = "UPDATE employees_cn set employee_address = ? , employee_price = ? WHERE employee_name = ?";try {PreparedStatement statement = connection.prepareStatement(sql);statement.setObject(1, addreess);statement.setObject(2, price);statement.setObject(3, name);statement.execute();} catch (SQLException e) {e.printStackTrace();}closeDatabase();}public List selectData() {openDatabase();String sql = "select * from employees_cn";try {PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int id = resultSet.getInt("employee_id");String name = resultSet.getString("employee_name");String address = resultSet.getString("employee_address");int price = resultSet.getInt("employee_price");// soutSystem.out.println(id + "  " + name + "  " + address + "  " + price);// 集合Map<String, Object> employee = new HashMap<>();employee.put("id", id);employee.put("name", name);employee.put("address", address);employee.put("price", price);allEmployees.add(employee);}return allEmployees;} catch (SQLException e) {e.printStackTrace();}closeDatabase();return null;}public void closeDatabase(){if (connection !=null){try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}
}

BookServlet.java

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;/**** @author colors* @date 2019/10/27*/
// 接受客户请求
// 返回数据给客户
public class BookServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 去查数据库DatabaseForBook databaseForBook = new DatabaseForBook();List allEmployees = databaseForBook.selectData();// 将数据放到网页里req.setAttribute("all", allEmployees);// 将网页返给用户req.getRequestDispatcher("employee.jsp").forward(req, resp);}
}

TestBook.java

import org.junit.Test;/*** Created by guoke on 2019/10/30.*/
public class TestBook {@Testpublic void testBook(){DatabaseForBook databaseForBook = new DatabaseForBook();databaseForBook.addData("郭柯柯","九江",30000);}@Testpublic void testSelect(){DatabaseForBook databaseForBook = new DatabaseForBook();databaseForBook.selectData();}@Testpublic void testDelete(){DatabaseForBook databaseForBook = new DatabaseForBook();databaseForBook.deleteData("郭柯柯");}@Testpublic void testUpdate(){DatabaseForBook databaseForBook = new DatabaseForBook();databaseForBook.updateData("北京", 20000, "刘备");}
}

index.jsp

<html><body><h2>Hello World!</h2></body>
</html>

employee.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<%--Created by IntelliJ IDEA.User: colorsDate: 2019/10/27Time: 15:53To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>部门员工表</title></head><body><%-- jsp + el + jstl --%><table border="1" cellspacing="0" align="center" ><caption><h3>部门员工表</h3></caption><thead><tr><th>工号</th><th>姓名</th><th>住址</th><th>工资</th></tr></thead><c:forEach items="${all}" var="employee"><tr><td>${employee.id}</td><td>${employee.name}</td><td>${employee.address}</td><td>${employee.price}</td></tr></c:forEach></table></body>
</html>

web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>a</servlet-name><servlet-class>BookServlet</servlet-class></servlet><servlet-mapping><servlet-name>a</servlet-name><url-pattern>/all</url-pattern></servlet-mapping>
</web-app>

我的 Java 入门项目相关推荐

  1. Java入门项目——读书管理系统

    Java简单实现读书管理系统 一.前言 二.思路及整体框架 三.代码展示 1.有关读书包(Book) 2.有关用户包 3.有关操作书的包 一.前言 相信有很多小伙伴学习完了[JavaSE]基础语法,想 ...

  2. Java入门项目:实现简单学生管理系统(逐个功能详解版)

    文章目录 前言 一.学生管理系统实现思路 二.定义学生类 三.主界面的代码编写 四.添加学生的代码编写 五.查看所有学生的代码编写 六.删除学生的代码编写 七.修改学生的代码编写 八.项目结构和源码 ...

  3. Java Web 项目入门指南(http、Servlet、Request、Response、ServletContext、会话技术[cookie、session]、Filter、Listener)

    概述 web 服务器.项目.资源概述 web 服务器:可以被浏览器访问到的服务器 常见的 web 服务器: tomcat:中小型的服务器软件,免费开源,支持 JSP 和 Servlet apache ...

  4. 【Web入门项目源码分享】Java+Jsp

    Web入门项目源码分享--记账本 这篇文章分享一个Web项目--记账本,编码语言:Java+Jsp . 资源链接:https://download.csdn.net/download/zsdoudou ...

  5. Java Web入门项目之“网络交友”的设计与实现

    前言:这个小项目是我刚学习JSP时,参考"JSP程序设计"这本书写的.这里之所以说参考这本书而不是照着这本书写,主要是因为我自己完成的时候删掉了不少繁琐的写法(比如:文件上传):同 ...

  6. 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...

  7. Java从零开始(4)——入门项目

    图书管理系统入门项目 登录功能实现 数据库: 创建用户表: 对应的实体类: public class User {private int id;private String userName;priv ...

  8. 用myeclipse开发java web教程_转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程...

    本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...

  9. 入门java实战项目推荐?

    Java的初级项目有很多,想练手的话下面给你推荐几个Java小游戏项目练手吧,初级项目,实战练手项目都有,希望对你有所帮助. 第一个,超级玛丽项目,这个其实比较火的,也算是我们童年的回忆.下面是超级玛 ...

最新文章

  1. LeetCode刷题-8
  2. OpenCV2.4.X怎样使开发出来的exe文件或软件可独立运行?
  3. Linux程序包管理(yum)
  4. 采用CSS+JS实现简洁的滑动导航栏_网页代码站(www.webdm.cn)
  5. Cocos2d-x--Box2D绘制出两个矩形框的解决方案
  6. 透视映射和射影映射的关系 Perspective and Projectivity
  7. Tensorflow2.0(2):中文分词(jieba)
  8. asp.net mvc在Model中控制日期格式
  9. NLP硬核入门-Seq2Seq和Attention机制
  10. C++知识点(三)函数
  11. js ide WebStorm 使用总结
  12. homework7_ZhankunLuo
  13. 【随笔】移动端input type|语义与IOS按键
  14. UVa 10015 - Joseph's Cousin
  15. Qt Visual Studio生成moc文件
  16. Springboot整合JdbcTemplate实现分页查询
  17. 魔法阵c语言课程设计,魔法阵真的存在吗?
  18. Java实现短链接URL生成
  19. 车道线检测1-传统算法相关简介
  20. 程序员必读书籍一览表

热门文章

  1. 火狐浏览器常用插件简介
  2. Matlab 产生伪随机调相信号与伪随机信号
  3. 深度估计自监督模型monodepth2在自己数据集的实战——单卡/多卡训练、推理、Onnx转换和量化指标评估
  4. Properties配置文件
  5. 微信小程序图片设置为圆
  6. TortoiseSVN 分支创建与合并
  7. 【javascript】基于websocket、nodejs、uniapp的聊天室
  8. Java JSON中的key转换成大写或者小写
  9. 手持(单导联) 心电算法及技术
  10. MySQL执行计划(MySQL调优的重要利器)