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

本文来源:https://www.bwwdw.com/article/kti4.html

Top