在不使用框架的前提下,构建一套完整的web服务是B/S后端程序员必修课,下面是作者记录的自己的过程,保存在此更多也是让日后的自己纠错。此过程非常多很基础很不该犯的基础错误,以警示自己,也让各位少踩坑。
一. 在IDEA上部署web服务。
- 首先新建一个项目-File-New-Project–>选择创建一个空项目
2.在创建成功后,新建一个module,再次点击file-new-module,点击java,创建一个java普通项目,
3.创建完成后,鼠标右击项目,点击Add Framework Support,勾选Web Application选项,点击确定,如图所示:
二.进行web服务相关配置
- 点击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一下。