SpringMVC入门实例及详细讲解
更新时间:2023-05-22 15:21:01 阅读量: 实用文档 文档下载
SpringMVC入门实例及详细讲解
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如
JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller 接口,只有一个方法 ModelAndView
handleRequest(request, response)。Spring 提供了一个控制器层次结构,可以派生子类。
SpringMVC入门实例及详细讲解
如果应用程序需要处理用户输入表单,那么可以继承 AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承 AbstractWizardFormController。
Spring MVC对于现在较成熟的Model-View-Control框架而言,其解决的主要问题无外乎下面几部分:
1》将web页面中的输入元素封装为一个(请求)数据对象。
2》根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。 3》逻辑处理单元完成运算后,返回一个结果数据对象。
4》将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。
开发步骤:
首先新建web Project项目:MySpringMvc
SpringMVC入门实例及详细讲解
1.加载项目所需要的jar包;
spring.jar -------------------------这个在spring2.5.6资源包的dist下面
spring-webmvc.jar---------------这个在spring2.5.6资源包的dist/module下面
2.配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
SpringMVC入门实例及详细讲解
11. 12. 13. 14. 以在 15. 16. 17. 18. 19. 20. 21.
<!-</init-param>--> </servlet> <!-applicationContext.xml 文件代表示应用程序服务的配置和 bean 配置。如果想装入多个配置文件,可 <param-value>标记中用逗号作分隔符。 springmvc 配置文件与 spring 配置的 servlet 名称有关[如本配置中是 dd] 通
常 springmvc 配置文件名称结构为:[servlet-name]-servlet.xml, 如果你没有指定 init-param 里面 contextCofigLocation 的值中对应的 XML 文件的话 (也就是 applicationContext 全局配置文件没有配置在 web.xml 中的话),那么像本 段代码对应在 springmvc 中的配置文件就应该是/WEB-INF/dipatcher-servlet.xml 这样的文件, 否则如果配置了 applicaitonContext.xml 这样的 spring 全局配置文件,如本配置那么就必须为/WEB-
INF/dd-servlet.xml 22. --> 23. <servlet-mapping> 24. 25. 26. 27. <servlet-name>dd</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app></span>
SpringMVC入门实例及详细讲解
2.由于上面的初始化参数中没有指定名字的XML文件,因此在WEB-INF下面建立 dispatcher-servlet.xml
SpringMVC入门实例及详细讲解
16. 17. 18.
<!-- definition of View Resolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceVie
wResolver"> 19. <property name="viewClass"> 20. <value>org.springframework.web.servlet.view.JstlView</value> 21. </property> 22. <property name="prefix"> 23. <value>/view/</value> 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <!-- formController ,这个 formController 可以配置也可以不配置--> <bean id="formController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName"> <value>form</value> </property> </bean>
SpringMVC入门实例及详细讲解
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
<!-- Action Definition --> <bean id="regAction" class="org.lee.springmvc.demo.RegAction"> <!--在 MySpringMvc 这个项目中就没有配置这个 commandClass, 因为它提前调用了 setCommandClass(LoginForm.class)这个方法;这样跟下面效果一样 不过还是建议配成下面这样的更好 --> <property name="commandClass"> <value>org.lee.springmvc.demo.RegInfo</value> </property> <property name="error_view"> <value>error</value> </property> <property name="success_view"> <value>success</value> </property> <property name="commandName"> <value>myCommand</value> </property> </bean> </beans></span></span>
SpringMVC入门实例及详细讲解
3.建立JSP文件
form.jsp
SpringMVC入门实例及详细讲解
18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. /> 33. 34. 35. 36. 37. 38.
<b>${status.errorMessage}</b> </font><br> </spring:bind> 请输入使用者名称与密码:<p> <form name="loginform" action="login.do" method="post"> <spring:bind path="erName"> 名称 <input type="text" name="${status.expression}" value="${status.value}"/> <font color="red"><c:out value="${status.errorMessage}" /></font><br/> </spring:bind> <spring:bind path="command.password"> 密码 <input type="password" name="${status.expression}" value="${status.value}" <font color="red"><c:out value="${status.errorMessage}" /></font><br/> </spring:bind> <input type="submit" value="确定"/> </form> 注意:输入错误会再回到这个页面中。
SpringMVC入门实例及详细讲解
4.建立jsp文件
success.jsp
SpringMVC入门实例及详细讲解
5.建立一个java bean LoginForm.java
SpringMVC入门实例及详细讲解
6.建立controller LoginController.java
SpringMVC入门实例及详细讲解
10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
public class LoginController extends SimpleFormController { /** * 构造方法 */ public LoginController() { // TODO Auto-generated constructor stub //setCommandClass(LoginForm.class); //这句话要是不写的话,那么在
dd-servlet.xml 中的 loginController 里面配置上如下: // <property name="commandClass"> //<value>zz.it.beans.LoginForm</value> //</property> //这样效果也是一样的 } public ModelAndView onSubmit(Object cmd, BindException errors) { LoginForm loginForm = (LoginForm) cmd; if (loginForm.getUserName().equals("test") && loginForm.getPassword().equals("test")) { return new ModelAndView(getSuccessView(), "welcomeuser", loginForm .getUserName()); } else { errors.reject("ccc", "用户名或密码有误!");
SpringMVC入门实例及详细讲解
7.最后,整合部署,访问 效果图
初始登录界面
SpringMVC入门实例及详细讲解
登录成功页面
SpringMVC入门实例及详细讲解
登录失败页面
SpringMVC入门实例及详细讲解
我估计初学者,最关心的大都有这两个问题
1.这个controller是怎样像struts那样进行封装数据的
2.<spring:bind>为什么这么用,为什么取值只能是command.xxx
正在阅读:
SpringMVC入门实例及详细讲解05-22
大学生学业规划02-16
2009-2010年八年级数学下册期末试卷及答案苏科版05-21
2018年医院宣传工作规划05-21
江苏苏州拙政园导游词07-25
2020学生会实践部个人工作计划模板五篇01-13
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 讲解
- SpringMVC
- 实例
- 入门
- 详细
- 宋兴伟作品新闻部工作计划
- 产品表面外观缺陷的定义及限定标准
- 2014八年级语文下册第二单元达标测试A卷
- 试验仪器校验、期间核查记录(全套表格)
- 整体法与隔离法在牛顿第二定律中的应用
- 教学常规检查实施方案
- 平翘舌音练习材料大全
- 产品研制技术总结报告
- 北师大版五年级上册语文第五单元试卷
- 全国出版社青年编校技能竞赛题答案及讲评
- 信息技术教师技能大赛基础知识与专业技能考核样卷
- 杭州MBA院校择校指南
- vector nti 11 使用教程 第六章_限制切位分析
- 浅谈电子政务与政府信息资源管理之间的关系
- 关于高中物理力学部分总复习的几点看法
- 2015年版SCD来源期刊目录
- 法语与法国文化0
- 毕业论文_plc多路信号采集.doc
- 联系实际谈谈美国金融危机对我们生活的影响和应采取的措施
- 数字电路试卷答案