学习ssm框架,教学视频下载了一个项目包,在idea打开后,也能正常运行,
但是idea项目结构的libraries中的sources和javadocs爆红,这是为什么呢?
还有登陆页面可以正常登录但是乱码了,这是什么原因呢?
针对问题一,libraries中的sources和javadocs是红色的原因可能是缺少对应的源码和文档,需要在项目中将缺失的源码和文档添加进来,即将对应的依赖中的sources和javadocs下载下来,或者在maven仓库中下载对应的项目包,再将其添加到项目依赖中。
针对问题二,页面出现字符乱码,可能是因为页面编码格式不正确导致的。可以尝试修改页面编码格式,确保其与对应的数据库编码格式一致。具体可以在JSP页面头部添加如下代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
如果还是出现乱码,可以尝试在Spring的配置文件中添加如下配置:
<beans>
<bean
class="org.springframework.web.filter.CharacterEncodingFilter">
<property name="encoding" value="UTF-8"/>
<property name="forceEncoding" value="true"/>
</bean>
</beans>
同时,还需要确保对应的数据库编码格式与项目中的编码格式一致,可以在mybatis-config.xml文件中添加如下配置:
<configuration>
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
<!-- 默认为false, 更新SQL为: columnName=#{xxx}, 设置true, SQL语句为:columnName=#{xxx,jdbcType=VARCHAR} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
<!-- 配置Jdbc类型与java类型自动转换 -->
<setting name="callSettersOnNulls" value="true" />
<!-- 全局默认驼峰命名规则 -->
<setting name="logImpl" value="LOG4J" />
</settings>
<typeAliases>
<!-- 扫描@Alias注解指定的别名 -->
<package name="com.atguigu.mybatis.bean"></package>
</typeAliases>
<environments default="mysql">
<environment id="mysql">
<!-- 使用JDBC事务管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/atguigu/mybatis/mapper/EmployeeMapper.xml"/>
</mappers>
<!--配置mybatis插件-->
<plugins>
<plugin interceptor="com.atguigu.mybatis.plugin.PagePlugin">
<property name="dialect" value="mysql"></property>
</plugin>
</plugins>
</configuration>
至此,以上两个问题都可以尝试解决。