第一步:新建案例工程:

aaarticlea/png;base64,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" alt="" width="316" height="426" />

这个案例用到的是1.com.guigu.shen.Action的包里面的文件(Helloaction.java是控制类,springmvc_005.xml是springmvc的配置文件)。2.springmvc.xml。3.index.xml。4.web.xml。5.jsp/success.jsp

第一步:先写web.xml;

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SpringMvc_10day_self</display-name>
<!-- Spring提供了一个Filter专门用来解决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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <servlet>
<!--这个名字可以随便取得,但是这个名字取了之后,以后在 WEB-INF下面创建SpirngMVC的配置文件是,命名必须以这个开头, 所以这里取名叫做DispatcherServlet,那么之后的xml文件取名必须为DispatcherServlet-servlet.xml(一个字都不能差) -->
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 通知DispatcherServlet去指定目录下找到springmvc.xml配置文件 -->
<!--
注意这里的 <param-name>contextConfigLocation</param-name>一个字母都不能有错
一旦有错就会去WEB-INF下面去找
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.action</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
</web-app>

第二步:写spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
>
<import resource="com/guigu/shen/Action5/springmvc_005.xml"/>
</beans>

第三步:写com/guigu/shen/Action5/springmvc_005.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
>
<!-- 控制器(程序员)(必须配置) -->
<context:component-scan base-package="com.guigu.shen.Action5"/>
<!-- <bean name="/hello.action" class="com.guigu.shen.Action5.HelloAction"></bean> --> <!-- 基于注解的映射器(可选)
这个类和以前的xml方式的类不同,专门是注解用的
-->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> <!-- 基于注解的适配器(可选)
这个类和以前的xml方式的类不同,专门是注解用的
-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> <!-- 视图解析器(可选)
这个类和以前的xml方式的类一样
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/> </beans>

第四步:写HelloAction.java控制器。

package com.guigu.shen.Action5;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; /*
* 单例的控制器(由程序员去写)
* 以前我们写控制的做法是implends Controller接口,
* 或者extends Abs...抽象类
* 现在我不想这么写了,用注解来做,写一个@Controller这样就代表这个是一个控制器。这样解析这个类
* 时就知道他是控制器了。
*
*
*/
@Controller
public class HelloAction { public HelloAction() {
System.out.print(this.hashCode());
} /*
*
* @RequestMapping(value="/hello")表示这个方法是用来响应/hello.action请求的
* 按住alt+/就是跳出来注解里面的参数。只要是/hello.action的请求都会交给HelloAction中的
* helloMethod方法来处理。
*
*/
@RequestMapping(value="/hello") public String helloMethod(Model model) throws Exception
{
System.out.println("Hello:helloMethod()");
//往Model中封装数据。
model.addAttribute("message", "这是hello请求");
return "jsp/success.jsp";
} /*
*
* @RequestMapping(value="/bey.action")表示这个方法是用来响应/bey.action请求的
* 按住alt+/就是跳出来注解里面的参数。只要是/bey.action的请求都会交给HelloAction中的
* beyMethod方法来处理。
*
*/
@RequestMapping(value="/bey.action")
//@RequestMapping(value="/hello")
public String beyMethod(Model model) throws Exception
{
System.out.println("Hello:helloMethod()");
//往Model中封装数据。
model.addAttribute("message", "这是bye请求");
return "jsp/success.jsp";
} }

第五步:编写success.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
Success. <br>
${requestScope.message} </body>
</html>

最后测试一下:输入http://127.0.0.1:8080/SpringMvc_10day_self/bey.action

结果:跳转到success.jsp 并输出“这是bye请求”内容。

输入http://127.0.0.1:8080/SpringMvc_10day_self/hello.action

结果:跳转到success.jsp 并输出“这是hello请求”内容。

对上面的案例流程说明一下:

1.浏览器发出请求,比如hello.action

2服务器根据web.xml的配置来到了DispatcherServlet.并且DispatcherServlet把这个请求给了映射器,映射器会去springmvc_005.xml中去寻找控制器类,到了那里发现了

<context:component-scan base-package="com.guigu.shen.Action5"/>知道了这是注解,所以马上去"com.guigu.shen.Action5"包下面去寻找有没有被

@Controller注释过的类,发现有的,然后找到了HelloAction类。然后去这个类里面去找被注解了@RequestMapping(value="/hello")的方法,然后找到了helloMethod(Model model)方法然后去执行这个方法。执行好之后返回一个Model,然后把这个Model交给视图解析器去解析,解析好之后在交给DispatcherServlet,最后DispatcherServlet根据解析出来的网址跳转到success.jsp 并输出“这是hello请求”内容。

问题:

1.刚开始的时候我在springmvc_005.xml是这么配置的。

