记一次SSM项目小结(一)
- 拦截器重定向到localhost
- nginx和tomcat中session失效
- mybatis的xml文件不生效
- 数据库用户创建、权限、及远程连接
- pagehelper配置报错
- 百度情感倾向分析接口使用
拦截器重定向的问题,拦截器重定向到到了localhost
-
当把代码上传到服务器后,登录拦截器进行重定向,然后重定向到了localhost
解决办法:将重定向为绝对网址
这样的话,拦截器进行重定向就不会重定向到localhost
nginx和tomcat之间session的问题
不进行session的nginx的文件配置,可以参考以前博客,如果仅仅进行这样配置,session会失效
server {
listen 80;
server_name 域名;
// 文件地址
root /usr/tomcat/apache-tomcat-8.5.35/webapps/xxx;
charset utf-8;
location / {
// 转发地址
proxy_pass http://127.0.0.1:8080/xxx/;
}
}
关于session的配置,我是参考这篇博主的博客
server {
listen 80;
server_name hole.weno.cc;
root /usr/tomcat/apache-tomcat-8.5.35/webapps/yibanHole;
charset utf-8;
location / {
proxy_pass http://127.0.0.1:8080/yibanHole/;
proxy_cookie_path /yibanHole /;
}
}
进行这样配置后,网站的session就没有问题了
mybatis中mapper的xml文件不生效的问题
这个问题真的是气死我了(ノ▼Д▼)ノ,当我将mapper的xml文件进行修改的时候,文件配置总是不生效,到后面才发现,在源文件中,xml文件进行了改变,但是在输出文件夹中,文件就没有进行改变,文件情况大概就是这样。
这时候,就emm手动更新下吧。
数据库的用户的创建,权限的设定,以及远程连接的设置
个人对数据库不是很了解,所以就权当是记一份笔记了。
- 首先,先是创建创建一个用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username:创建的用户名
- host:指令登录的主机:比如说
localhost
,如果你想远程连接的话,可以使用通配符%
这样,就可以从任意主机登录了。 - password:登录密码,可以为空。
- 然后,进行权限的设置
GRANT privileges ON databasename.tablename TO 'username'@'host'
- privileges:表示用户操作的权限:比如说select,insert,授予所有权限可以使用
ALL
- databasename:数据库的名字,可以使用通配符
*
代表所有 - tablename:表名,可以使用通配符
*
代表所有 - username和host:就是前面创建的。
- 最后,进行刷新
flush privileges;
关于mybatis分页的配置问题
使用pagehelper
进行分页,但是报错如下
Bean must be of 'org.apache.ibatis.plugin.Interceptor' type
Inspection info:Checks value types for Spring injections (properties & constructor arguments)
spring-mybatis.xml的部分文件配置如下,就是参考上一篇博客。
<!--整合spring和mybatis,就不需要像以前一样写mybati的配置文件了-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 自动扫描mapping.xml文件 注意路径是"/"不是"."-->
<property name="mapperLocations" value="classpath:cc/weno/mapper/*.xml"/>
<!--配置分页插件-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
<!-- 参数配置可以参考https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md -->
dialect=mysql
offsetAsPageNum=true
reasonable=true
</value>
</property>
</bean>
</array>
</property>
<property name="configuration">
<!--可以将之前mybatis的一些配置项转移到这里来-->
<bean class="org.apache.ibatis.session.Configuration">
<!--下划线转驼峰-->
<property name="mapUnderscoreToCamelCase" value="true"/>
<!-- 开启日志记录文件
日志配置文件在resources目录下
-->
<property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/>
</bean>
</property>
</bean>
解决方法就是,emm,改变pagehelper
的版本。
使用4.1.6的版本,5.1.2会出现这个错误【其他版本未知】。
<!-- Mybatis分页依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
百度情感倾向分析接口使用
首先,我使用的是一个HttpRequests的jar包进行开发的。
<!--java发送http请求的库-->
<dependency>
<groupId>com.github.kevinsawicki</groupId>
<artifactId>http-request</artifactId>
<version>5.6</version>
</dependency>
发送数据关键的代码如下
JSONObject jsonObject = new JSONObject();
jsonObject.put("text",text);
// 请求数据
// BaiduApiMsg.TEXT_URI = https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?access_token=
// BaiduApiMsg.BAIDU_TOKEN 就是获取到的token
HttpRequest request = new HttpRequest(BaiduApiMsg.TEXT_URI+BaiduApiMsg.BAIDU_TOKEN,"POST");
// 按照百度API文档添加
request.contentType("application/json", "GBK");
// 发送数据
request.send(jsonObject.toJSONString());
String getResult = request.body();
在这里面,一定要发送json格式
的数据【被这个坑了几个小时,╮(╯▽╰)╭】,不然就会返回
{
"error_code": 282004,
"error_msg": "invalid parameter(s)",
"log_id": 3232131231
}
这次主要是记一下开发项目遇到的比较坑的问题,以及要注意的地方。
如果只剩下最后的方法,那必然就是最好的方法 ——《将夜》