IDEA实现javaweb用户登录(增删改查)

IDEA实现javaweb用户登录(增删改查)


文章目录

  • IDEA实现javaweb用户登录(增删改查)
  • 前言
  • 一、IDEA 软件的简单使用
    • 1 创建一个普通 java 项目
    • 2 新增 web 配置将项目由普通的Java项目变为 javaweb项目
      • 2.1 新增 web 配置
      • 2.2 新增项目文件夹
      • 2.3 创建资源文件夹
    • 3 配置 tomcat 服务器
    • 4 测试 jsp 网页是否能运行
    • 5 在 IDEA 连接mysql数据库
    • 6 debug
  • 二、问题
    • 1 IDEA WEB项目无法继承HttpServlet问题
    • 2 创建新项目后旧项目不见了
    • 3 index.jsp 页面可以访问,但是ajax请求错误
    • 4 通过 MyBatis 查询数据库数据时,部分值显示为null
    • 5 修改了内容后需要重启tomcat
    • 6 idea 增删改数据库数据,返回1但是数据库值没有变化
  • ** 源码


前言

创建javaweb项目目录如下:
在这里插入图片描述
步骤:

  1. 创建一个普通 java 项目;
  2. 新增 web 配置将项目由普通的Java项目变为 javaweb项目;
  3. 配置 tomcat 服务器;
  4. 测试 jsp 网页是否能运行;
  5. 新增 config 资源文件夹;

一、IDEA 软件的简单使用

1 创建一个普通 java 项目

在这里插入图片描述

在这里插入图片描述

2 新增 web 配置将项目由普通的Java项目变为 javaweb项目

2.1 新增 web 配置

在右上角设置或file可以看见项目架构这个选项,选择→
在这里插入图片描述
选择moudles,点击+
在这里插入图片描述
选择 web,点击ok
在这里插入图片描述
web 配置新增成功!
在这里插入图片描述

2.2 新增项目文件夹

项目路径仿照 eclipse
在这里插入图片描述

  • .jsp / js / css 文件或文件夹在web下创建
  • 在 WEB-INF下创建 lib 文件夹存放 jar 包
    jar 包导入:右键“Add as Library”
    在这里插入图片描述

2.3 创建资源文件夹

  1. 先创建一个普通文件夹
  2. 右键“Mark Directory as”,选择“Sources Root”
    在这里插入图片描述
    普通文件夹和资源文件夹区别:
    在这里插入图片描述

3 配置 tomcat 服务器

配置 tomcat 到 IDEA
输入 tomcat 路径,ok。
这里已经配置上去了
在这里插入图片描述
注意:选择的是 Tomcat,而不是 TomEE
加粗样式
接下来将项目放进去
Run-中选择Edit Configurations。在“+”中,选择Tomcat Server,选择 local 本地。
在这里插入图片描述
在这里插入图片描述
这时会发现有一个红×
在这里插入图片描述
这是因为当前项目没有部署到 Tomcat,点击右边的 +
在这里插入图片描述
选择当前项目
在这里插入图片描述
这样就将项目配置到 Tomcat 上了
在这里插入图片描述
在这里插入图片描述

4 测试 jsp 网页是否能运行

创建一个 jsp 页面
在这里插入图片描述

5 在 IDEA 连接mysql数据库

连接后可以直接在 IDEA 软件中查看 mysql 数据库的所有库/表信息,也可以进行sql语句查询!
在这里插入图片描述
选择 MySQL 数据库
在这里插入图片描述
输入用户名、密码
在这里插入图片描述
连接成功!!
在这里插入图片描述
选择数据库
在这里插入图片描述
这里选择 user 数据库,里面有一张表 userinfo,双击可以查看表中内容
在这里插入图片描述
在 console 可以输入 sql 语句运行
在这里插入图片描述
关闭了 console 可以在左下角打开
在这里插入图片描述

6 debug

在这里插入图片描述

使用 Step Over(F8)来逐步执行代码,每次执行一行。 使用 Step Into(F7)来进入方法内部执行。 使用 Step
Out(Shift+F8)来跳出当前方法,回到调用它的地方。 使用 Resume
Program(F9)来继续执行程序,直到下一个断点或程序结束。

debug的值都会在右侧直接显示。
在这里插入图片描述
若想查看集合的值,可以点击该集合,点击 view。
size为3,查到了3条数据
在这里插入图片描述
在这里插入图片描述

二、问题

1 IDEA WEB项目无法继承HttpServlet问题

jar包和资源文件配置都正常配置,但是创建 servlet 的时候无法继承HttpServlet。
解决:将 tomcat 下的 lib 文件夹中的两个jar包配置到项目中

  • servlet-api.jar
  • tomcat-api.jar
    在这里插入图片描述

2 创建新项目后旧项目不见了

解决:点击file,点击 openrecent,便可找到之前的项目。

