我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > Spring MVC 3.x注解方式实例源码
总共48086条微博

动态微博

查看: 1215|回复: 0

Spring MVC 3.x注解方式实例源码

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2015-06-01 20:20:51 |只看该作者 |倒序浏览

    首先说明一下使用的版本:

    JDK:1.6   Tomcat:6.0   spring:3.2,使用到的Jar包截图:

    工程结构截图:

    接下来:web.xml文件配置:

    1. <?xml version="1.0" encoding="UTF-8"?>
      & d5 Y% Y) k; u7 |) u: Y$ H
    2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"3 t; n2 b, Z1 A$ e
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      / }) n: H$ n4 c" O/ |! H* X
    4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ( M& N" m7 O! b# @) X% k7 s- ^5 N: F
    5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      / `- u5 h. z2 o3 H$ V# O1 p( p
    6. % g5 P9 ~' B0 G- y+ d* D# q9 s
    7. <servlet>
      + H* ~$ E! b$ A! O
    8.   <servlet-name>SpringMVC</servlet-name>
      , V' o1 m( g( z
    9.   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      5 g, \9 Y& [: _, n6 p7 J
    10.   <init-param>0 h, L* B" W" \9 w! Z
    11.    <param-name>contextConfigLocation</param-name>
      % M/ S+ O% {+ z. q0 |5 y$ y
    12.    <param-value>classpath:SpringMVC-servlet.xml</param-value>
      ( |( X% M: u# q. N2 b/ K; N# C: b
    13.   </init-param>
      : |  t* f; n1 q' \
    14.   <load-on-startup>1</load-on-startup>
      : d' S5 l9 ~) l$ a9 R# y' D+ \  h
    15. </servlet>
      $ q! Z  F# d. Y* E8 ]3 x/ s& Y
    16. <servlet-mapping>3 e# Q: @, u. C3 p2 J. s
    17.   <servlet-name>SpringMVC</servlet-name>5 i  q8 g7 I! {. Q3 D: T4 b
    18.   <url-pattern>/</url-pattern>' o* R, Z: L6 ]- _0 w( O) u& X
    19. </servlet-mapping>
      ( j( r* i9 w- c) {. ]- m! ~

    20. % o$ W% H# Q" m- x: {
    21. <!-- 编码过滤 -->  
      5 W6 p5 s& r- @
    22.     <filter>  
      7 O: Q2 N6 S" E# q
    23.         <filter-name>encode</filter-name>  
      + s: N, a, ]0 H0 a
    24.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    w* p& @6 O4 j# i& p5 D& S& K
    25.         <init-param>  
      5 J7 @% b# E: b& M
    26.             <param-name>encoding</param-name>  , N1 ]% C) B" W# ]% J  V- K- h6 r! d
    27.             <param-value>UTF-8</param-value>  
      & I; Z+ s- E9 j: |; q& V
    28.         </init-param>  
      0 t8 M% P; {6 O
    29.     </filter>  . D9 @* w- H- s' ?/ I  i1 K7 N
    30.     <filter-mapping>  ; ^, Z. H7 H6 P. \  Y' A% |3 @
    31.         <filter-name>encode</filter-name>  : y+ A4 q/ P6 Y$ Z1 B" M4 ]3 y, U
    32.         <url-pattern>/*</url-pattern>  3 G, `' [9 {1 p. a7 S3 b
    33.     </filter-mapping>* t2 v9 w+ m% B  _+ ~+ f9 K8 U% t
    34. <welcome-file-list>, `; E( g7 d# X- G. J' B, D
    35.   <welcome-file>WEB-INF/index.jsp</welcome-file>
      6 v) `8 I. k8 T
    36. </welcome-file-list>
      * |+ O$ O" {  s; V/ x8 |
    37. </web-app>
    复制代码

    $ L- }! p9 ?" G4 A8 A3 a8 O- i6 I
    log4j.properties文件配置:

    1. log4j.rootLogger=WARN,stdout
      & T; ^  u7 v9 B5 t# M2 Z: m

    2. ( }9 L7 n% A; `  C& }( E
    3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      ' J) _/ Y  R3 y4 T4 d9 r: m9 y+ t
    4. ) ?, ~8 D4 E$ p5 s0 E
    5. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      1 b* d, N$ j& B8 P4 b- z

    6. 2 ]& k- _# f  U# x
    7. log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n
    复制代码

    - U* C& u( S1 a+ O1 X( J# x' t- |3 X( rSpringMVC-servlet.xml文件的配置:

    1. <?xml version="1.0" encoding="UTF-8"?>9 u1 J% q- t) n6 f) a
    2. <beans default-lazy-init="true"
      # q, q7 y: l+ N) x; o
    3.        xmlns="http://www.springframework.org/schema/beans"  - L, p0 g) i& K1 `5 }4 F) Y; W; F( u
    4.        xmlns:p="http://www.springframework.org/schema/p"
      5 G# l, {5 g6 R: h1 i
    5.        xmlns:tx=""       6 ^. u. N3 ^( H* u5 C& _& e
    6.        xmlns:aop="http://www.springframework.org/schema/aop"+ S- a3 K( C% X' S# n5 Q) h6 O5 \
    7.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  2 {" z9 P6 r' _* C4 N
    8.        xmlns:context=
      # m8 s  M. J, u
    9.        xmlns:mvc=! q' X. _, I: `6 d
    10.        xsi:schemaLocation=
      , ?* _2 _- L& c8 Q4 A
    11. "                        http://www.springframework.org/schema/context/spring-context-3.1.xsd">/ F% S6 ~2 u! y  K$ m* Z

    12. + g" `. ~* n" Q+ u0 k7 Y  W" a
    13.     <!-- 注解驱动 -->3 Y" v3 w& W7 Q$ j) R# d
    14.     <mvc:annotation-driven />
      . M6 r6 {6 e- r* E( o& v& G7 y5 k
    15.     <!-- 扫描包 -->
      ( M4 q* J/ a/ e. S/ A# q. q
    16.     <context:component-scan base-package="com.project.controller" />
      ; ?$ b8 x, g, k. r- `
    17. <!-- ViewResolver -->
      5 w9 G2 {& ~& K, b4 ^/ C% m6 F
    18. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">2 O  d% Z9 E" g+ ]1 A. A
    19.      <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
      6 p+ \& R. A: `6 g$ g
    20.      <property name="prefix" value="/WEB-INF/jsp/"/>
      ! r! y) x+ A/ }4 s8 ]+ Q
    21.      <property name="suffix" value=".jsp"/>
      2 `/ D4 S5 w) z" n4 m
    22. </bean>
      3 @0 N* b# W& F5 s* h+ d. K6 F
    23. <!-- HandlerAdapter -->
      + k1 [8 N3 h9 l6 v9 e; W( m% H
    24. <!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      / F9 U# D( v; @/ b- a4 j0 v
    25.   <property name="mappings">8 ~0 q1 T2 o7 F$ F9 y( _5 M; n
    26.    <props>; P' v* K5 E1 v7 s, [
    27.     <prop key="/index">Hello</prop>
      * D3 S4 X4 B) \: Z, u  z' T, n
    28.    </props>& q7 I7 k. w, N7 o
    29.   </property>4 m+ ^/ V0 }7 z% t8 c
    30. </bean> -->
      & ^( y' j  c* ^  _$ H6 ~
    31. <!-- HandlerMapping -->
      # w$ [7 Z7 X# @5 c( \
    32. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
      8 }- P0 O* F& G  x- S5 r. R
    33. <!-- HandlerMapping -->' e- l7 ]" @# K% @5 |
    34. <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>6 v# `( G5 T7 T' j& J+ C
    35. <!-- <bean name="/index" class="com.project.controller.HelloController"/> -->; o& o2 y: H* d  \
    36. <!-- <bean id="Hello" class="com.project.controller.HelloController" /> -->, |: a& P- W. a: I( |9 W
    37. </beans>
    复制代码
    + h- r! u3 f, e6 r1 T
    HelloController代码内容:

    1. package com.project.controller;
      , Q1 A, V" }. W$ a9 m1 f9 }* u* M0 T
    2. import javax.servlet.http.HttpServletRequest;$ C2 L1 K6 j# h/ {9 P$ v/ b
    3. import javax.servlet.http.HttpServletResponse;6 A+ L9 L% `/ ^- [7 o1 I
    4. import org.springframework.stereotype.Controller;
      4 c& F; Y3 ~, q' a+ S2 V
    5. import org.springframework.web.bind.annotation.RequestMapping;
      / H/ z+ L# w$ u, @
    6. import org.springframework.web.servlet.ModelAndView;
      ; L! E* ~' r4 h& K# [7 ~- w
    7. @Controller
      + b! ?& C  Z6 r# Z8 q$ N1 M
    8. @RequestMapping("/hello")$ N* ]7 b3 T  Y% G* W
    9. public class HelloController {0 f& ~2 X7 {! Y" T
    10. @RequestMapping("/index")
      / D/ O3 w7 }7 D
    11. public ModelAndView index(HttpServletRequest request,HttpServletResponse response) throws Exception {
      ! B* v" _- R5 I% ]
    12.   ModelAndView modelView = new ModelAndView();: Y0 e/ J0 x& b1 j4 u8 ~
    13.   modelView.addObject("msg","Hello Index");
      # c! _, X9 C) d1 M4 z- q) K
    14.   modelView.setViewName("index");
      0 D* r$ k1 o* ^: w
    15.   System.err.println("执行index!");3 o6 m. o# o) A, m" @) Q
    16.   return modelView;
      , J3 x6 t) W/ Q( {8 j  a! G1 Z
    17. }0 U* I7 `+ K5 ^% e
    18. @RequestMapping("/show")8 L& ?7 Y- v  e$ ?8 E! Y/ ?
    19. public ModelAndView show(HttpServletRequest request,HttpServletResponse response) throws Exception {
      6 H9 h2 _! O4 [1 `' b' f
    20.   ModelAndView modelView = new ModelAndView();! e- A5 r( ]0 L! t9 b/ ^
    21.   modelView.addObject("msg","Hello show");
      & [2 W! d( d/ n4 V  R+ L; R% f2 ~
    22.   modelView.setViewName("index");; r3 u! u7 f' o! `
    23.   System.err.println("执行show!");
      - S, ^1 m9 d( f( Y' e. o" ]
    24.   return modelView;
      % F+ Q' ^+ V+ E, F
    25. }
      - {+ S8 e' Y! W" H& T
    26. }
    复制代码
    + ^' t1 z$ b- e$ a# p& x
    OK,运行效果如图:

    " H2 K% S1 Q0 C- J; {! R


    + J* x$ a: l9 D* V6 |8 C( B# S

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表