springmvc入门之HelloWorld篇

  springmvc是一个基于spring的mvc框架,各种优点啥的用过就知道了.下面开始讲HelloWorldController的实现.

  1.开发环境搭建<导jar包+配置文件>

   1.1 新建web工程springmvc,导入springmvc所需的jar包,因为springmvc是基于spring的,所以必须包含spring的jar包,我用的版本是spring3.1.0.导入以下jar包:  

    

    1.2 配置web.xml   

      <!-- spring mvc配置 处理*.action和*.do请求 -->
            <servlet>
                <servlet-name>spring</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <!-- 加载spring-servlet.xml配置文件,默认spring-servlet文件放在/WEB-INF目录下,为了便于管理,这里放到了src目录下 -->
                <init-param>
                    <param-name>contextConfigLocation</param-name>
                    <param-value>classpath:spring-servlet.xml</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>spring</servlet-name>
                <url-pattern>*.action</url-pattern>
            </servlet-mapping>
            <servlet-mapping>
                <servlet-name>spring</servlet-name>
                <url-pattern>*.do</url-pattern>
            </servlet-mapping>

            <!-- spring 配置 -->
            <listener>
                <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
            </listener>
            <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>
                    classpath:applicationContext.xml
                </param-value>
            </context-param>

    1.3 spring-servlet.xml配置

      springmvc启动会去/WEB-INF/目录下加载web.xml文件${servlet-name}-servlet.xml的配置文件,在web.xml文件中我们配置的servlet-name为spring,并且配置了spring-servlet.xml的路径为src目录下.

      spring建议我们把springmvc的配置放到${servlet-name}-servlet.xml,把service层的配置放到xxx-service.xml,把dao层的配置放到xxx-database.xml配置文件中,也就是把配置分散开来.下面就是spring-servlet.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:p="http://www.springframework.org/schema/p"
            xmlns:context="http://www.springframework.org/schema/context"
            xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

            <!-- springmvc配置-->

            <!-- 自动扫描 -->
            <context:component-scan base-package="cn.springmvc.controller"/>

            <!-- 视图解析类配置  -->
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                 <!-- 如果返回的逻辑视图名为index,则视图解析器会找到webroot/jsps/index.jsp -->          <property name="prefix">
                    <value>/jsps/</value>
                </property>
                <property name="suffix">
                    <value>.jsp</value>
                </property>
            </bean>
        </beans>

    1.4 配置applicationContext.xml,将spring的其他配置放到applicationContext.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:p="http://www.springframework.org/schema/p"
            xmlns:context="http://www.springframework.org/schema/context"
            xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

            <!-- spring 其他配置 -->

 </beans>

  ok,基本配置都完了,开始写Controller.

  2.HelloWorldController

    controller是springmvc中负责处理请求的核心组件,等价于struts2中的Action.下面我们开始编写HelloWorldController.

     package cn.springmvc.controller;

        import org.springframework.stereotype.Controller;
        import org.springframework.web.bind.annotation.RequestMapping;

        @Controller("helloWorldController") //--->beanName
        @RequestMapping(value="/hello")   // controller的映射路径
        public class HelloworldController {

            @RequestMapping(value="/say")// 方法的映射路径
            public String sayHello(){
                System.out.println("hello");
                return "hello";
            }

        }

    现在就可以发布项目,然后输入url访问了:localhost:8080/springmvc/hello/say.action

  现在感受到springmvc的好处了吧,哈哈!简洁的配置真让人爱不释手!

  补充一点,struts2中的Action是prototype的,所以Action没有线程安全问题.springmvc中的Controller默认是单例的,如果controller可能产生线程安全问题,可以在Controller上加上@Scope("prototype")注解,告诉spring,每次请求都创建新的controller对象.

springmvc入门之HelloWorld篇,布布扣,bubuko.com

时间: 2024-08-05 11:16:57

springmvc入门之HelloWorld篇的相关文章

SpringMVC入门案例:HelloWorld

本文摘自:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 软件参数 Eclipse:Mars.1 Release (4.5.1) Tomcat: 8.0.36 JDK:1.8.0_60 Spring-framework: 4.0.4.RELEASE 新建项目 File-New-Other,选择Dynamic web project 项目建好之后,目录结构如下: 导入jar包 我们基于Spring mvc框架进行开发,需要依赖一下的spring

&lt;SpringMvc&gt;入门一 HelloWorld

1.pom导入基础依赖 <!--spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <!--spring mvc--> <depe

SpringMVC入门之注解式控制器

上面一篇写的是配置式的控制器现在已经不推荐使用了,其实注解式控制器和它的差不多只不过 更简洁而已! 1.还是在web.xml中进行配置DispatcherServlet <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-para

Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编译,所以借此篇内容说明一下原由并为之后文章的学习做准备. 即使本片内容只是在围绕一个小小的HelloWorld程序开展,但还是希望朋友们不要急于求成,"欲速则不达". 文章整体思路: 我们循序渐进地来看,一个Qt应用的完成有以下一个重要的步骤: 项目创建->源码编译->程序运行

Spring-MVC入门实例 (一)

Spring MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. Struts2 VS  Spring MVC Struts2  特点 也是比较优秀的MVC构架,优点非常多比如良好的结构.但这里想说的是缺点,Struts2由于采用了值栈.OGNL表达式.struts2标签库等,会导致应用的性能下降.Struts2的多层拦截器.多实例action性能都很好

SpringMVC入门学习(二)

SpringMVC入门学习(二) ssm框架 springMVC 在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. model.addAttribute()的使用 model接口的源代码: 由图可知,在addAttribute()中有两种入参方式,一种是指明名字var1,一种是不指明名字var1.在不指明名字中,会通过相近的去寻找. 在addAttribute()中,我们可以放任何对象: 首先先导入jsp标签maven

ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套

这是ElasticSearch 2.4 版本系列的第六篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套 在ElasticSearch中,使用JSON结构来存储数据,

Java RMI之HelloWorld篇

Java RMI之HelloWorld篇 Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的任何对象必须实现该远程接口. Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术. 大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi. 在大力鼓吹Web Serv

SpringMVC入门

介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 本文通过实例来介绍SpringMVC的入门知识. 实例 本文所写的实例是一个员工的CRUD demo. 用idea编写,基于maven, Web框架使用SpringMVC,视图采取Freemarker技术,数据库使用MySQL,用Hibernate4存储数据. 本文关于其他一些内容 如maven的pom文件内容,spring常规bean,事务,数据源的配置等不会详细描述,可自行下载