通过IDEA创建完整的web服务实现增删改查(包括会遇到的各种问题)——极为详细!!!——(1)IDEA配置web服务

本文主要是介绍通过IDEA创建完整的web服务实现增删改查(包括会遇到的各种问题)——极为详细!!!——(1)IDEA配置web服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在不使用框架的前提下,构建一套完整的web服务是B/S后端程序员必修课,下面是作者记录的自己的过程,保存在此更多也是让日后的自己纠错。此过程非常多很基础很不该犯的基础错误,以警示自己,也让各位少踩坑。

一. 在IDEA上部署web服务。

  1. 首先新建一个项目-File-New-Project–>选择创建一个空项目
    在这里插入图片描述
    2.在创建成功后,新建一个module,再次点击file-new-module,点击java,创建一个java普通项目,在这里插入图片描述
    3.创建完成后,鼠标右击项目,点击Add Framework Support,勾选Web Application选项,点击确定,如图所示:
    在这里插入图片描述

二.进行web服务相关配置

  1. 点击file——project-structure,点击Sources,将Language level设置为你的当前版本(不调整将会报错,服务无法进行)。这里作者设置的第八个版本,如图所示。
    在这里插入图片描述
    2.在菜单栏中点击Run-Edit Configurations,点击左上角+号,添加Tomcat Server服务,点击local.
    在这里插入图片描述
    3.在local中,点击Server,进行配置:
    Application server 是选择电脑中的Tomcat版本,这里选择你自己电脑的版本.

Open browser选择默认浏览器,这里俺需要选择,最好选择火狐或者谷歌。

JRE处选择合适的电脑中的jre或者jdk。
其余的按照默认选项设置。
在这里插入图片描述

再点击Server右侧的Depolyment,点击创久右侧的+号,添加当前的Server。
在这里插入图片描述
点击Apply,然后退出。
4.在web.xml中配置Servlet规范,如图所示:
在这里插入图片描述

三.测试
到此,配置已经全部完成,接下来进行测试:
在这里插入图片描述
在这里插入图片描述
配置成功。

问题1:数据库报错:无法识别服务器时区值或表示多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序
显示:服务器时区值 未识别或表示多个时区。 如果要使用时区支持,则必须配置服务器或JDBC驱动程序(通过“服务器时区”配置属性)以使用更具体的时区值。

解决方案:
服务器时区值’'无法识别或代表多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过“ serverTimezone”配置属性)以使用更特定的时区值。
我这里是因为url未配置serverTimezone,把“jdbc:mysql://localhost:3306/ssm-mysql”改成"jdbc:mysql://localhost:3306/ssm-mysql?serverTimezone=GMT%2B8这个就好"
(在url后面添加 ?serverTimezone=GMT%2B8 即可)
问题2:导入mysql-connector-java包成功,却依然ClassNotFoundException
这里提供一个一劳永逸的解决办法
解决方案:
将电脑中的mysql-connector-java连接包放入Tomcat的lib中,此后,便再也不用配置mysql驱动包了。Tomcat会自动导入。
问题3: Can not call getNString() when field’s charset isn’t UTF-8
解决方案:
将getNString()变成getString
相比之下,getNString()如果查询了属性不为NCHAR、NVARCHAR、LONGNVARCHAR的字段,会报错。而getString()可以查询所有,并不会报错。若非字符或字符串,则会toString一下。

这篇关于通过IDEA创建完整的web服务实现增删改查(包括会遇到的各种问题)——极为详细!!!——(1)IDEA配置web服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

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

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

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

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

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

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

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

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

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l