3 index.jsp 页面可以访问,但是ajax请求错误

这个地方查了半天-_-,知道问题在这里,但是改的时候又出问题。
解决:删除后面的路径
在这里插入图片描述
这里选择当前项目
在这里插入图片描述
ajax 访问路径前面不需要再加项目路径
在这里插入图片描述

4 通过 MyBatis 查询数据库数据时,部分值显示为null

原因:实体字段名和数据库中不一致。
解决:将实体类中名称改为和数据库一致。
(这里是直接通过注释查询)

//查询所有用户信息
@Select("SELECT USERID,USERNAME,USERPASS FROM USERINFO")
 List<Users> selectAllUsers();

5 修改了内容后需要重启tomcat

6 idea 增删改数据库数据,返回1但是数据库值没有变化

控制台输出的增删改信息是正确的,但是数据库数据就是没改变!!没改变!
在这里插入图片描述
原因:没有提交事务!!

在使用 MyBatis 进行数据库操作时,需要手动提交事务。在插入数据完成后调用 commit()
方法来提交事务。如果没有提交事务,数据库中的数据不会被实际保存。

感谢up救我狗命=_=
遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?

/**
* 删除用户信息
*/
@Override
public Integer deleteCheck(Integer userId) {
   //加载数据库工厂
   SqlSession session = MybatisUtil.getSessionFactory().openSession();
   //通过数据库工厂获取 UserMapper
   UserMapper userMapper = session.getMapper(UserMapper.class);
   //调用 UserMapper 中的方法,删除用户信息
   Integer i = userMapper.deleteCheck(userId);
   return i;
}
/**
* 删除用户信息
*/
@Override
public Integer deleteCheck(Integer userId) {
   //加载数据库工厂
   SqlSession session = MybatisUtil.getSessionFactory().openSession();
   //通过数据库工厂获取 UserMapper
   UserMapper userMapper = session.getMapper(UserMapper.class);
   //调用 UserMapper 中的方法,删除用户信息
   Integer i = userMapper.deleteCheck(userId);
   //提交事务
   if (session != null) {
       session.commit();
       session.close();
   }
   return i;
}

** 源码

IDEA实现javaweb用户登录(增删改查)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站&#xff0c;下载自己电脑对应的anaconda版本。网站&#xff1a;https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…

3.5 认识决策树

3.5 认识决策树 3.5.1 认识决策树 如何高效的进行决策&#xff1f; 特征的先后顺序 3.5.2 决策树分类原理详解 已知有四个特征&#xff0c;预测 是否贷款给某个人。 先看房子&#xff0c;再看工作&#xff0c;是否贷款。 年龄&#xff0c;信贷情况&#xff0c;工作&#…

【Windows11系统局域网共享文件数据】

【Windows11系统局域网共享文件数据】 1. 引言1. 规划网络2. 获取必要的硬件3. 设置网络4. 配置网络设备5. 测试网络连接6. 安全性和维护7. 扩展和优化 2. 准备工作2.1: 启用网络发现和文件共享2.2: 设置共享文件夹 3. 访问共享文件夹4. 小贴士5. 总结 1. 引言 随着家庭和小型办…

[SWPUCTF 2022 新生赛]funny_php

