Java医药平台项目之第一天总结

2024-02-22 12:38

本文主要是介绍Java医药平台项目之第一天总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写源于跟着某培训班的视频做一个项目,在项目中碰到了各种坑需要自己折腾,所以写几篇博客记录下来,以后再碰到这样的问题就不会一脸懵逼了,最起码曾经我见过


开发环境
操作系统平台: Windows 7
数据库平台: Oracle11G
Java环境: Jdk1.8
Web服务: Tomcat 7
项目构建: Maven3.3
应用软件: Intellij IDEA14.0(自带外挂。。)
Plsqldev(oracle客户端连接工具)


我没跳过去的坑

开始采坑了,采坑第一步就是安装Oracle数据库,因为以前都没怎么接触过Oracle数据库,一直使用的是Mysql,安装Oracle数据库后颠覆了我对数据库的认知。。。安装界面不是Windows的那种软件界面,典型的Java写出来的页面,真心好看,还好安装数据库的时候一路是比较顺利的,总的来说去年还是安装过一次,也算是有了一点经验了。

Oracle OraDb11g_home1 TNSListener 服务未启动
ORA-12541: TNS: no listener 这个错误
Listener服务未启动

看到**listener**这个单词,看起来是监听的意思,然后我想起安装Oracle后系统服务里面有4,5个Oracle的服务中好像有一个就带有Listener的字眼,于是我打开任务栏管理器,使用快捷键**Ctrl+Alt+Delete** 任务栏管理器,注意操作系统的差异性

这里写图片描述

我们可以看到这里这个Listener服务是没有被启动的,我们点击进去查看这个**Listener**服务的详情

这里写图片描述

我们点击启动后是可以看到服务是**running**状态了,这时候再进行连接,这个错误就不会出现了,根据你的操作系统来进行打开这个服务

这里写图片描述

最基础的Oracle的两个服务就是 OracleServiceORCL 跟OracleOraDb10g_home1TNSListener这两个字眼的服务,这两个服务运行才能保证数据库是运行的


ORA-01017:invalid username/password ; login denied

0.2.0oracle密码错误

这个看字面意思就知道是账号密码有问题了,话说我安装完Oracle后我还没有修改过密码,我只知道有个默认的超级管理员账户,跟我安装Oracle时候填的那个密码,可能我写错了,这个时候肯定改下密码好,就不用不想了,修改密码第一步,进入命令行控制界面,看图中的指令,在Windows系统中以管理员账号登陆的话好像是自动验证计算机账号成功就可以直接进入数据库后台界面,这个也有待验证,我也是看Csdn有博主这样回答的,输入这行命令后以sysdba身份进行管理界面

0.2.1修改密码第一步,进入控制界面

然后我们就开始修改某个账号的密码了

修改某个账号的密码

这里在网上找到一种修改密码的方法,仅供参考

网上找到一种修改密码的方法
修改密码后使用正确的账号密码登陆是没问题的


ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

这里写图片描述

继续上一步后出现了这个错误,根据网上资料
说要切换登陆用户的身份,这里我一开始选择的是默认的身份

这里写图片描述

然后我们要进行切换为SYSDBA身份进行登陆

这里写图片描述

切换为这个身份后,测试是连接成功的

这里写图片描述

这里关于对这个登陆身份,我在CSDN某博主是这样解释的

这里写图片描述

normal身份是普通用户身份
sysdba身份拥有最高的系统权限,登陆后是 SYS(通过命令“show user”查看一下即可知道)
sysoper身份主要用来启动、关闭数据库,sysoper 登陆后用户是PUBLIC

就这样我使用Navicat for Oracle是成功登陆的,然后接下来就是使用PL/SQL 进行登陆,官方介绍说是目前为止比较专业的Oracle数据库开发软件


PL/SQL Initialization error 初始化失败

这里写图片描述

这个原因是因为PL/SQL只能使用32位的Client进行连接Oracle数据库,而我现在安装的是64位的Client,所以肯定会连接失败,所以我们去下载一个32位的Oracle Client,注意名字

这里写图片描述

解压后是这样的

这里写图片描述


ORA-12154:: TNS:could not resolve the connect identifier specified
点击安装后32位的Oracle Client后,出现了这个报错我们点击取消登陆,进入PL/SQL的系统设置界面,点击工具>首选项,很容易找到的,然后修改连接的方式,两个下拉框里面都是选择32位Oracle Client的那个

这里写图片描述

修改完退出,重新登陆,这个时候就是可以登陆进去了


element listener-class is not allowed here
这个是我在配置Spring的监听器的时候,IDEA莫名其妙地给我报的错,我第一怀疑是顺序放错了,仔细看了下,我的监听器是放在Servlet前面,无奈只能上谷歌上去搜索下了,找到的答案居然是 xml schema约束的问题

这里写图片描述

看起来是没错的,但是在StackOverFlow找到一篇答案

http://stackoverflow.com/questions/17563756/element-listener-class-not-allowed-in-my-web-xml

这里写图片描述

答案居然是要把约束里面的版本改成3.0,那我就改了,改完后不报错了

这里写图片描述

web.xml 文件的 listener 标签必须在 servlet 标签 之前


package com.sun.image.codec.jpeg does not exist

包这个错的原因是因为Maven项目里面引用了一个工具类,涉及到com.sun.image.codec.jpeg 包里面的引用,然后Maven项目没有导入这些包,所以会报错,我们在POM.xml中加入引用就好了

这里写图片描述

解决了这个问题,花两个小时总结出今天遇到的问题,其实弄了四五天了,太菜了没办法,努力!

这篇关于Java医药平台项目之第一天总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735287

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法