SSM框架练习总结-程序员宅基地

技术标签: Java Web  ssm框架  

这段时间,花了一些时间做了一个SSM(SpringMVC+Spring+Mybatis)项目的练习,数据库使用的MySQL,前端使用bootstrap和jQuery,项目使用maven做管理。
一、遇到的一个很大的困难就是maven,在搭建阶段由于不知道搭建的流程出了很多问题,之后改了很久,才知道是搭建项目出了问题;
二、项目里包的版本也导致了很多错误,各个包的版本需要匹配才能发挥作用,否则会报错,以及单独每个包的版本也会导致项目出错;
三、在进行输入内容的格式规范验证时,不仅需要在前端进行规范验证,也要在后台进行规范验证;
四、@ReponseBody 和 Jackson 包的使用可以做到很方便的返回json字符串,但是在进行配置时应注意Jackson包的版本和配置,根据选取的Spring包的版本选择相应的Jackson包版本,然后再根据Jackson包的版本选择相应的配置;
五、在进行分页时,可以选择PageHelper这个分页插件,同时在bootStrap中选择前端的显示;
六、采用REST风格的开发,可以在RequestMapping中采用相同的url,然后根据(POST、PUT、DELETE、GET)等方法的不同选择相应的方法,再选择PUT方法并需要封装类提交时,需要在web.xml中加入

<filter>
		<filter-name>HttpPutFormContentFilter</filter-name>
		<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>HttpPutFormContentFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

进行自定义类的封装;
七、使用MockMvc可以进行虚拟mvc请求,获取处理结果,可用来进行不经过网页的springMVC的测试;
八、相对于使用hibernate,mybatis的好处在于:hibernate是全自动,很多的东西都有hibernate完成了,如果想要进行自定义则需要需要hql,增加了学习负担,而mybatis是半自动的,虽然也做了许多事情,但是我们依然可以使用SQL进行一些自定义操作;
最后,附上GitHub链接

欢迎关注我的公众号:

编程技术与生活(ID:hw_cchang)

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/github_39611196/article/details/77899674

智能推荐

余弦距离的应用 -- cosine distance-程序员宅基地

在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度来表示,其取值范围为[ -1, 1]。 如果希望得到类似于距离的表示,余弦距离 = 1 - 余弦相似度,其取值范围为[ 0, 2 ],即相同的两个向量余弦距离为0。当一对文本相似度的长度差距很大、但内容..._cosine distance

java网络编程-程序员宅基地

Java网络编程Java的网络编程主要涉及到的内容是Socket编程,那么什么是Socket呢?简单地说,Socket,套接字,就是两台主机之间逻辑连接的端点。TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。Socket,本质上就是一组接口,是对TCP/IP协议的封装和应用(程序员层面上)。整体流程Socket编程主要涉及到客户端和服务器端...

【Android】快速实现仿美团选择城市界面,薪资翻倍_suspensionindexbar-程序员宅基地

上文提到,重构后,SuspensionDecoration数据源依赖的接口是ISuspensionInterface,如下:public interface ISuspensionInterface {//是否需要显示悬停titleboolean isShowSuspension();//悬停的titleString getSuspensionTag();}在BaseIndexBean里实现,默认显示悬停,分组title和IndexBar的Tag是一样的。public abstract c_suspensionindexbar

拼图游戏java(四)实现拼图与播放音乐双线程-程序员宅基地

* 多线程显示* 建立一个线程* 在定义类时,若该类将要作为线程执行的一个任务,则定义时需要实现Runnable接口* 重写run方法* 新建一个类A的实例,即相当于一个新的任务* 新建一个Thread类的实例t,在新建是将类A的实例,作为参数传进去* 启动线程t,即t.strat,即开启一个线程,交由cpu调度执行* 当一个线程被开始调度执行时,会自动执行线程所做任务...

【索引】AOAPC I: Beginning Algorithm Contests (Rujia Liu)_beginningalgorithmcontests2nderrata-程序员宅基地

AOAPC I: Beginning Algorithm Contests (Rujia Liu)_beginningalgorithmcontests2nderrata

Ubuntu小火车_思禾的博客-程序员宅基地

Ubuntu小火车安装sudo apt-get install sl运行sl卸载sudo apt-get remove sl_ubuntu小火车

随便推点

mysql关于Incorrect date value: '0000-00-00' for column 'xxxx' at row 1-程序员宅基地

此错误是因为Mysql5.7版本及以上版本的datetime值不能为'0000-00-00 00:00:00',处理方法:1.单独导出使用了datetime字段类型,并且值有0000-00-00 00:00:00'的表,批量修改掉值在导入,此方法工作量大。2.修改mysql.int在[mysqld]添加一项:sql_mode=NO_ZERO_DATE,ERROR_FOR_DIVIS..._incorrect date value: '0000-00-00' for column

Launcher3让壁纸不滑动-程序员宅基地

Workspcae.java类中的syncWithScroll方法直接返回http://m.blog.csdn.net/article/details?id=50196123

【转】Linux常用命令大全-程序员宅基地

系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info...

SpringBoot2+Druid+MyBatis+MySql实现增删改查-程序员宅基地

1.配置pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http...

图示法求候选键------软考_根据函数依赖集画图求候选关键字-程序员宅基地

图示法求候选键的过程如下:(1)将关系的函数依赖关系,用"有向图"的方式表示。  (2)找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。  (3)若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。如果一个属..._根据函数依赖集画图求候选关键字

gurobi之python调用实例_Gurobi+Python例子1-程序员宅基地

简单的Python示例本节将通过一个简单的Python示例来工作 说明Gurobi Python接口的使用。 该示例构建 一个模型,优化,和输出最优目标的价值。我们的示例优化以下模型:最大化x+y+2 z受x+2 y+3 z4x+y1x,y,z的二进制Pythonfrom gurobipy import *try:# Create a new modelm = Model("mip1")# Cre..._gurobi python例子

推荐文章

热门文章

相关标签