SSM项目搭建的主要步骤

一、说明

因本人个人习惯,一般将项目的核心的配置分为如下几个配置文件配置(名字也是本人的个人爱好,不喜别喷),下文说到配置文件时就不会再进行解释。
spring-mybatis.xml:springMybatis配置文件,主要用来配置与mybatis有关的配置,如数据源等。
spring-mvc.xml:springMVC配置文件,主要用来配置与springMVC有关的配置,如视图解析器等。
spring.xml:spring配置文件,主要用来配置其他的配置,如包扫描,事务管理等。
spring-configs.xml:核心配置文件,主要用来引入其他的配置文件和配置一些共用的配置,如引入springMybatis配置文件和配置包扫描等。

二、配置springMVC

springMVC的五大组件,包括“前端控制器”、“后端控制器”、“视图解析器”、“拦截器”和“url映射处理器”。

1、前端控制器(DispatcherServlet)

1.1 在web.xml文件中配置
1.2 给“contextConfigLocation”变量指定核心配置文件的路径(如:classpath:/spring-configs.xml)。在前端控制器启动的时候会使用其来加载核心配置文件。
1.3 设置优先级,一般设置为1(数字越小优先级越高)。如果没有设置,服务器启动时不会启动前端控制器。
1.4 具体代码配置如下:
	<!-- 配置前端控制器 -->
	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<!-- 指定核心配置文件路径 -->
			<param-name>ContextConfigLocation</param-name>
			<param-value>classpath:/spring-configs.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup> <!-- 配置优先级,数字越小越高 -->
	</servlet>
	
	<!-- 
		.do  .action    以前的规范,现在不常用了
		路径描述:
			前缀型: /service/*    只要请求以service开头被前端控制器拦截
			后缀型: .do		   请求拦截以.do结尾
			全路径: /service/*.do 以service开头以.do结尾请求
		
		/*	不管请求是什么路径统统拦截
		/	拦截请求和静态资源,放行jsp等动态资源(静态资源一般会在核心配置文件中配置放行,具体配置看扩展8)
		为restFul格式做准备
	-->
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

2、拦截器(HandlerInterceptor)

本人没有配置

3、视图解析器(ViewResolver,全称为InternalResourceViewResolver(内部资源的视图解析器))

3.1 在springMVC配置文件中配置
3.2 给“Prefix”变量指定前缀,在解析视图时和后缀一起与传入的字符串拼接成完整的url路径
3.3 给“Suffix”变量指定后缀,同上
3.4 具体代码配置如下:
<!-- 配置视图解析器,具体实现类为:InternalResourceViewResolver(内部资源视图解析器) -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    	<property name="Prefix" value="/WEB-INF/views/"/>
    	<property name="Suffix" value=".jsp"/>
</bean>

4、后端控制器(Controller)

4.1 可以配置也可以不配置。
4.2 如果想配置就使用bean标签在springMVC配置文件中配置(一般不建议使用)
4.3 如果不想配置就使用注解的方式。在类前面添加后端控制器注解(@Controller),然后在spring配置文件中配置扫描就行了。(建议使用)
4.4 具体代码实现:
@Controller //后端控制器注解
@RequestMapping("/") //url映射路径注解
public class PageController {
    
	@RequestMapping("doTestPage")
	public String doTestPage(){
    
		return "test_page";
	}
}

5、url映射处理器(HanlderMapping)

5.1 不需要配置URL映射处理器,但需要使用注解方式配置url映射路径。在后端控制器类或方法的前面加上url映射路径的注解(@ RequestMapping)。(建议使用,本人表示只会注解方式,其他方式不会)
5.2 具体代码实现:
@Controller //后端控制器注解
@RequestMapping("/") //url映射路径注解
public class PageController {
    
	@RequestMapping("doTestPage")
	public String doTestPage(){
    
		return "test_page";
	}
}

扩展配置

6、全站乱码处理过滤器(CharacterEncodingFilter)

6.1 在web.xml文件中配置
6.2 给“encoding”变量指定编码格式(一般为UTF-8)
6.3 具体代码配置如下:
	<!-- 为了解决中文乱码问题(POST乱码),配置过滤器 -->
	<filter>
		<filter-name>characterEncodingFilter</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>
  • 20
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值