我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > springMvc简单的登录程序小项目
总共48087条微博

动态微博

查看: 29656|回复: 117

springMvc简单的登录程序小项目

  [复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

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

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-11-06 13:02:46 |只看该作者 |正序浏览

    ! }' |9 j7 G' {% @# f, P
    一:spring Web MVC是什么
           Spring Web MVC是一种基于java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
    另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。
           Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
    二:Spring Web MVC能帮我们做什么
    √让我们能非常简单的设计出干净的Web层和薄薄的Web层;
    √进行更简洁的Web层的开发;
    √天生与Spring框架集成(如IoC容器、AOP等);
    √提供强大的约定大于配置的契约式编程支持;
    √能简单的进行Web层的单元测试;
    √支持灵活的URL到页面控制器的映射;
    √非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用);
    √非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API;
    √提供一套强大的JSP标签库,简化JSP开发;
    √支持灵活的本地化、主题等解析;
    √更加简单的异常处理;
    √对静态资源的支持;
    √支持Restful风格。
    三:Spring Web MVC架构
    Spring Web MVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。首先让我们整体看一下Spring Web MVC处理请求的流程:
    7 w5 i, }& L) }
    四:项目案例
    web.xml配置:
    1. <?xml version="1.0" encoding="UTF-8"?>
      / O$ u3 H( p: n6 c# \9 l; W
    2. <web-app version="2.4" ! I& K4 E5 o% z2 x; `
    3.         xmlns="http://java.sun.com/xml/ns/j2ee"
      : H. r+ j! K- J6 C, j* n1 ~
    4.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      3 ?! c1 ^2 A7 n; x4 N) y) F
    5.         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 3 J1 x8 S0 ~: X5 W- ?, c9 D
    6.         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      / N; E1 V  n0 f  f" s! F
    7. <servlet>+ a! y8 K& j5 s/ s
    8.          <servlet-name>springmvc</servlet-name>6 x/ S3 R) _' Y4 n- E7 g7 Z# O* p( W
    9.          <servlet-class>/ J- `: N7 J3 E/ Q
    10.          org.springframework.web.servlet.DispatcherServlet( s" V! O! x% W, ~9 z" m, L
    11.          </servlet-class>
      2 \: |/ [. U( y- r' e% q9 Y
    12.          <init-param>, Y( \' h- x! I8 M" e7 S( g
    13.                  <param-name>contextConfigLocation</param-name>  n- ]6 ^1 r/ @- I7 k6 d
    14.                  <param-value>classpath:applicationContext.xml</param-value>
      0 d3 P" X( }7 g4 y* D
    15.          </init-param>" O9 R7 b* ]$ O) ^4 g% h
    16.          <load-on-startup>1</load-on-startup>' O; N- H1 f! m" ~  c
    17. </servlet>
      5 P$ U; |+ `8 u$ B" |0 x- R0 O
    18. <servlet-mapping>
      ' _3 A! |3 @0 H  u2 l
    19.          <servlet-name>springmvc</servlet-name>7 T0 B7 C: W- s6 b
    20.          <url-pattern>*.do</url-pattern>" {, U# a6 q, L+ C, [
    21. </servlet-mapping>
        j( {  J  O( ]
    22. <filter>7 p/ m0 B4 r, K7 J0 ~2 i/ C3 n
    23.     <filter-name>CharacterEncodingFilter</filter-name>
      % g* d: F  q5 v6 \
    24.     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      0 ?4 B" }) {  |: |# m0 ]* V, ~
    25.     <init-param>
      ' ^; Q3 r: }: _
    26.         <param-name>encoding</param-name>; y+ a1 c5 }! i& K) Z
    27.         <param-value>utf-8</param-value>  q7 J$ V& o9 B2 r+ q! y
    28.     </init-param>7 x4 @  l" S& z% g: ^/ ~0 t
    29. </filter># b$ S( F, X, c. b  d1 ^
    30. <filter-mapping>
      ) v( g4 y6 V+ i. H; p" ^
    31.     <filter-name>CharacterEncodingFilter</filter-name>
      * f6 Z, }# A5 P
    32.     <url-pattern>/*</url-pattern>
      : t$ \& z- H! Q  }
    33. </filter-mapping>& N( Y& g/ a9 C5 @% R4 z2 n2 F
    34.   <welcome-file-list>, ?4 `* n5 V# j* q/ C$ ?( ^
    35.     <welcome-file>index.jsp</welcome-file>* a: \3 P% D) V( k; w4 r" m2 i
    36.   </welcome-file-list>
      5 _1 [( C4 X6 t1 f* v
    37. </web-app>$ b2 n* @& }6 J- \; v& N0 W/ z+ S
    复制代码
    applicationContext.xml配置:
    1. <?xml version="1.0" encoding="UTF-8"?>
      ; A3 R$ R- t0 s* d+ M. p( M% k
    2. <beans xmlns="http://www.springframework.org/schema/beans"
      " @: t& `( b5 e$ y4 B* R
    3.                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      : F7 N& z0 `0 K' X
    4.                 xmlns:tx="http://www.springframework.org/schema/tx"
      : c( V& S/ n+ J4 A. D# H. Z/ ?
    5.                 xmlns:aop="http://www.springframework.org/schema/aop"8 b8 ?  Q& J& \6 r. A2 {' i
    6.                 xmlns:context="http://www.springframework.org/schema/context"
      , W( }9 j- ]6 `& \. n  M
    7.                 xmlns:jee="http://www.springframework.org/schema/jee"
      9 x  [0 x* O$ I2 Z+ L
    8.                 xsi:schemaLocation="/ t. \: ~$ M& n3 L# i
    9.                         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
      ' c. X+ i. C, P3 H
    10.                         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd' O; F! K% h# a2 ^  J1 x9 R
    11.                         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
      8 R- c6 q3 y( b$ h& }8 \: x5 P
    12.                         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd8 [7 \7 c. n% d9 ~  j
    13.                         http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd">$ i3 b$ G5 J5 \( O1 k
    14. <!-- 定义映射处理器,指定请求和controller对应关系 -->5 Z) e! f: i# O: S
    15. <bean id="handlerMapping"
      # r; {$ s$ v; g* ^6 X; R% ~( s5 K, s
    16.         class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">$ Z2 t. i7 X% p: d0 K7 \  M
    17.         <property name="mappings">
      4 C% E4 a$ }3 y8 S" ^
    18.                 <props>$ R% J7 p* o1 z9 l
    19.                         <prop key="welcome.do">welcomeController</prop>! Y6 x% A, K0 M; i2 ]( l
    20.                         <prop key="login.do">loginController</prop>
      $ \6 v  `) z; D% ]
    21.                         <prop key="toLogin.do">toLoginController</prop>
      3 l- }' w* j! _5 R
    22.                 </props>
      % H9 I0 M# u; x# M2 G9 V
    23.         </property>0 r) F- d9 H' G/ e! y- a4 R
    24. </bean>1 l: }: g" L# `' o9 t
    25. <!-- 定义视图解析器,根据ModelAndView信息定位视图组件 -->
      + U+ J  W' F( C9 {
    26. <bean id="viewResolver" 1 w/ s* Z8 W) @( w" k9 d# @7 s7 [
    27.         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      5 y, Q" d" s7 t0 @# W' a: y3 U
    28.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>6 z% g1 J  ?; M& k' a
    29.         <!-- 配置视图后缀 -->   
      # D" @# R/ [& i1 q0 v9 s3 y' W* e, L
    30.         <property name="suffix" value=".jsp"></property>
      # _7 I. F" S& x% d/ A
    31.         <!-- 配置视图前缀 -->   
      ! W: m" l. H% \7 b5 F( W- _
    32.         <property name="prefix" value="WEB-INF/jsp/"></property>
      # V7 }# w9 F) f7 I
    33. </bean>" a0 ^1 R+ X" E) E8 k7 ]( \
    34. <!-- 定义Controller组件,等价于原来的Action -->
      $ q, J9 X8 T( O& Y
    35. <bean id="welcomeController" scope="prototype" class="itstyle.action.WelcomeController"></bean>' R# B2 g8 C4 S
    36. <bean id="loginController" scope="prototype" class="itstyle.action.LoginController">
      ( K! l8 _2 H9 P8 c2 O: ~
    37.         <property name="commandClass"
      6 k$ X8 M% j% A6 A( L- G2 Y( u5 G
    38.                 value="itstyle.entity.User">
      : v: k1 x7 v6 ]% E! Y
    39.         </property>
      ! P  X/ y* F  }9 g8 |
    40. </bean>/ g2 {1 n* F2 R, @  ~# J
    41. <bean id="toLoginController" scope="prototype" class="itstyle.action.ToLoginController"></bean>  [8 q% U1 U: B5 \) n
    42. </beans>
    复制代码
    项目测试通过 包含所有的jar包和配置文件 导入即可。

    $ |1 n* ?& W. A0 E" V, N
    项目下载地址:
    游客,如果您要查看本帖隐藏内容请回复

    ) W" E! d$ }, D- n' C* M

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


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

    本帖被以下淘专辑推荐:

    1

    主题

    0

    听众

    130

    金钱

    三袋弟子

    该用户从未签到

    118#
    发表于 2020-09-10 23:35:00 |只看该作者
    00000000000
    回复

    使用道具 举报

    5

    主题

    0

    听众

    133

    金钱

    三袋弟子

    该用户从未签到

    117#
    发表于 2019-02-15 08:27:53 |只看该作者
    学习了。。。。。。。。。。。。。
    回复

    使用道具 举报

    0

    主题

    0

    听众

    69

    金钱

    二袋弟子

    该用户从未签到

    116#
    发表于 2018-11-15 10:40:20 |只看该作者
    老铁,代码不见了
    回复

    使用道具 举报

    0

    主题

    0

    听众

    69

    金钱

    二袋弟子

    该用户从未签到

    115#
    发表于 2018-11-15 10:39:10 |只看该作者
    回复下载啊啊啊啊啊
    回复

    使用道具 举报

    2

    主题

    1

    听众

    338

    金钱

    四袋长老

    该用户从未签到

    90后

    114#
    发表于 2018-10-07 13:16:47 |只看该作者
    回复密码2 v! a2 Q( s6 ~
    回复

    使用道具 举报

    6

    主题

    0

    听众

    143

    金钱

    三袋弟子

    该用户从未签到

    113#
    发表于 2018-09-30 19:29:46 |只看该作者
    挺不错的入门
    回复

    使用道具 举报

    6

    主题

    0

    听众

    143

    金钱

    三袋弟子

    该用户从未签到

    112#
    发表于 2018-09-30 19:29:15 |只看该作者
    MVC常用的结构
    回复

    使用道具 举报

    0

    主题

    0

    听众

    65

    金钱

    二袋弟子

    该用户从未签到

    111#
    发表于 2018-08-23 11:25:04 |只看该作者
    学习了,,,,,,,,,,,,,,
    回复

    使用道具 举报

    0

    主题

    0

    听众

    73

    金钱

    二袋弟子

    该用户从未签到

    110#
    发表于 2018-01-16 11:17:59 |只看该作者
    好好学习,天天向上
    回复

    使用道具 举报

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

       

    关闭

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

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