关于SSM框架的一些问题以及解决方法

目录

前言

一、web的蓝色小点消失?

二、关于创建maven的方式?

1.用最简单的方式创建

2.用最干净的方式创建

三、关于上传的文件重新部署tomcat后消失的问题?

四、关于css文件和js文件在ssm项目无法解析的问题?

五、关于mybatis中SQL语句sum返回值的问题?




前言

由于最近在做基于SSM框架开发商城项目,所以在这边把一些问题和解决方法罗列出来,这篇博客会持续更新

一、web的蓝色小点消失?

这个情况是有时候项目异常关闭导致的结构失效,我遇到过很多次,下面是解决方法

1.从文件里面点击项目结构,也可以使用快捷键Ctrl+Alt+Shift+S

2.打开后选中模块

 3.在上面加号里面找到web

 4.设置完web路径就点击应用(一般来说,会自动检索web路径,所以可以直接点击应用)

二、关于创建maven的方式?

1.用最简单的方式创建

选择maven,勾选从原型创建,然后找到webapp,选择webapp,点击下一步

然后修改名称即可,工作坐标按实际需求来,然后下一步

 点击下一步后出现下面界面

 主路径是你的maven路径

用户设置文件是主路径下conf里的settings.xml文件

本地存储库是自己在主路径下建立的包,用来存放lib文件,如下图所示

当然,为了避免麻烦,每次都重复设置maven,我们一般在idea的设置里面搜索maven,在里面一键修改,避免每次创建项目都重新填写

 不出意外我们创建完项目是这样子的,如下图

 这样一个有main,有webapp,有pom.xml的maven项目,当然这样子还不够,我们还需要在main里面新建目录来存放我们的java文件和资源文件

当然idea已经知道我们需要什么了,直接点击java和 resources就行,最后项目结构如下图

2.用最干净的方式创建

和原来一样的步骤不多赘述,这次我们不需要勾选从原型创建,直接点击下一步

然后输入名称然后完成

相比方法1,这次的项目明显干净很多

 然后右击项目添加框架支持

选择web,然后一般是4.0版本

最后项目结构是这样子的

总结

相比方法1我更喜欢方法2,因为它简洁,没有多余的东西,方法一第一次创建会下载很多用不到的插件和配置,方法2相对来说比较不占内存

三、关于上传的文件重新部署tomcat后消失的问题?

 //创建保存位置
        File desFile = (new File(request.getServletContext().getRealPath("/"), fn)).getParentFile();

我们可以用这个把他放在项目根目录就可以,理论上不放在部署的工件里面,那么重新部署就不会消失,这边提一句,可以用下面的代码分析是不是图片

 String fn = file.getOriginalFilename();
 String ext = fn.substring(fn.indexOf(".") + 1);
        
        if (!(ext.equals("jpg") || ext.equals("png") || ext.equals("gif"))) {
            request.getSession().setAttribute("msg", "不是图片");
            return;
        }

 先把文件名称的后缀拿到,去判断是不是jpg或者其他图片的格式然后可以用return结束进程

四、关于css文件和js文件在ssm项目无法解析的问题?

1.在web.xml文件中配置下面的代码,防止DispatcherServlet过滤掉css和js文件


        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.html</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.css</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.js</url-pattern>
        </servlet-mapping>

2.在spring-mvc.xml中配置

 <!--静态资源过滤-->
    <mvc:default-servlet-handler/>
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/image/**" location="/image/"/>

若还没有解决,之后进行补充

五、关于mybatis中SQL语句sum返回值的问题?

sql中的 sum() 返回返回值在mybatis中是作为BigDecimal来返回的,而不能用Integer来接收

我当时试着用Integer来接收,返回的null

 <select id="selectSumSale" resultType="String">
        select sum(sale)
        from goods
 </select>

经过测试,可以先使用String来接收,然后在controller层再转化成Integer

可以使用Integer下面的parseInt来进行转换

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境_chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值