spring mvc



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package  org.base.controller;
import  org.base.pojo.Department;
import  org.springframework.stereotype.Controller;
import  org.springframework.web.bind.annotation.RequestMapping;
import  org.springframework.web.bind.annotation.RequestParam;
@Controller
public  class  DeptController {
  /**
   * 映射的url http://localhost:端口号/项目名/test.do
   * 跳转到 (prefix)test.jsp(suffix)页面
   */
  @RequestMapping ( "/test" )
  public  String test(){
   System.out.println( "test" );
   return  "test" ;
  }
  /**
   * 如果方法无返回值,则跳转到 testP.jsp页面,即映射名
   * 对于方法中的参数,可以对应url中的参数自动赋值
   * 这里注意,如果url中的参数和方法定义的不一致,例如,此处的age=1.5,那么会报400错误
   */
  @RequestMapping ( "/testP" )
  public  void  testParam(String name,Integer age){
   System.out.println( "name:" +name+ ",age:" +age);
  }
  
  /**
   * 也可以显式声明url参数
   */
  @RequestMapping ( "/testP1" )
  public  void  testParam1( @RequestParam ( "name" )String name,Integer age){
   System.out.println( "name:" +name+ ",age:" +age);
  }
  
  /**
   * 自动注入bean属性,注意,url中形式是 departmentId=12,不是  对象.属性  形式
   */
  @RequestMapping ( "/testP2" )
  public  void  testParam2(Department dept){
   System.out.println( "dept:" +dept);
  }
/**
   * ResponseBody注解:此方法返回值直接写入 response的body中,默认是json
   * 注意要导入  jackson.jar
   */
  @RequestMapping ( "/test2" )
  @ResponseBody
  public  Department test2(){
   Department dept =  new  Department( 12 "abc" 31 5 );
   return  dept;
 
  //@RequestMapping 注解的方法支持很多参数: HttpServletRequest/Response,HttpSession,Writer
  // 不支持对象.属性传值方法,如果重名,/**
   * restful 风格的传参方式
   */
  @RequestMapping ( "/test3/{str}" )
 
  public  void  test3( @PathVariable ( "str" )String str){
 
   System.out.println( "str:" +str);
 
  }
 
  
 
  /**
 
   * date 日期类型的注入
 
   */
 
  @RequestMapping ( "/test4" )
 
  public  void  test4( @DateTimeFormat (iso=ISO.DATE)Date d){
 
   if (d!= null )
 
    System.out.println(
 
     new  SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(d));
 
 
}

@ResponseBody 可以将该方法返回的值 写入到 response的body中去(String,json,xml)。

@RequestMapping 也可以用于整个类

?
1
2
3
4
5
6
7
8
9
10
@Controller
@RequestMapping ( "/emp/*" )
public  class  EmpController {
 
  @RequestMapping ( "test1" // 这里匹配的url就是/emp/test1.do
  public  void  test1(String s){
 
   System.out.println( "s:" +s);
  }
}

spring 配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<? 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:tx="
http://www.springframework.org/schema/tx
   xmlns:aop="
http://www.springframework.org/schema/aop
"
   xmlns:context="
http://www.springframework.org/schema/context
   xmlns:jee="
http://www.springframework.org/schema/jee
"
   xmlns:mvc="
http://www.springframework.org/schema/mvc
"
   xmlns:p="
http://www.springframework.org/schema/p
   xsi:schemaLocation="
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd 
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/mvc    
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
  <!-- 加载配置文件 -->
  < context:property-placeholder  location = "classpath:config/jdbc.properties"  />
  < context:component-scan  base-package = "org.base"  />
  <!-- 开启基于注解的mvc配置 -->
  < mvc:annotation-driven >
   < mvc:message-converters >
    < bean  class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" >
     <!-- 解决"IE下返回json提示下载"问题 -->
     < property  name = "supportedMediaTypes"  value = "text/plain;charset=UTF-8" ></ property >
    </ bean >
   </ mvc:message-converters >
  </ mvc:annotation-driven >
  <!-- 视图解析器 -->
  < bean  class = "org.springframework.web.servlet.view.InternalResourceViewResolver"
   p:prefix = "/WEB-INF/"  p:suffix = ".jsp" ></ bean >
</ beans >

web.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< web-app  version = "2.5" 
  xmlns="
http://java.sun.com/xml/ns/javaee
  xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
  xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
">
   < welcome-file-list >
     < welcome-file >index.jsp</ welcome-file >
   </ welcome-file-list >
   <!-- spring mvc -->
   < servlet >
    < servlet-name >springmvc</ servlet-name >
    < servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class >
    < init-param >
     < param-name >contextConfigLocation</ param-name >
     < param-value >classpath:config/spring.xml</ param-value >
    </ init-param >
    < load-on-startup >1</ load-on-startup >
   </ servlet >
   < servlet-mapping >
    < servlet-name >springmvc</ servlet-name >
    < url-pattern >*.do</ url-pattern >
   </ servlet-mapping >
</ web-app >
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package  org.base.controller;
import  org.base.pojo.Department;
import  org.springframework.stereotype.Controller;
import  org.springframework.web.bind.annotation.RequestMapping;
import  org.springframework.web.bind.annotation.RequestParam;
@Controller
public  class  DeptController {
  /**
   * 映射的url http://localhost:端口号/项目名/test.do
   * 跳转到 (prefix)test.jsp(suffix)页面
   */
  @RequestMapping ( "/test" )
  public  String test(){
   System.out.println( "test" );
   return  "test" ;
  }
  /**
   * 如果方法无返回值,则跳转到 testP.jsp页面,即映射名
   * 对于方法中的参数,可以对应url中的参数自动赋值
   * 这里注意,如果url中的参数和方法定义的不一致,例如,此处的age=1.5,那么会报400错误
   */
  @RequestMapping ( "/testP" )
  public  void  testParam(String name,Integer age){
   System.out.println( "name:" +name+ ",age:" +age);
  }
  
  /**
   * 也可以显式声明url参数
   */
  @RequestMapping ( "/testP1" )
  public  void  testParam1( @RequestParam ( "name" )String name,Integer age){
   System.out.println( "name:" +name+ ",age:" +age);
  }
  
  /**
   * 自动注入bean属性,注意,url中形式是 departmentId=12,不是  对象.属性  形式
   */
  @RequestMapping ( "/testP2" )
  public  void  testParam2(Department dept){
   System.out.println( "dept:" +dept);
  }
/**
   * ResponseBody注解:此方法返回值直接写入 response的body中,默认是json
   * 注意要导入  jackson.jar
   */
  @RequestMapping ( "/test2" )
  @ResponseBody
  public  Department test2(){
   Department dept =  new  Department( 12 "abc" 31 5 );
   return  dept;
 
  //@RequestMapping 注解的方法支持很多参数: HttpServletRequest/Response,HttpSession,Writer
  // 不支持对象.属性传值方法,如果重名,/**
   * restful 风格的传参方式
   */
  @RequestMapping ( "/test3/{str}" )
 
  public  void  test3( @PathVariable ( "str" )String str){
 
   System.out.println( "str:" +str);
 
  }
 
  
 
  /**
 
   * date 日期类型的注入
 
   */
 
  @RequestMapping ( "/test4" )
 
  public  void  test4( @DateTimeFormat (iso=ISO.DATE)Date d){
 
   if (d!= null )
 
    System.out.println(
 
     new  SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(d));
 
 
}

@ResponseBody 可以将该方法返回的值 写入到 response的body中去(String,json,xml)。

@RequestMapping 也可以用于整个类

?
1
2
3
4
5
6
7
8
9
10
@Controller
@RequestMapping ( "/emp/*" )
public  class  EmpController {
 
  @RequestMapping ( "test1" // 这里匹配的url就是/emp/test1.do
  public  void  test1(String s){
 
   System.out.println( "s:" +s);
  }
}

spring 配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<? 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:tx="
http://www.springframework.org/schema/tx
   xmlns:aop="
http://www.springframework.org/schema/aop
"
   xmlns:context="
http://www.springframework.org/schema/context
   xmlns:jee="
http://www.springframework.org/schema/jee
"
   xmlns:mvc="
http://www.springframework.org/schema/mvc
"
   xmlns:p="
http://www.springframework.org/schema/p
   xsi:schemaLocation="
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd 
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/mvc    
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
  <!-- 加载配置文件 -->
  < context:property-placeholder  location = "classpath:config/jdbc.properties"  />
  < context:component-scan  base-package = "org.base"  />
  <!-- 开启基于注解的mvc配置 -->
  < mvc:annotation-driven >
   < mvc:message-converters >
    < bean  class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" >
     <!-- 解决"IE下返回json提示下载"问题 -->
     < property  name = "supportedMediaTypes"  value = "text/plain;charset=UTF-8" ></ property >
    </ bean >
   </ mvc:message-converters >
  </ mvc:annotation-driven >
  <!-- 视图解析器 -->
  < bean  class = "org.springframework.web.servlet.view.InternalResourceViewResolver"
   p:prefix = "/WEB-INF/"  p:suffix = ".jsp" ></ bean >
</ beans >

web.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< web-app  version = "2.5" 
  xmlns="
http://java.sun.com/xml/ns/javaee
  xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
  xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
">
   < welcome-file-list >
     < welcome-file >index.jsp</ welcome-file >
   </ welcome-file-list >
   <!-- spring mvc -->
   < servlet >
    < servlet-name >springmvc</ servlet-name >
    < servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class >
    < init-param >
     < param-name >contextConfigLocation</ param-name >
     < param-value >classpath:config/spring.xml</ param-value >
    </ init-param >
    < load-on-startup >1</ load-on-startup >
   </ servlet >
   < servlet-mapping >
    < servlet-name >springmvc</ servlet-name >
    < url-pattern >*.do</ url-pattern >
   </ servlet-mapping >
</ web-app >
06-22
### 得物技术栈及开发者文档分析 得物作为一家专注于潮流商品的电商平台,其技术栈和开发者文档主要围绕电商平台的核心需求展开。以下是对得物技术栈及相关开发资源的详细解析: #### 1. 技术栈概述 得物的技术栈通常会涵盖前端、后端、移动应用开发以及大数据处理等多个领域。以下是可能涉及的主要技术栈[^3]: - **前端开发**: 前端技术栈可能包括现代框架如 React 或 Vue.js,用于构建高效、响应式的用户界面。此外,还会使用 Webpack 等工具进行模块化打包和优化。 - **后端开发**: 后端技术栈可能采用 Java Spring Boot 或 Node.js,以支持高并发和分布式架构。数据库方面,MySQL 和 Redis 是常见的选择,分别用于关系型数据存储和缓存管理。 - **移动应用开发**: 得物的移动应用开发可能基于原生技术(如 Swift/Kotlin)或跨平台框架(如 Flutter)。这有助于确保移动端应用的性能和用户体验一致性。 - **大数据云计算**: 在大数据处理方面,得物可能会使用 Hadoop 或 Spark 进行数据挖掘和分析。同时,依托云服务提供商(如阿里云或腾讯云),实现弹性扩展和资源优化。 #### 2. 开发者文档分析 类似于引用中提到的 Adobe 开发者文档模板[^2],得物也可能提供一套完整的开发者文档体系,以支持内部团队协作和外部开发者接入。以下是开发者文档可能包含的内容: - **API 文档**: 提供 RESTful API 或 GraphQL 的详细说明,帮助开发者快速集成得物的功能模块,例如商品搜索、订单管理等。 - **SDK 集成指南**: 针对不同平台(如 iOS、Android 或 Web)提供 SDK 下载和集成教程,简化第三方应用的开发流程。 - **技术博客**: 分享得物在技术实践中的经验成果,例如如何优化图片加载速度、提升应用性能等。 - **开源项目**: 得物可能将部分技术成果开源,供社区开发者学习和贡献。这不仅有助于提升品牌形象,还能吸引更多优秀人才加入。 #### 3. 示例代码 以下是一个简单的示例代码,展示如何通过 RESTful API 调用得物的商品搜索功能(假设接口已存在): ```python import requests def search_items(keyword, page=1): url = "https://api.dewu.com/v1/items/search" headers = { "Authorization": "Bearer YOUR_ACCESS_TOKEN", "Content-Type": "application/json" } params = { "keyword": keyword, "page": page, "size": 10 } response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() else: return {"error": "Failed to fetch data"} # 调用示例 result = search_items("Air Jordan", page=1) print(result) ``` 此代码片段展示了如何通过 Python 请求得物的 API,并获取指定关键词的商品列表。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值