SSM框架搭建

news/2024/11/24 6:01:44/

SSM环境搭建

1

IDE的话,我用的MyEcplise,如果用Ecplise的话,需要自行配置服务器。

首先,建一个Dynamic工程,需要注意的是一定要勾选上web.xml。

将Spring框架包、jstl包、standard包、common-logging包、aopalliance包、mybatis包、mybatis-spring包、mysql-connector包、common-jbcp包、commons-pool-1.6包、aspectjweaver包复制粘贴到lib文件夹中,并且BuildPath。

2

配置前端控制器。在web.xml中加入如下代码:

其中contextConfigLocation属性值为springmvc配置文件的位置。servlet-mapping来配置需要该前端控制器解析的url类型。

3

在目录下新建Source Folder命名为config,再新建spring和Mybatis文件夹分别用于管理spring和mybatis的配置文件。另外新建mapper、service、serviceImpl、contoller、po包,还有几个文件略过,详细看下面的工程目录:

4

在config/spring目录下新建springmvc.xml文件配置springmvc的处理器映射器、处理器适配器、视图解析器,代码如下:

此配置文件的头部省略,代码自行百度。视图解析器内prefix和suffix属性可设置所有视图文件的前缀和后缀,这样就不用在每个地方都写长长地址了~另外除了配置他们三个,还需要把自定义得Hander文件加载进去,这里使用了一个扫描器,自动加载controller包下的所有Hander文件(标记为@Controller)

5

配置MyBatis的配置文件SqlConfigMap.xml:

以及db.properties、log4j.properties、applicationContext-dao配置文件,具体配置参照我另一篇文章,这里就不多说了。唯一需要注意的是,mybatis和spring需要整合,而spring和springmvc不需要整合,而且这里因为spring除了要管理dao层,还要管理service层、事务,所以有三个配置文件分别命名为applicationContext-dao、applicationContext-service、applicationContext-transaction。其中applicationContext-dao按照之前那篇文章来配置即可,用于spring与mybatis的整合。

配置spring的 事务管理。

此篇文章不涉及事务,所以不多加阐述。

到此环境差不多就配置完成了,以下用一个简单的小程序来说明下ssm是如何接受用户请求,处理并且做出相应的~

小程序

1

mysql数据库新建itemlist表:

用mybatis的逆向工程,自动生成对应的po.java、mapper.xml、mapper.java文件用于操作数据库。

为了维持可扩展性,我们应尽可能地不要修改自动生成的这些文件。新建ItemlistCustom.java并且继承由逆向工程生成的Itemlist的po类。

再建ItemlistCustom.xml文件来编写我们要实现的sql语句。

新建对应的mapper.java文件

这时候我们还缺少一个查询条件的po类

2

编写Service层,新建一个简单的ItemlistService.java文件和对应的实现类。

此处需要注意的是用到了注解@Autowired,我们直接通过spring来管理service,里面的mapper的类spring直接帮我们生成了。

我们也要相应的在applicationContext.xml中配置下service。

3

编写Contoller层。

@Contoller标识此类为Contoller类,否则需要继承Handler类,详细百度非注解处理器映射器和处理器适配器。

@Autowired自动注入service。

@RequestMapping配置url,当用户访问该url时候,会自动执行注解下的方法,也就是说一个url对应handler的一个方法。

modelAndView它所携带的信息为模型数据和逻辑视图,可以通过给它setObject来向前台传递信息。

4

最后在web.xml中配置spring。

另外新建jsp页面。

运行服务器,访问对应的url,页面就会显示数据库中商品列表。

以上仅仅是非常基础的配置,没想到就写了这么多~最后的最后还是要简单写写另外需要注意的地方。

逆向工程

a. 导入mybatis-generator.jar包

b. 编写生成文件所需的xml文件,主要是配置数据库的相关信息。

c. 编写执行文件.java,注意里面的xml文件路径最好写绝对路径。

d. 运行执行文件.java。

传参

自定义的Contoller类的方法参数可以写多个,可查下参数列表。

