- 浏览: 520076 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
- package com.benx;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- @Controller
- @RequestMapping ( "/person" )
- public class PersonController {
- PersonService service = new PersonService();
- /**
- * 进入登陆页面 http://localhost:8080/person/login 模拟
- *
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/login" , method = RequestMethod.GET)
- public String initLogin(HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- response.getWriter().println("进入登陆页面" );
- response.flushBuffer();
- return null ;
- }
- /**
- * 登陆 模拟http://localhost:8080/Web/person/login?method=login&name=person1&pass=1
- * 使用@ModelAttribute 把paramter转换为pojo对象 ,也可以使用@RequestParam 获取单个paramter
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/login" , params = "method=login" , method = RequestMethod.GET)
- public String login( @ModelAttribute ( "person" ) Person person, Model mode, HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- Person per = service.getPerson(person.getName());
- if (per != null && per.getName().equals(person.getName()) && per.getPass().equals(person.getPass())) {
- response.getWriter().println(per.getName() + " 你好!" );
- } else {
- response.getWriter().println("登陆失败" );
- }
- response.flushBuffer();
- return null ;
- }
- /**
- * 获取Person详细信息 http://localhost:8080/Web/person/person1 模拟
- *
- * @param name
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/{name}" , method = RequestMethod.GET)
- public String getPerson( @PathVariable String name, Model mode, HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- Person per = service.getPerson(name);
- if (per != null ) {
- response.getWriter().println("用户:" + per.getName());
- response.getWriter().println("用户密码:" + per.getPass());
- } else {
- response.getWriter().println("没找到用户" );
- }
- return null ;
- }
- /**
- * 进入新增Person页面 http://localhost:8080/Web/person/addPerson
- *
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/addPerson" , method = RequestMethod.GET)
- public String initAddPerson(HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- response.getWriter().println("进入新增页面" );
- return null ;
- }
- /**
- * 新增Person http://localhost:8080/Web/person/addPerson?method=add&name=person11&pass=1
- *
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/addPerson" , params = "method=add" , method = RequestMethod.GET)
- public String addPerson( @ModelAttribute ( "person" ) Person person, HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- service.addPerson(person);
- response.getWriter().println("新增成功" );
- response.getWriter().println("用户:" + person.getName());
- response.getWriter().println("用户密码:" + person.getPass());
- response.flushBuffer();
- return null ;
- }
- /**
- * 删除Perseon
- * http://localhost:8080/Web/person/person1/delete
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/{name}/delete" , method = RequestMethod.GET)
- public String deletePerson( @PathVariable ( "name" ) String name,Model mode, HttpServletResponse response) throws IOException {
- response.setContentType("text/html;charset=utf-8" );
- service.deletePerson(name);
- response.getWriter().println("删除成功" + name);
- response.flushBuffer();
- return null ;
- }
- /**
- * mapTest
- * http://localhost:8080/Web/person/maptest
- * @param mode
- * @return
- * @throws IOException
- */
- @RequestMapping (value = "/maptest" , method = RequestMethod.GET)
- @ResponseBody
- public Map<String, Object> mapTest(HttpServletResponse response) throws IOException {
- System.out.println("HHHHHHHHHH" );
- /* response.setContentType("text/html;charset=utf-8"); */
- Person per = new Person();
- per.setName("xiogjin" );
- per.setPass("123456" );
- List list = new ArrayList();
- list.add("1" );
- list.add("2" );
- list.add("3" );
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("str" , "xiongjin" );
- map.put("object" , per);
- map.put("object" , per);
- map.put("list" , list);
- return map;
- /**
- * 下面的例子将打印{"str":"xiongjin","list":["1","2","3"],"object":{"name":"xiogjin","pass":"123456"}}
- * 通过如下方式可以读取
- * var ob = {"str":"xiongjin","list":["1","2","3"],"object":{"name":"xiogjin","pass":"123456"}};
- alert(ob.str);
- alert(ob.list)
- alert(ob.list[0])
- alert(ob.list[1])
- alert(ob.list[2])
- alert(ob.object.name)
- alert(ob.object.pass)
- */
- }
- }
- class Person {
- private String name;
- private String pass;
- public Person() {
- super ();
- }
- public Person(String name, String pass) {
- super ();
- this .name = name;
- this .pass = pass;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this .name = name;
- }
- public String getPass() {
- return pass;
- }
- public void setPass(String pass) {
- this .pass = pass;
- }
- @Override
- public String toString() {
- return "Person [name=" + name + ", pass=" + pass + "]" ;
- }
- }
- class PersonService {
- static Map<String, Person> persons = new HashMap<String, Person>();
- public PersonService() {
- for ( int i = 0 ; i < 10 ; i++) {
- persons.put("person" + i, new Person( "person" + i, "" + i));
- }
- }
- public Person getPerson(String name) {
- return persons.get(name);
- }
- public List<Person> getPersons(String name) {
- return new ArrayList<Person>(persons.values());
- }
- public void addPerson(Person per) {
- persons.put(per.getName(), per);
- }
- public void deletePerson(String name) {
- persons.remove(name);
- }
- }
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" xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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</display-name>
- <servlet>
- <servlet-name>spring</servlet-name>
- <servlet-class >org.springframework.web.servlet.DispatcherServlet</servlet- class >
- <load-on-startup>1 </load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>spring</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app>
spring-servlent.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">
- <bean id="viewResolver"
- class = "org.springframework.web.servlet.view.InternalResourceViewResolver"
- p:prefix="/WEB-INF/jsp/" p:suffix= ".jsp" />
- <context:component-scan base-package = "com.benx" />
- <bean class = "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
- //支持json
- <bean class = "org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
- <property name="messageConverters" >
- <list>
- <bean class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" ></bean>
- </list>
- </property>
- </bean>
-
</beans>
发表评论
-
求鱼不如求渔 Welcome to MICKY's HOME Spring中加载ApplicationContext.xml文件的方式【转
2013-03-08 10:43 8291.利用ClassPathXmlApplication ... -
小试Bean Validation
2012-03-18 21:56 859数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久 ... -
Hibernate-Validation的使用
2012-03-18 11:56 1448以前弄过hibernate-validation的,可今天 ... -
springMVC3 基于注解的输入验证
2012-03-18 00:51 1605在pom.xml中加入,他需要validation-api ... -
pring3.0支持restful实例
2012-03-16 11:59 1089最近在研究spring3.0以及传说中的restful,还 ... -
Spring REST
2012-03-16 11:40 1188前面介绍过Spring的MVC结合不同的view显示不同的 ... -
设计 REST 风格的 MVC 框架
2012-03-16 11:38 948简介: 传统的 JavaEE MVC 框架如 Struts ... -
Spring mvc 构造RESTful URL 详细讲解(spring 3.0 应用)
2012-03-16 11:34 2327详细讲解spring rest使用,简单例子如下: / ... -
ibatis存储过程调用(转载)
2011-08-14 17:11 10931 ibatis 调用oracle函数示例 2 ... -
通通透透理解ThreadLocal
2011-02-23 18:06 729概述 我们知道Spring通过各种DAO模板类降低了开发者使 ... -
乐观锁与悲观锁
2011-02-23 17:49 863文章转自网上好像是玉米田的,忘记了锁( locking ) 业 ... -
spring 依赖注入到直接new 对象
2010-09-16 15:50 1007当为遗留系统加入spring时,经典问题就是遗留系统需要引用s ... -
Spring注解入门
2010-06-03 17:11 8321. 使用Spring注解来注入属性 1.1. 使用注解 ... -
Spring2.0用注解实现事务管理
2010-06-03 15:50 893Spring2.0 框架的事务处理有两大类: 1 ...
相关推荐
Spring MVC 是一个强大的Java框架,用于构建Web应用程序,而REST(Representational State Transfer)是一种软件架构风格,常用于创建Web服务。"Spring MVC REST Demo"是一个示例项目,旨在展示如何在Spring MVC框架...
在这个小例子中,我们将探讨如何使用Spring MVC来实现REST接口。 首先,让我们理解Spring MVC的基本架构。Spring MVC通过DispatcherServlet作为前端控制器,接收HTTP请求,然后根据请求映射找到相应的Controller...
本教程将通过一个简单的例子,讲解如何利用Spring MVC创建REST服务。 首先,我们需要在项目中引入Spring MVC的相关依赖。通常,这涉及到在Maven或Gradle的配置文件中添加Spring Web和Spring MVC的依赖。例如,如果...
在压缩包文件"spring3_rest"中,可能包含了一个简单的Spring 3.0 MVC和REST的例子,你可以通过这个例子学习如何配置Spring MVC的DispatcherServlet,创建RESTful端点,处理请求和响应,以及如何使用JUnit进行测试。...
在Spring MVC中,我们可以利用其内置的支持轻松地构建REST服务。 首先,要创建REST服务,你需要了解以下几个核心概念: 1. **URI(Uniform Resource Identifier)**:REST中的每个资源都有一个唯一的URI,用于标识...
在这个例子中,`/users`路径的GET请求会调用`getUsers`方法,该方法返回一个User对象列表,Spring MVC会自动将这个列表转换成JSON格式,并发送给客户端。 在实际项目中,我们还需要配置数据访问层(如JPA、...
Spring 3.0 MVC 实现 REST 代码是一个关于构建基于 RESTful 风格的 Web 服务的示例。REST(Representational State Transfer)是一种架构风格,常用于设计网络应用程序,强调通过统一资源标识符(URI)来访问资源,...
使用Spring MVC3基于注解的形式实现的REST小例子 部署运行: 1. 将工程导入eclipse 2. 添加tomcat属性 工程(右键)——> tomcat project——> update context 3. 启动tomcat 4. 在浏览器中输入...
Spring3MVC-REST-HelloWorld 是一个基础的示例,用于展示如何在Spring框架的MVC模块中实现RESTful Web服务。这个实例是初学者理解Spring MVC与REST结合使用的理想起点。REST(Representational State Transfer)是一...
通过 SpringExamples 中的例子,你可以逐步学习和掌握这些知识点,从而在实际开发中更加熟练地使用 Spring MVC。每个子项目都可能涵盖上述的一个或多个方面,通过实践和分析源代码,你可以深入理解 Spring MVC 的...
在本文中,我们将深入探讨如何使用Java进行Spring MVC REST JSON发布请求的单元测试。Spring MVC是Spring框架的一个组件,主要用于构建Web应用程序,而REST(Representational State Transfer)是一种设计网络应用的...
【标题】"基于Spring MVC的进销存管理系统源码.zip" 涉及的主要知识点是Spring MVC框架在构建进销存...这个压缩包中的源码可以作为一个学习和参考的例子,帮助开发者理解如何将Spring MVC框架应用于实际的业务场景。
在 Spring MVC 中,我们也可以使用 @PathVariable 注解来绑定 REST 风格的参数,例如: ```java @RequestMapping(value="/departments/{departmentId}") public String findDepatment(@PathVariable String ...
本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...
在IT行业中,Spring MVC是一个广泛使用的Java Web框架,它提供了构建高效、可维护的Web应用程序的强大支持。在本文中,我们将深入探讨“Spring MVC JSON学习”这一主题,重点关注如何在Spring MVC应用中处理JSON数据...
4. **Spring MVC**:如果涉及RESTful服务,Spring MVC框架将用于处理HTTP请求,将请求映射到特定的控制器方法,生成响应。 5. **数据访问层**:Spring Data JPA或MyBatis可能用于与数据库交互,处理数据的增删改查...
在"springRestful小例子"中,初学者可以通过这些文件了解Spring MVC如何与JSP配合展示数据,以及如何通过RESTful API进行数据交互。学习过程中,理解HTTP方法、URI设计原则、响应状态码、JSON数据格式等概念至关重要...
### Spring MVC 概述 Spring MVC 是 Spring Framework 的一部分,主要负责处理 Web 层的请求。它基于 Model-View-Controller (MVC) 架构模式,并提供了丰富的功能来简化 Web 开发。Spring MVC 提供了一种清晰的方式...
在本教程中,我们将深入探讨如何使用Spring MVC构建RESTful Web服务,并实现基本的CRUD操作。Spring MVC是Spring框架的一部分,它为构建基于Java的Web应用程序提供了强大的模型-视图-控制器(MVC)架构。RESTful ...
7. **MVC模式**:虽然Android默认使用Activity和Fragment作为控制器,但Spring MVC模式可以引入,帮助组织更复杂的应用逻辑。 8. **模块化和可扩展性**:Spring框架的设计原则鼓励模块化,这在大型Android项目中...