菜鸡关于javaweb开发的学习总结(1)

本文详细介绍了SSM框架(Spring、SpringMVC、MyBatis)在JavaWeb项目中的应用,包括包结构设计、配置文件设置及解决乱码问题的方案。深入探讨了Spring配置整合MyBatis及PageHelper分页插件的方法,以及Spring MVC中JSON数据格式的规范配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从最基础的结构知识开始,因为现在处于大三到大四的关键时间段,深感自己在技术层面的不足,于是自己选择了一个免费实训项目先行整体地回顾了一遍javaweb开发的知识,接下来在深层次学习这些知识
SSM框架:Spring——SpringMVC——MyBatis
包结构:controller(控制层)、service.impl(业务层)、mapper(接口层)、entity(实体类)、utils(工具类)PS:如果有需要可以增加其他package
配置文件:db.properties(数据库配置文件):在其中配置driver、url、username、password等,这里我在后续开发中遇到一个问题,即在mapper执行sql语句后传入的汉字不被MySql识别,因此需要在配置中的url在数据库连接后增加这一句?useUnicode=true&characterEncoding=UTF-8来负责将汉字转换成MySql能够识别的utf-8格式
applicationContext.xml(Spring的配置文件):在其中读取db.properties配置数据源,整合MyBatis配置包扫描,事务管理,ioc\aop等,在这里我因为在项目学习中使用了分页插件pagehelper,因此需要在整合MyBatis中将插件的配置并入进去,实际上如何使用在该插件GitHub的开发文档中有说明,这里附上网址https://pagehelper.github.io/
这里展示一下我在项目中的使用的配置方式

<property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <!--使用下面的方式配置参数,一行配置一个 -->
                        <value>
                            helperDialect=mysql
                            reasonable=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>

Spring-mvc.xml(如其名的配置文件):扫描控制层、视图适配器、配置自动扫描,在这里要注意如果你在前后端传递数据使用的是json格式的情况下,需要配置格式规范防止乱码的情况产生

<mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>

            </bean>
        </mvc:message-converters>

web.xml(web项目必须有的配置文件):这个配置文件就是将上面那些其他配置文件整合进来,配置自动扫描和监听器,在通过浏览器访问的时候能根据哪个jsp中写的请求访问哪个控制层的方法,同样有防止前后端因为数据传递格式所需要的人为规范

<!-- 解决乱码 -->
    <filter>
        <filter-name>enconding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>

就跟人的学习一样,项目的基础打好了,在实际开发中出现的错误才会少
菜鸡的个人记录,如果有什么纰漏欢迎指正,学习要谦虚地接收别人的意见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值