<context:component-scan base-package="com.guigu.shen.Action5"/>
<bean name="/hello.action" class="com.guigu.shen.Action5.HelloAction"></bean>
这两个一起配置,然后就会出错,说是重复了。你想啊第一句是通过注解的方式去找了。第二句直接通过xml的方式去找了,相当于去找了两次,当然会冲突啊。 2. 把<context:component-scan base-package="com.guigu.shen.Action5"/>去掉。
保留<bean name="/hello.action" class="com.guigu.shen.Action5.HelloAction"></bean>
我在想为什么也会成功啊?照理说,我在HelloAction类里面的方法也是用注解去配的啊,我都把注解那句去掉了,保留了xml的方式,之前次采用xmL的方式时,里面的
执行方法是有特定写法的?答案:<context:component-scan base-package="com.guigu.shen.Action5"/>这句只是告诉系统前去com.guigu.shen.Action5这个包里面寻找
被@Contolrr注解过的类。至于里面的 @RequestMapping(value="/hello") 这些注解当然可以使用啊。然后只是把寻找里面控制类的任务直接由
<bean name="/hello.action" class="com.guigu.shen.Action5.HelloAction"></bean>去完成了罢了。并不影响 @RequestMapping(value="/hello")注解的寻找。
 

10SpringMvc_springmvc快速入门小案例(注解版本)的更多相关文章

  1. 02SpringMvc_springmvc快速入门小案例(XML版本)

    这篇文章中,我们要写一个入门案例,去整体了解整个SpringMVC. 先给出整个项目的结构图:

  2. struts2框架快速入门小案例

    struts2快速入门: index.jsp------>HelloAction--------->hello.jsp struts2流程 1.导入jar包 struts2的目录结构: a ...

  3. Hibernate的介绍及入门小案例

    1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...

  4. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. spring boot入门小案例

    spring boot 入门小案例搭建 (1) 在Eclipse中新建一个maven project项目,目录结构如下所示: cn.com.rxyb中存放spring boot的启动类,applica ...

  6. SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍 引言 为了使用ssm框架去开发,准备ssm框架的模板配置 为了Spring整合第三方框架,单独的去编写xml文件 导致ssm项目后期xml文件特别多,维护xml文件的成本也是 ...

  7. SpringBoot_MyBatisPlus快速入门小例子

    快速入门 创建一个表 我这里随便创建了一个air空气表 idea连接Mysql数据库 点击右侧database再点击添加数据库 找到Mysql 添加用户名,密码,数据库最后点击测试 测试成功后在右侧就 ...

  8. React.js入门小案例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  9. Spring中AOP的初窥和入门小案例

    AOP:面向切面编程 AOP的主要作用:是为了程序员更好的关注"业务",专心"做事" 加上双引号的意思:所谓业务,是指他的核心,各行业中需要处理的核心事务,核心 ...

随机推荐

  1. Cocos2d-x 基础元素

    看过本章,然后实践之后,应该会掌握以下的认识: 1.Cocos2d-x引擎的基本运转过程 2.Cocos2d-x引擎的一些初始设置 3.对导演及图层及现实对象的认识 4.如何定义自己的显示对象 *:f ...

  2. 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题

    问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装 ...

  3. 使用hibernate时出现 org.hibernate.HibernateException: Unable to get the default Bean Validation factory

    hibernate 在使用junit测试报错: org.hibernate.HibernateException: Unable to get the default Bean Validation ...

  4. openstack问题汇总

    No tenant network is available for allocation.    No tenant network is available for allocation. 这个问 ...

  5. 回文数 第N个回文数

    判断回文数还是不难,如果能转为字符串就更简单了. 如果是求第N个回文数呢. 12321是一个回文数,这里先考虑一半的情况. 回文数的个数其实是有规律的.如: 1位回文数: 9个 2位回文数: 9个 3 ...

  6. ORACLE 创建与使用视图

    一.what(什么是视图?) 1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询 ...

  7. Effective Java 61 Throw exceptions appropriate to the abstraction

    Exception translation: higher layers should catch lower-level exceptions and, in their place, throw ...

  8. 3.输入三个整数,xyz,最终以从小到大的方式输出。利用嵌套。

    <body>请输入a的值:<input type="numbe" id="a" value=""/>请输入b的值:& ...

  9. 读书笔记——Windows环境下32位汇编语言程序设计(9)ANSII字符大小写转大写

    在罗云彬的<Windows环境下32位汇编语言程序设计>中第321页 ... .const szAllowedChar db '0123456789ABCDEFabcdef',08h .. ...

  10. Tomcat如何添加管理员

    为Tomcat添加管理员,然后用管理员登录后就可以看到所有加载的工程包,以及运行的平台,还可以对项目进行管理,比如删和添加. 一.工具:apache-tomcat-7.0.39 二.添加步骤 1. 首 ...