`

Spring3 MVC Annotaction REST 入门(登录示例)

阅读更多
一 开发工具环境:Myeclipse6.6+Tomcat7+JDK1.6
所用jar文件:

二 示例代码如下:
WEB控制层
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

import com.spring.rest.entitys.User;

@Controller  //声明控制器  
@RequestMapping("/user")//url
public class UserController {

	@RequestMapping(value = "/login")
	public String test(HttpServletRequest request,
			HttpServletResponse response, User userinfo) {
		if (userinfo.getUsername().equals("jack")
				&& userinfo.getPassword().equals("111111")) {
			request.setAttribute("user", userinfo);
			return "users/list";
		} else {
			return "users/loginerr";
		}
	}
	
	@RequestMapping(value = "/login2")
	public String test2(HttpServletRequest request,
			HttpServletResponse response, User userinfo) {
		if (userinfo.getUsername().equals("david")
				&& userinfo.getPassword().equals("david")) {
			request.setAttribute("user", userinfo);
			return "users/list";
		} else {
			return "users/loginerr";
		}
	}

}

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

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

@Controller
@RequestMapping("/topic")
public class TopicController {

	@RequestMapping(value = "/{id}",method=RequestMethod.GET)
	public String helloWorld(
			@PathVariable Long id, 
			HttpServletRequest request,
			HttpServletResponse response) {
			request.setAttribute("message", "You Input Topci Id is: <b>"+id+"</b>"); 
		return  "topic" ;
	}
	
	
	@RequestMapping(value="/add")
	public String test(HttpServletRequest request,   
            HttpServletResponse response){
		System.out.println("Hello www.JavaBloger.com ");
		request.setAttribute("message", "Hello JavaBloger ! ,@RequestMapping(value='/add')"); 
		return "topic";
		
	}
	
	@RequestMapping(value="/update")
	public String update(HttpServletRequest request,   
            HttpServletResponse response){
		System.out.println("Hello www.JavaBloger.com ");
		request.setAttribute("message", "Hello JavaBloger ! ,@RequestMapping(value='/update')"); 
		return "topic";		
	}
}


import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class URITemplatesController {
	
	@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.POST)
	//org.springframework.ui.Model与org.springframework.ui.ModelMap功能相似
	public String findOwner(@PathVariable String ownerId,@RequestParam String username,@RequestParam String password, ModelMap model) {
	  System.out.println("ownerId: "+ownerId+",username:" + username+",password: " + password);
	  model.addAttribute("url", "http://liuzidong.iteye.com");
	  model.addAttribute("username",username);
	  model.addAttribute("password",password);
	  return "urlTemplate"; 
	}	
}

JSP页面
inde.jsp
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<FORM METHOD=POST ACTION="user/login">
	<INPUT TYPE="text" NAME="username" value="username">
	<br>
	<br>
	<INPUT TYPE="text" NAME="password" value="password">
	<br>
	<br>
	<INPUT TYPE="submit">
	<br>
	<A HREF="topic/add" target="_self">add</A>
	<br>
	<A HREF="topic/7" target="_self">id:1234567</A>
	<br>
	<A HREF="topic/update" target="_self">update</A>
</FORM>
<br>
<FORM METHOD=POST ACTION="user/login2">
	<INPUT TYPE="text" NAME="username" value="username">
	<br>
	<br>
	<INPUT TYPE="text" NAME="password" value="password">
	<br>
	<br>
	<INPUT TYPE="submit">
</FORM>
<br>
<FORM METHOD=POST ACTION="owners/liuzd">
	<INPUT TYPE="text" NAME="username" value="天涯海角">
	<br>
	<br>
	<INPUT TYPE="text" NAME="password" value="post">
	<br>
	<br>
	<INPUT TYPE="submit" value="OK">
</FORM>

urlTemplate.jsp.jsp
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<html>
<body>
	<p>This is my message:<br> ${url}</p>
	<p>姓名:${username},密码: ${password}</p>
</body>
</html>

其它页面省略(就是用jstl显示值)
web.xml
<!-- 
		该 servlet为tomcat,jetty等容器提供,将静态资源映射从/改为/static/目录,
		如原来访问 http://localhost /foo.css ,现在http://localhost/static/foo.css
	
	<servlet-mapping>
		<servlet-name>default</servlet-name>
		<url-pattern>/static/*</url-pattern>
	</servlet-mapping>
	-->

	<filter>
		<filter-name>encodingFilter</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>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>
			org.springframework.web.servlet.DispatcherServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- URL重写filter,用于将访问静态资源http://localhost/foo.css 转为http://localhost/static /foo.css 
	<filter>
		<filter-name>UrlRewriteFilter</filter-name>
		<filter-class>
			org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
		</filter-class>
		<init-param>
			<param-name>confReloadCheckInterval</param-name>
			<param-value>60</param-value>
		</init-param>
		<init-param>
			<param-name>logLevel</param-name>
			<param-value>DEBUG</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	-->

	<!-- 浏览器不支持put,delete等method,由该filter将/blog?_method=delete转换为标准的http delete方法 
	<filter>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.HiddenHttpMethodFilter
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<servlet-name>springmvc</servlet-name>
	</filter-mapping>
	-->

springmvc-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-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<!-- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
	<context:component-scan base-package="com.spring.rest.web.action" />

	<!-- spring的默认实现,不配置也一样 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />

	<!-- ②:启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

	<!--  ③:对模型视图名称的解析,即在模型视图名称添加前后缀 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
		p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />

</beans>
  • 大小: 28.7 KB
分享到:
评论

相关推荐

    Spring3MVC-REST-HelloWorld 实例简单代码

    Spring3MVC-REST-HelloWorld 是一个基础的示例,用于展示如何在Spring框架的MVC模块中实现RESTful Web服务。这个实例是初学者理解Spring MVC与REST结合使用的理想起点。REST(Representational State Transfer)是一...

    spring 3.0 mvc实现rest代码

    Spring 3.0 MVC 实现 REST 代码是一个关于构建基于 RESTful 风格的 Web 服务的示例。REST(Representational State Transfer)是一种架构风格,常用于设计网络应用程序,强调通过统一资源标识符(URI)来访问资源,...

    Spring MVC REST Demo

    "Spring MVC REST Demo"是一个示例项目,旨在展示如何在Spring MVC框架中实现RESTful Web服务。下面将详细讨论Spring MVC与RESTful API的结合,以及如何创建和测试此类服务。 首先,Spring MVC是Spring框架的一部分...

    spring mvc rest 小例子

    在这个小例子中,我们将探讨如何使用Spring MVC来实现REST接口。 首先,让我们理解Spring MVC的基本架构。Spring MVC通过DispatcherServlet作为前端控制器,接收HTTP请求,然后根据请求映射找到相应的Controller...

    RESTful_Spring3MVC

    文件`json`可能包含了关于JSON数据交换的示例,`springRest`可能包含具体的Spring REST服务实现代码,而`Version 3.0.0RC1`可能是指本教程基于的Spring框架版本。 总之,使用Spring 3 MVC创建RESTful Web服务,能够...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...

    使用Spring MVC 搭建Rest服务.doc

    以下是一个简单的Spring MVC REST服务示例,展示了如何处理学生资源: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @Controller @...

    SPRING-MVC-MQ-CXF-REST_Demo

    "SPRING-MVC-MQ-CXF-REST_Demo"这个项目很可能是用来演示如何在同一个应用中整合Spring MVC、MQ、CXF和REST技术。项目可能包含了以下部分: 1. Spring MVC配置:展示了如何设置DispatcherServlet、视图解析器以及...

    spring-rest.rar_DEMO_employeeDS.java_rest spring mvc_spring mvc_

    在本示例中,我们将深入探讨如何利用Spring MVC框架构建RESTful API,主要涉及`employeeDS.java`这个可能的数据服务类以及与`rest_spring_mvc`、`spring_mvc`和`spring_rest`相关的概念。`spring-rest.rar`是一个...

    spring mvc集成webservice

    在本示例中,我们将探讨如何将Spring MVC与Web服务(特别是SOAP Web服务)进行集成,以便于在Spring MVC应用中调用或暴露Web服务。 **一、Spring MVC简介** Spring MVC是Spring框架的一部分,它提供了MVC(Model-...

    在 Spring Web MVC 环境下使用 Dojo

    **在 Spring Web MVC 环境下使用 Dojo** Dojo 是一个强大的 JavaScript 库,提供了丰富的 UI 组件、数据管理、异步通信等功能,广泛应用于构建富客户端应用。Spring Web MVC 是 Java 开发Web应用的主流框架,以其...

    Spring3.0MvcDemo

    通过这个示例项目,开发者可以深入理解Spring MVC的运行流程,以及如何在实际项目中运用这些知识。 总结,Spring 3.0 MVC提供了高效且灵活的Web应用开发框架,它简化了处理HTTP请求、业务逻辑和视图渲染的过程。...

    Spring3MVC注解教程.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...

    spring3.0 mvc使用入门,含具体例子

    在这个版本中,Spring 引入了 REST(Representational State Transfer)风格的编程,使得开发者可以更方便地使用注解来定义控制器和请求映射,从而减少了XML配置。 首先,让我们深入了解 Spring MVC 的核心组件: ...

    spring 3.1 mvc sample

    这个“spring 3.1 mvc sample”提供了关于如何使用Spring MVC 3.1进行开发的实际示例。 首先,Spring MVC的核心概念包括DispatcherServlet、Controllers、Models、Views以及Handlers。DispatcherServlet作为入口点...

    spring-mvc-rest-get-unit-testing:Spring MVC REST JSON获取请求单元测试示例

    本示例"spring-mvc-rest-get-unit-testing"专注于Spring MVC RESTful服务的GET请求单元测试,这对于确保代码质量和可维护性至关重要。单元测试允许开发者在独立的环境中验证代码片段的功能,确保每个功能模块都能...

    深入浅出学Spring_Web_MVC

    1. **入门**:理解Spring Web MVC的基本概念、架构及组件的作用。 2. **理解DispatcherServlet**:学习其工作原理、配置方式及其初始化过程。 3. **注解式控制器开发详解**:掌握注解式开发的基本方法、请求映射、...

    spring_mvc2

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful...在"spring-mvc-showcase"这个项目中,可能包含了上述知识点的示例和实践,通过学习和分析这个项目,开发者可以更好地理解和掌握Spring MVC的使用。

    spring3使用示例

    `spring_simple`可能是入门级别的示例,展示如何初始化Spring环境,使用最基本的依赖注入和bean管理功能。这可能包括一个简单的配置文件和几个被管理的bean。 这些示例项目可以帮助你深入理解Spring3的核心组件,...

Global site tag (gtag.js) - Google Analytics