进入靶场环境 <?phpsession_start();highlight_file(__FILE__);if(isset($_GET[num])){if(strlen($_GET[num])<3&&$_GET[num]>999999999){echo ":D";$_SESSION[L1] 1;}else{echo ":C";}}if(isset($_GET[str])){$str preg_replace(/NS…

ARMv8-A MacOS调试环境搭建

文章目录 简介安装qemu交叉编译工具链C语言插件 gdb调试测试代码添加调试配置 JLink 调试树莓派 简介 本节主要介绍基于Visual Studio Code在MacOS下调试环境的搭建&#xff0c;Linux发行版上的过程也类型&#xff0c;它主要使用到以下工具链&#xff1a; aarch64 架构的交叉…

HDR视频技术之六:色调映射

图像显示技术的最终目的就是使得显示的图像效果尽量接近人们在自然界中观察到的对应的场景。 HDR 图像与视频有着更高的亮度、更深的位深、更广的色域&#xff0c;因此它无法在常见的普通显示器上显示。 入门级的显示器与播放设备&#xff08;例如普通人家使用的电视&#xff0…

力扣HOT 100(图)

图论 797. 所有可能的路径 为什么path先把索引加上&#xff0c;图这个数据结构的索引&#xff0c;包含了数据信息&#xff0c;所以索引到数据表再到索引这个过程。一般回溯索引没有涉及问题中的含义。 class Solution {List<Integer> pathnew ArrayList<>();/…

Oracle 一键检查加强版本

支持更丰富了&#xff0c;代码也更乱了 实例个数 告警日志 实例状态 用户连接 活动会话 锁 集群状态 服务状态 磁盘空间 cpu mem 侦听及日志 单机、RAC Linux、AIX 11g、19c、23ai 多实例、多租户、ADG 依赖adrci配置正常&#xff0c;也可以改为 getAlert() 将脚本保存为j.…

开发者如何使用GCC提升开发效率Opencv操作

看此篇前请先阅读 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144216351?spm=1001…

工具篇--GitHub Desktop 使用

文章目录 前言一、GitHub Desktop 的使用&#xff1a;1.1 通过官网下载GitHub Desktop和安装&#xff1a;1.2 安装和使用&#xff1a;1.2.1 填充自己的标识&#xff1a;1.2.3 克隆项目&#xff1a;1.2.4 git 常用忽略项配置&#xff1a; 二、代码的更新和提交&#xff1a;2.1 代…

PHP:将数据传递给Grid++Report模板进行打印

模板参考 这里使用的模板test111.grt参照进行生成 &#xff0c;需要确保字段对应才能将数据进行传递 GridReport:自定义模板设计&#xff08;自由表格使用&#xff09;&#xff0c;详细教程-CSDN博客https://blog.csdn.net/weixin_46001736/article/details/144315191?spm10…

Camp4-L2:LMDeploy 量化部署进阶实践

书生浦语大模型实战营第四期&#xff1a;LMDeploy 量化部署进阶实践 教程链接&#xff1a;https://github.com/InternLM/Tutorial/tree/camp4/docs/L2/LMDeploy视频链接&#xff1a;https://www.bilibili.com/video/BV18aUHY3EEG/?vd_sourceb96c7e6e6d1a48e73edafa36a36f1697…

spark-operaotr

1、系统架构 括如下几个组件: SparkApplication控制器, 该控制器用于创建、更新、删除SparkApplication对象,同时控制器还会监控相应的事件,执行相应的动作;Submission Runner, 负责调用spark-submit提交Spark作业, 作业提交的流程完全复用Spark on K8s的模式;Spark Pod Monit…

记录:ubuntu24.04源码安装nginx

一. 下载Nginx源码 两个地址二选一即可 Nginx官网Nginx官网 Github eg&#xff1a;nginx-1.27.3.tar.gz 下载到 ubuntu24.04 的 Downloads &#xff0c;解压 cd Downloads tar -zxvf nginx-1.27.3.tar.gz二. 编译安装 Note: 编译最好用 root 权限&#xff0c; 使用下面命令…

国产GPU中,VLLM0.5.0发布Qwen2.5-14B-Instruct-GPTQ-Int8模型,请求返回结果乱码

概述 国产GPU: DCU Z100 推理框架&#xff1a; vllm0.5.0 docker容器化部署 运行如下代码&#xff1a; python -m vllm.entrypoints.openai.api_server --model /app/models/Qwen2.5-14B-Instruct-GPTQ-Int8 --served-model-name qwen-gptq --trust-remote-code --enforce…

R155 VTA 认证对汽车入侵检测系统(IDS)合规要求

续接上集“浅谈汽车网络安全车辆型式认证&#xff08;VTA&#xff09;的现状和未来发展”&#xff0c;有许多读者小伙伴有联系笔者来确认相关的R155 VTA网络安全审核要求&#xff0c;基于此&#xff0c;笔者将针对 R155 VTA 每一条网络安全审核细则来具体展开。 今天就先从汽车…

Pac4j 学习笔记

随着互联网技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;企业信息安全与身份认证系统变得越来越重要&#xff0c;而且安全认证集成方案作为保障网络安全的重要一环&#xff0c;其研究与应用也至关重要。在这种背景下&#xff0c;Pac4j 作为一种流行的身份验证库…

5G CPE组成及功能介绍(二)

5G CPE 组成及功能介绍 5G CPE 将5G信号转换为Wi-Fi或有线信号, 其由5G基带芯片、主控处理器、WIFI、电源、天线、结构等多个部件组成。5G基带: 这是5G CPE中最核心的组件,负责接收和解码来自5G基站的信号,然后将这些数据转换成用户设备可以使用的格式。采用了先进的5G芯片…

微服务-seata分布式事务

1.简述 1.1.什么是分布式事务 事务&#xff1a;是应用程序中一系列严密的操作&#xff0c;所有操作必须成功完成&#xff0c;要么全部失败&#xff0c;ACID 特性。本地事务&#xff1a;关系型数据库中,由一组SQL组成的一个执行单元,该单元要么整体成功,要么整体失败&#xff…

flyway执行sql遇到变量执行报错解决

前两天在公司使用flyway工具执行sql时&#xff0c;开发写的sql里面有变量&#xff0c;于是这个flyway工具不识别这个变量直接报错&#xff0c;不接着往下执行了。报错信息如下&#xff1a; flyway工具执行sql报错 information: No value provided for placeholder: ${ep1} 于是…