SpringMVC的初始

1:其实一开始对SSH和SSM并不是很熟悉的,对SSH可能熟悉些(Struts,Spring,Hibernate)这三个框架。但是由于框架的更新,和出现了更好的框架,一些老框架就被淘汰了,但是呢,一些老公司依旧在用,所以学习的时候最好学习了,这样去公司还可以进行维护,甚至开发。但对于SSM呢(Spring,SpringMVC,MyBatis),LZ就不是很熟悉,所以就学习呗,今天记录一下SpringMVC入门,方便以后lz自己脑补。

2:使用框架呢,第一步肯定是导包了,而SpringMVC框架算是Spring的子项目吧,直接去Spring的libs里面找包就行了,开发步骤如下所示:

  2.1:第一步:导包,导入Spring-core(IoC)包 ,Spring-web包,Spring-mvc的包,如下所示:

    commons-logging-1.1.3.jar【Spring-core(IoC)包】     spring-beans-3.2.5.RELEASE.jar【Spring-core(IoC)包】     spring-context-3.2.5.RELEASE.jar【Spring-core(IoC)包】     spring-core-3.2.5.RELEASE.jar【Spring-core(IoC)包】     spring-expression-3.2.5.RELEASE.jar【Spring-core(IoC)包】  spring-web-3.2.5.RELEASE.jar【Spring-web包】     spring-webmvc-3.2.5.RELEASE.jar【Spring-mvc的包】

  2.2:在/WEB-INF/下面创建一个web.xml文件,内容如下所示:

    注意: servlet-name:这个名字需要特别注意一下,后面会用到;           servlet-class:ctrl+t+shift 搜索DispatcherServlet

          或者Libraries/Web App Libraries/spring-webmvc-3.2.5.RELEASE.jar/DispatcherServlet.class              url-pattern:注意命名格式,不是/*,是*.action/*.do 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 3   <display-name>springMVC01_20170408</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.html</welcome-file>
 6     <welcome-file>index.htm</welcome-file>
 7     <welcome-file>index.jsp</welcome-file>
 8     <welcome-file>default.html</welcome-file>
 9     <welcome-file>default.htm</welcome-file>
10     <welcome-file>default.jsp</welcome-file>
11   </welcome-file-list>
12   
13   <!-- 注册Spring MVC的核心控制器 -->
14   <servlet>
15       <servlet-name>DispatcherServlet</servlet-name>
16       <!-- ctrl+shift+t 搜索DispatcherServlet -->
17       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
18   </servlet>
19   <servlet-mapping>
20       <servlet-name>DispatcherServlet</servlet-name>
21       <url-pattern>*.action</url-pattern>
22   </servlet-mapping>
23   
24   
25 </web-app>

 2.3:创建HelloAction.java控制器类

 1 package com.bie.action;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 import org.springframework.web.servlet.ModelAndView;
 7 import org.springframework.web.servlet.mvc.Controller;
 8 
 9 /** 
10 * @author BieHongLi 
11 * @version 创建时间:2017年4月8日 下午3:39:12 
12 * 控制器Action
13 * 处理器Action
14 */
15 public class HelloAction implements Controller{
16 
17     //业务方法
18     @Override
19     public ModelAndView handleRequest(HttpServletRequest httpServletRequest, 
20             HttpServletResponse httpServletResponse) throws Exception {
21         //ModelAndView表示向视图封装的数据和路径
22         ModelAndView modelAndView = new ModelAndView();
23         
24         modelAndView.addObject("message","这是我的第一个SpringMVC程序,映射器,适配器,视图解析器都可以省略");
25         //真实路径
26         modelAndView.setViewName("/success.jsp");
27         return modelAndView;
28     }
29 
30     
31 }

2.4:创建一个success.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>成功的页面</title>
 8 </head>
 9 <body>
