一、概述。
在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架也是界面把信息传输到Contorller层的一种架构,通过这个架构可以让我们把页面和Contorller层解耦,使得开发人员的分工更加明确。
二、代码演示。
1、首先配置SpringMVC环境。
1.1导入jar。
值得注意的是红色标记的commons-logging这个jar包一定得引入进去不然会报错。
1.2、xml配置文件。
web.xml
1. <?xml version="1.0" encoding="UTF-8"?>
2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
3. <servlet>
4. <servlet-name>springMVC</servlet-name>
5. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
6. <load-on-startup>1</load-on-startup>
7. </servlet>
8. <servlet-mapping>
9. <servlet-name>springMVC</servlet-name>
10. <url-pattern>*.spring</url-pattern>
11. </servlet-mapping>
12. <welcome-file-list>
13. <welcome-file>index.jsp</welcome-file>
14. </welcome-file-list>
15. </web-app>
springMVC-servlet.xml
1. <?xml version="1.0" encoding="UTF-8"?>
2. <beans xmlns="http://www.springframework.org/schema/beans"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
4. xmlns:context="http://www.springframework.org/schema/context"
5. xsi:schemaLocation="
6. http://www.springframework.org/schema/beans
7. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
8. http://www.springframework.org/schema/context
9. >
10. <context:component-scan base-package="com.gaowei.controller" />
11. </beans>
2、前台界面代码。
login.jsp
1. <%@ page language="java" contentType="text/html; charset=UTF-8"
2. pageEncoding="UTF-8"%>
3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4. <html>
5. <head>
6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7. <title>Insert title here</title>
8. </head>
9. <body>
10. <form action="login.spring" method="post">
11. username:<input type="text" name="username">
12. <br/>
13. password:<input type="text" name="password">
14. <br/>
15. <input type="submit" value="登录">
16. </form>
17. </body>
18. </html>
No.jsp
1. <%@ page language="java" contentType="text/html; charset=UTF-8"
2. pageEncoding="UTF-8"%>
3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4. <html>
5. <head>
6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7. <title>Insert title here</title>
8. </head>
9. <body>
10. No!
11. </body>
12. </html>
Ok.jsp
1. <%@ page language="java" contentType="text/html; charset=UTF-8"
2. pageEncoding="UTF-8"%>
3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4. <html>
5. <head>
6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7. <title>Insert title here</title>
8. </head>
9. <body>
10. OK! welcome:${username}
11. </body>
12. </html>
3、Contorller层接收前台的两种方式。
方式一:利用@RequestParam这个注解
1. package com.gaowei.controller;
2.
3. import org.springframework.stereotype.Controller;
4. import org.springframework.ui.Model;
5. import org.springframework.web.bind.annotation.RequestMapping;
6. import org.springframework.web.bind.annotation.RequestParam;
7.
8. @Controller
9. public class Login {
10.
11. //方式一
12. @RequestMapping("/login")
13. public String login(@RequestParam("username") String username,
14. @RequestParam("password") String password,Model model){
15. if (username.equals(password))
16. {
17. "username", username);
18. return "ok.jsp";
19. else {
20. return "no.jsp";
21. }
22. }
23. }
方式二:
1. package com.gaowei.controller;
2.
3. import org.springframework.stereotype.Controller;
4. import org.springframework.ui.Model;
5. import org.springframework.web.bind.annotation.RequestMapping;
6. import org.springframework.web.bind.annotation.RequestParam;
7.
8. @Controller
9. public class Login {
10. @RequestMapping("/login")
11. public String login(String username,String password,Model model){
12. if (username.equals(password))
13. {
14. "username", username);
15. return "ok.jsp";
16. else {
17. return "no.jsp";
18. }
19. }
20.
21. }
4、界面结果。
第一种传值方式:
第二种传值方式:
三、总结。
标签:username,11,SpringMVC,菜鸟,springframework,jsp,Spring,org,import From: https://blog.51cto.com/nethub/6603478这里体现出了SpringMVC传值方式的多样性满足了开发人员的不同需求。
第一种用来表单的提交。
第二种用来界面间相互传值,也为了方便开发人员利用AJAX。