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 条评论
登录 后参与评论

相关文章

来自专栏nummy

flume RPC 接口开发

2334
来自专栏北京马哥教育

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

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

4805
来自专栏Netkiller

Spring 常见问题与解决方法

本文节选自《Netkiller Java 手札》 地址 http://www.netkiller.cn/java/spring/ 下面是日志中常见的异常与解决方...

4455
来自专栏闵开慧

ERROR security.UserGroupInformation: Priviledge...

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

3619
来自专栏全栈架构

Spring Boot 与 Kotlin 处理Web表单提交

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

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

MySQL高可用架构之MHA

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

用SpringBoot搭建简单电商项目 01

8658
来自专栏后台及大数据开发

springBoot系列教程05:fastjson的集成、配置及使用

springBoot自带的json用着不太习惯,已习惯了fastJSON,下面介绍下fastjson的配置

1271
来自专栏颇忒脱的技术博客

Nginx反向代理WebSocket响应403的解决办法

在Nginx反向代理一个带有WebSocket功能的Spring Web程序(源代码地址)时,发现访问WebSocket接口时总是出现403响应,Nginx的配...

2595
来自专栏hbbliyong

MySQL 8.0版本连接报错:Could not create connection to database server.

 准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator...

2.8K2

扫码关注云+社区

领取腾讯云代金券