spring3.1.1入门讲解一(非注解篇)

在qq群里面有很多童鞋经常提出一些问题,我搭建的spring框架示例怎么启动不起来?spring入门示例谁有?等等问题。所以就写了这篇文章,绝对手把手讲解啊!

一、准备篇

spring版本:spring-framework-3.1.1.RELEASE

jar包:spring包下面的dist文件夹下的所有jar包

第三方jar包:

jsp标签包:jstl-api-1.2.jar、standard.jar

日志包:commons-logging-1.0.4.jar

二、环境搭建

1、新建Dynamic Web Project项目:spring

2、在web.xml文件中添加如下配置

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
		<description>加载/WEB-INF/spring-mvc/目录下的所有XML作为Spring MVC的配置文件</description>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring-mvc*.xml</param-value>
	</init-param>
        <!-- load-on-startup:表示启动容器时初始化该Servlet -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <!-- url-pattern:表示哪些请求交给Spring Web MVC处理, "/"是用来定义默认servlet映射的。也可以如"*.action"表示拦截所有以action为扩展名的请求。 -->
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

3、在WEB-INF目录下面创建spring-mvc.xml文件:(这里的文件需要在web.xml文件中进行配置的,详见第2步)

<?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:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

    <!-- 表示所有实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器。如果需要其他类型的处理器可以通过实现HadlerAdapter来解决。 -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

     <!-- InternalResourceViewResolver:用于支持Servlet、JSP视图解析;
         viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,classpath中必须包含jstl的相关jar包;
         prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),比如传进来的逻辑视图名为hello,则该jsp视图页面应该存放在“view/hello.jsp”; -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/view/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <bean name="/hello" class="com.spring.mvc.HelloWorldController"/>  <span style="font-family: Arial, Helvetica, sans-serif;"><!--注意这里的类路径不要错了,如果不用注解的话,那么每当新建一个controller类就需要在这里配置一下 --></span>

</beans>

4、在src下面添加controller类:HelloWorldController.java

package com.spring.mvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class HelloWorldController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {

    	HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();

        ModelAndView mv = new ModelAndView();
        // 添加模型数据,可以是任意的POJO对象
        mv.addObject("message", "Hello World!");
        // 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
        mv.setViewName("hello");
        return mv;
    }

}

5、启动tomcat服务器,访问一下

我们的访问url中包括了/hello.action;当以.action为后缀的访问路径都将被DispatcherServlet拦截过滤(web.xml文件中已经配置),然后/hello前缀将被映射到HelloWorldController控制器处理(spring-mvc.xml文件中已经配置)

下一篇将讲解使用注解方式创建和访问controller

时间: 2024-10-10 11:16:48

spring3.1.1入门讲解一(非注解篇)的相关文章

spring3.1.1入门讲解二(注解篇)

在第一篇博客中主要讲解了如何搭建spring框架和运行示例项目:在本篇文章中主要讲解如何采用注解的方式简化开发! 一.准备篇-jar包的准备 这里就不详细说明了详见上一篇博客--spring3.1.1入门讲解一(非注解篇)中的准备篇讲解 二.环境搭建篇 1.在web.xml文件中添加的配置跟上一篇的配置代码一样,直接复制过去就行了. 2.配置spring-mvc.xml,重点就在这里 重点配置如下: 1).如果像我们采用非注解的方式去创建和访问controller控制器时,我们都需要在sprin

springMVC学习笔记(二)-----注解和非注解入门小程序

最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置,但全注解配置也是由非注解发张而来的.所以,今天就谈谈springMvc最基础的注解和非注解的配置以及开发模式. 一:基础环境准备 1.功能需求:一个简单的商品列表查询 2.开发环境:eclipse,java1.7,springmvc版本:3.2 3.springMvc所需jar包(一定包括spri

【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结

从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.即: SimpleControllerHandlerAdapter适配器能执行实现了Controller接口的Handler,所以我

AndEngine入门讲解

摘要:AndEngine是一款基于OpenGL ES技术的2D游戏引擎,可以运行在Android1.6及以上版本的系统中.拥有更多的游戏组件与扩展功能,在默认情况下已经可以支持中文. 虽然AndEngine作为游戏引擎在功能上较libGDX更为丰富和人性化,但相比libGDX的绘图渲染机能却逊色不少.libGDX有较为完善的OpenGLES环境适应性,而AndEngine在这方面的投入明显不足.所以你是否选择AndEngine,需要从实际出发,多做几次真机测试才好下决定,下面小编将逐步讲解And

DevStore技术支持:AndEngine入门讲解

摘要:AndEngine是一款基于OpenGL ES技术的2D游戏引擎,可以运行在Android1.6及以上版本的系统中.拥有更多的游戏组件与扩展功能,在默认情况下已经可以支持中文. 虽然AndEngine作为游戏引擎在功能上较libGDX更为丰富和人性化,但相比libGDX的绘图渲染机能却逊色不少.libGDX有较为完善的OpenGLES环境适应性,而AndEngine在这方面的投入明显不足.所以你是否选择AndEngine,需要从实际出发,多做几次真机测试才好下决定,下面小编将逐步讲解And

Spring MVC入门讲解

一.Springmvc是什么? Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想, 将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. 二.Spring MVC 架构图: 1.DispacherServlet前端控制器 负责用户请求和响应,是一个中央控制器(调度),调用HandlerMapping查找H

springmvc03 非注解和注解处理器映射器和适配器

1其它非注解处理器映射器和适配器 1.1BeanNameUrlHandlerMapping(映射器) 根据请求url(XXXX.action)匹配spring容器bean的 name 找到对应的bean(程序编写的Handler) 1.2SimpleUrlHandlerMapping(映射器) <!--简单url映射, 集中配置bean的id对应 的url --> <bean class="org.springframework.web.servlet.handler.Simp

SpringMVC返回json字符串(非注解方式)

这里采用的是非注解形式,相当于注解中的@responseBody /**      * 根据字符串输出JSON,返回null      *       * @param jsonString      * @return      */     public String ajaxJson(HttpServletResponse response,String jsonString) {        return ajax(response,jsonString, "text/html&quo

SpringMVC原理及非注解配置详解

1. Spring介绍 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单. 这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. 2. Spring的运行原理 1.用户发出HTTP请求 2-3.DispatchServlet通过请求URL到HandlerMapping中去寻找相对应的Handle