a.HttpRequest、HttpResponse通过这两个参数可采用原始的servlet进行开发。

b. pojo类。也就是所谓的模型。前台name可以定义为pojo类的属性名,springmvc会自动传入该模型。要传入pojo中的pojo在前台name值可定义为pojo.name进行传递。

c. 简单类型,如int、String。前台的name要和方法中的参数名保持一致。

json数据交互

SpringMVC采用@ResponseBody和@ReuqestBody注解进行转化,进而前端和后端进行交互传递信息。

拦截器

SpringMVC针对HandlerMapping进行拦截器的配置,如果某个HandlerMapping配置了拦截器,HandlerMapping映射成功后执行拦截器。

当然,它也提供全局的拦截器,SpringMVC自动注入每一个HandlerMapping中。

SpringMVC与Struts2的不同

SpringMVC是基于方法开发,而Struts2是基于类开发。SpringMVC接受值于方法的参数列表中,可以进行单例开发,而Struts2接收参数于类的成员变量中,不能进行单例开发。在单例模式下,每个线程所传入的参数值不互相影响,实现隔离。


http://www.ppmy.cn/news/428716.html

相关文章

C#异步详解

异步编程是指在程序执行过程中,不需要等待某个操作完成,就可以继续执行后续的代码。比如我们开发了一个web页面中有一个上传文件功能,我们上传文件时使用异步操作,就不用等待文件的上传时间,可以先在网页上进行其他操作…

DecimalFormat基本用法

1.保留两位小数(截断) 下面展示一些 内联代码片。 double num 11.256;DecimalFormat df new DecimalFormat("#.##");//指定RoundingModedf.setRoundingMode(RoundingMode.DOWN);String str df.format(num);double formatNum Double.parseDouble(str)…

宽带拨号连接显示被远程计算机终止

搜索框打开设备管理器 找到网络适配器 找到IP协议 卸载设备之后重启电脑

C++ STL中stack栈(简单讲解+例题运用)

运用stack函数首先需要头文件#include<stack>&#xff0c;栈是先进后出 stack的常用函数&#xff1a; push&#xff08;&#xff09;——向栈顶压入元素pop &#xff08;&#xff09;——弹出栈顶元素top &#xff08;&#xff09;——访问栈顶元素empty&#xff08…

账号被计算机远程终止,宽带远程连接被终止怎么办

宽带远程连接被终止?拨号上网的时候突然出现错误629,连接被远程计算机终止,这到底是怎么回事?面对连接宽带错误,下面让小编教你解决629被远程计算机终止的问题. 今天小编教你遇到宽带远程连接被终止&#xff0c;如何快速解决吧。 1.操作系统中存在错误&#xff0c;并提示您正…

台式电脑连接宽带远程计算机没反应怎么办,怎么处理宽带连接提示连接被远程计算机终止?...

现在有很多人使用宽带拨号上网&#xff0c;有个小伙伴的宽带有一天就出现了宽带被远程计算机终止&#xff0c;这是怎么一回事呢&#xff1f;这样一来他的宽带就无法上网了&#xff0c;电脑没了网基本什么也干不了。请大家和小编一起来看看这个问题有什么好办法可以解决呢&#…

连接远程电脑的时候提示:此计算机无法连接到远程计算机

本人遇到问题一&#xff0c;采用方法6&#xff0c;成功解决问题。 特此转官方解决方案以推广&#xff0c;文末附链接。 一、无法从客户端连接到远端 错误情况大致为&#xff1a;“此计算机无法连接到远程计算机。请尝试重新连接&#xff0c;如果问题仍然存在&#xff0c;请联系…

Windows远程连接桌面报错“由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系。”

1、win键R打开运行器&#xff0c;使用mstsc -admin命令强制远程 2、输入远程服务器ip、用户名和密码&#xff0c;忽略证书问题的提示框&#xff0c;即可连接进入远程桌面 3、在远程桌面中&#xff0c;打开远程服务器的运行框&#xff0c;使用regedit命令打开注册表 进入计算机…