记一次SSM项目小结(一)

ssm框架 环境配置 服务器配置 解决方法 
  • 拦截器重定向到localhost
  • nginx和tomcat中session失效
  • mybatis的xml文件不生效
  • 数据库用户创建、权限、及远程连接
  • pagehelper配置报错
  • 百度情感倾向分析接口使用

拦截器重定向的问题,拦截器重定向到到了localhost

  • 当把代码上传到服务器后,登录拦截器进行重定向,然后重定向到了localhost

    解决办法:将重定向为绝对网址

    记一次SSM项目小结(一)-LMLPHP
    1544881869038
    记一次SSM项目小结(一)-LMLPHP
    1544881921624

    这样的话,拦截器进行重定向就不会重定向到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文件进行了改变,但是在输出文件夹中,文件就没有进行改变,文件情况大概就是这样。

记一次SSM项目小结(一)-LMLPHP
1544885690933

这时候,就emm手动更新下吧。

数据库的用户的创建,权限的设定,以及远程连接的设置

个人对数据库不是很了解,所以就权当是记一份笔记了。

  1. 首先,先是创建创建一个用户
 CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username:创建的用户名
  • host:指令登录的主机:比如说localhost,如果你想远程连接的话,可以使用通配符%这样,就可以从任意主机登录了。
  • password:登录密码,可以为空。
  1. 然后,进行权限的设置
 GRANT privileges ON databasename.tablename TO 'username'@'host'
  • privileges:表示用户操作的权限:比如说select,insert,授予所有权限可以使用ALL
  • databasename:数据库的名字,可以使用通配符*代表所有
  • tablename:表名,可以使用通配符*代表所有
  • username和host:就是前面创建的。
  1. 最后,进行刷新
 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
}

这次主要是记一下开发项目遇到的比较坑的问题,以及要注意的地方。

如果只剩下最后的方法,那必然就是最好的方法 ——《将夜》

12-16 11:15