oracle,mysql,406,json转换错误整理

                      一. 数据库-Oracle

  1. 数据库的安装,将两个压缩包解压到一个目录下,然后点击安装,注意其中的相关事项:

  1.1将基目录和软件安装不能在一个目录,可以将软件放在基目录的子包下。

                             遇到的问题  

1. 安装过程中出现监听异常,后台服务监听程序启动起来后自动停止,解决办法,在开始菜单中找到Oracel的程序下,

打开Net Configuration Assistant --->监听程序配置----->配置监听程序名称----->选中TCP协议------>使用标准端口号1521--->完成

打开Net Manager ------->监听程序-------->LISTENER------->监听位置

配置好 重启监听程序

                     Oracle命令

用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS
来创建表空间,这个方法用起来更加简明快捷。
  假设: 文章假设,如果您用的是Linux系统,那么Oracle用户名为oracle。同时,您是在oracle服务器上操作。
  如果是在Windows系统下, 请先点击“开始”,然后点“运行”,输入cmd并点击“确定”,打开命令行窗口
  如果是在Linux的图形窗口,请右键点击桌面并点击“打开终端”,然后输入    su  -   oracl
  做好上述准备工作以后,输入以下命令:
sqlplus   /nolog
  回车后,将出现提示符 SQL>
  这时输入
conn   /   as   sysdba
  一般即可登录,如果失败的话,可以试一下用conn    sys/sys用户的密码   as sysdba来重试一下
  接下来,我们看看您当前的数据库文件一般都是放在哪里的:
select    name    from    v$datafile;
windows下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\oracle\oradata\orcl\system01.dbf
D:\oracle\oradata\orcl\undotbs01.dbf
D:\oracle\oradata\orcl\cwmlite01.dbf
D:\oracle\oradata\orcl\drsys01.dbf
D:\oracle\oradata\orcl\indx01.dbf
D:\oracle\oradata\orcl\tools01.dbf
  说明您的数据文件是放在 D:\oracle\/oradata\orcl\ 这个目录下的
Linux下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/oradata/orcl/system01.dbf
/oracle/oradata/orcl/undotbs01.dbf
/oracle/oradata/orcl/cwmlite01.dbf
/oracle/oradata/orcl/drsys01.dbf
/oracle/oradata/orcl/indx01.dbf
/oracle/oradata/orcl/tools01.dbf
  说明您的数据文件是放在 /oracle/oradata/orcl/ 这个目录下的
  好,我们可以开始创建数据库表空间了,创建数据库表空间的命令格式如下:
create  tablespace  表空间名  datafile   '对应的文件名'    size   大小;
  举例如下:
  对于上述的windows情况:
create  tablespace  yang   datafile   'D:\oracle\oradata\orcl\yang.dbf'    size   3000m;
3000m指的是3000MB
  对于上述的Linux的情况:
create  tablespace  yang   datafile   '/oracle/oradata/orcl/yang.dbf'    size   3000m;
  至此,所需的表空间已建立。
  接下来我们开始创建用户,创建用户的命令格式如下:
create  user  用户名  identified   by   密码  default   tablespace   用户默认使用哪一个表空间;
  修改用户的权限:
grant   角色1,角色2  to  用户名;
  举例如下:
create   user   yanglei   identified    by    yang123    default   tablespace   yang;
grant   dba, connect    to   yanglei;
授权成功。

                     二 数据库 --------mysql

  1. mysql数据库不大,一般装在C盘就可以,但是数据库文件最好不要放在系统盘,随着数据库数据的不断增加,会不断增加系统盘的容量。

数据库启动出现的问题:

   2.1 监听程序启动不了:

   利用事件查看器查看原因

----管理

 

查看详细信息

 

 

      是因为修改了my.init文件造成的。

     

        图2.1  Mysql安装目录下的结构

  打开mysql文件下的my.init文件,修改这两处

修改时会提示权限不足,拒绝修改,可以将整个文件拷贝到桌面修改,修改后将文件复制到安装目录下,覆盖掉原来的文件即可。

然后在管理员权限下打开cmd, net start mysql 重启监听

2.3登录mysql 遇到的问题

 

仔细斟酌,觉得密码就是你正确的,前一天还登陆成功的,为什么呢?

试了半天:没有使用密码登录

结果就成功进去了!!!!

                    mysql 命令

     

3           406错误解决

在秋林商城项目中,遇到flash插件更新问题,按网上教程更新了google,firefox浏览器,但还是不好使 ,最后用IE,结果出来,但是图片上传时一直报

 ****当我去掉@Responsebody时不报这个错误,居然是404,顺带也记住了,当项目中不加@Responsebody时会报404错误的,所以以后在controller层一定要加@Responsebody

后来去浏览器工具查看

报406错误

去网上找解决办法,尝试着导jackjson-core等包,发现我都已经导入了,

再仔细找原因,结果发现是请求和响应的Content-Type不一致造成的,去哪改呢?

项目中该jsp的消息头,和去controller中改@RequestMapping(value=”upload/pic”,products=”application/json;charset=utf-8”)

改完后重试没有效果,还是一样406错误,后来去mvc中修改了配置文件

<bean

class="com.jt.common.spring.exetend.jackson.CallbackMappingJackson2HttpMessageConverter">

 <property name="supportedMediaTypes">

    <list>

                        <value>text/plain;charset=utf-8</value>

                        <value>text/html;charset=UTF-8</value>

                        <value>text/json;charset=UTF-8</value>

                        <value>application/json;charset=utf-8</value>

                    </list>

                </property>

</bean>

成功!!!!

 

      4 ngnix修改后重启不了

1.修改后,怎么也启动不了,就在cmd下查询

    netstat -nao 所有端口,

    Netstat -nao|findstr “80” 查询80端口被占用的

关闭对应的pid进程

  1. 关掉过后还是不行,最后就去nginx日志文件查看,logs-->error

  发现是修改的时候出错了,去config中重新配置,将原先配置的删除,重启就成功了。

   4. ObjectMapper,java对象和json串之间转换工具类

  1. 声明 private static final ObjectMapper MAPPER = new ObjectMapper();
  2. 全局唯一,单例
  3. 当pojo有数据库表中没有的字段,而且还要触发这些字段get方法

MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

  1. MAPPER.writeValueAsString 把java对象转成json串
  2. JsonNode jsonNode = MAPPER.readTree(jsonItemCat); 把json串转成jsonNode对象
  3. MAPPER.readValue(jsonNode.traverse(),

MAPPER.getTypeFactory().constructCollectionType(List.class, ItemCat.class));

把jsonNode对象,转成集合对象,List<ItemCat>

出现的问题:

Unrecognized field "state" (class com.jt.manage.pojo.ItemCat), not marked as ignorable (8 known properties: "sortOrder", "status", "isParent", "parentId", "created", "updated", "id", "name"])

解决:两个地方都加,否则会出现第一次加载没错,但是第二次读缓存的时候还是会报错

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值