10 
11 <h1>成功的页面Success.jsp</h1>
12 ${requestScope.message }
13 </body>
14 </html>

 2.5:配置:DispatcherServlet-servlet.xml

    在/WEB-INF/创建DispatcherServlet-servlet.xml配置文件;         (1)xml头部信息与spring.xml相同         (2)注意:该配置文件的命名规则:             web.xml文件中配置的<servlet-name>的值-servlet.xml             比如:DispatcherServlet-servlet.xml【注意大小写】

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4     xmlns:p="http://www.springframework.org/schema/p"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans
 7          http://www.springframework.org/schema/beans/spring-beans.xsd
 8           http://www.springframework.org/schema/context
 9          http://www.springframework.org/schema/context/spring-context.xsd
10          http://www.springframework.org/schema/aop
11          http://www.springframework.org/schema/aop/spring-aop.xsd
12          http://www.springframework.org/schema/tx
13           http://www.springframework.org/schema/tx/spring-tx.xsd">
14      
15      
16      <!-- 
17          必写
18          1:注册Action
19              name:表示请求的路径
20              class:表示处理的全路径
21       -->
22      <bean name="/HelloAction.action" class="com.bie.action.HelloAction">
23      
24      </bean>
25      
26      
27      <!-- 
28          可选的:映射器,适配器,视图解析器
29       -->
30      <!--可选 
31          映射器
32          org.springframework.web.servlet/handler/BeanNameUrlHandlerMapping.class
33          BeanNameUrlHandlerMapping:表示将Bean标签的name属性当作Url请求
34       -->
35      <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
36      
37      </bean>
38      
39      <!--可选 
40          适配器
41          org.springframework.web.servlet/mvc/SimpleControllerHandlerAdapter.class
42          SimpleControllerHandlerAdapter:表示用于寻找实现了Controller借口的Action类
43       -->
44      <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter">
45      
46      </bean>
47      
48      
49      <!--可选 
50          视图解析器
51          org.springframework.web.servlet/view/InternalResourceViewResolver.class
52           InternalResourceViewResolver:表示通过ModelAndView对象中封装的视图名找到真正的页面
53       
54       -->
55      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
56      
57      </bean>
58      
59      
60      
61 </beans>    

最后运行即可,输入就是DispatcherServlet-servlet.xml的bean的name的值,如下所示:

<bean name="/HelloAction.action" class="com.bie.action.HelloAction"> </bean>  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nnngu

01 Spring Boot 的简单配置和使用

Spring Boot 简介 使用 Spring Boot 可以让我们快速创建一个基于 Spring 的项目,而让这个 Spring 项目跑起来我们只需要很少的...

3315
来自专栏北京马哥教育

性能测试与持续集成(JMeter+Jenkins)

目的 将性能测试与持续集成挂接起来 性能测试: JMeter 持续集成: Jenkins JMeter 下载JMeter,官网: http://jmeter.a...

4035
来自专栏dalaoyang

SpringBoot返回json和xml

有些情况接口需要返回的是xml数据,在springboot中并不需要每次都转换一下数据格式,只需做一些微调整即可。 新建一个springboot项目,加入依赖j...

3298
来自专栏全栈架构

Spring Boot 与 Kotlin 处理Web表单提交

我们在做web开发的时候,肯定逃不过表单提交,这篇文章通过Spring Boot使用Kotlin 语言 创建和提交一个表单。

662
来自专栏闵开慧

ERROR security.UserGroupInformation: Priviledge...

"Failed to set permissions of path"问题 参考文献:https://issues.apache.org/jira/browse...

3469
来自专栏Laoqi's Linux运维专列

MySQL高可用架构之MHA

2803
来自专栏web编程技术分享

用SpringBoot搭建简单电商项目 01

7148
来自专栏dalaoyang

服务链路追踪---Sleuth

Sleuth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决...

41316
来自专栏nummy

flume RPC 接口开发

1754
来自专栏Netkiller

Spring boot with Git version

本文节选自《Netkiller Java 手札》 5.23. Spring boot with Git version Spring boot 每次升级打包发给...

2988

扫码关注云+社区