首页 > 其他分享 >菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式

时间:2023-07-02 10:32:51浏览次数:24  
标签:username 11 SpringMVC 菜鸟 springframework jsp Spring org import


一、概述。

在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架也是界面把信息传输到Contorller层的一种架构,通过这个架构可以让我们把页面和Contorller层解耦,使得开发人员的分工更加明确。

二、代码演示。

1、首先配置SpringMVC环境。

1.1导入jar。

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_ui


值得注意的是红色标记的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、界面结果。

第一种传值方式:

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_ui_02

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_web.xml_03

第二种传值方式:

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_html_04

三、总结。

这里体现出了SpringMVC传值方式的多样性满足了开发人员的不同需求。

第一种用来表单的提交。

第二种用来界面间相互传值,也为了方便开发人员利用AJAX。

标签:username,11,SpringMVC,菜鸟,springframework,jsp,Spring,org,import
From: https://blog.51cto.com/nethub/6603478

相关文章

  • Spring 配置事务管理器方法的理解
    @BeanpublicPlatformTransactionManagertransactionManager(DataSourcedataSource){DataSourceTransactionManagertransactionManager=newDataSourceTransactionManager();transactionManager.setDataSource(dataSource);return......
  • SpringMVC的执行流程
    SpringMVC的执行流程要求掌握SpringMVC的执行流程了解SpringMVC的重要组件的作用概要我把整个流程分成三个阶段准备阶段匹配阶段执行阶段准备阶段在Web容器第一次用到DispatcherServlet的时候,会创建其对象并执行init方法init方法内会创建SpringWeb......
  • 【springboot】支持热部署
    加入依赖坐标<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency> 配置Compiler选项 按2下shift键,选择registry 修改配置后保存(ctrl+S)即可以热部署了或者直接点击更快......
  • 【springboot】配置项
    主要是properties和yml,可以互相转换(toyaml),如果是自己定义的变量,是可以通过@Value注解来从配置文件中注入对应配置的值。先看properties文件中的配置test.hello=Hello4再来看代码里面怎么用@RestControllerpublicclassTestController{@Value("${test.hello:TEST}")......
  • SpringBoot整合Kafka
    1、安装kafka这里我是用的是docker-compose方式安装(1)安装docker和docker-composesudoyuminstall-yyum-utilssudoyum-config-manager\--add-repo\https://download.docker.com/linux/centos/docker-ce.reposudoyuminstalldocker-cedocker-ce-clico......
  • 在 Kubernetes(k8s) 上部署 Spring Boot 应用程序:应用程序使用环境变量中的错误端口属
    如果我使用此配置启动部署(即先启动服务,然后启动部署)则pod在启动期间会失败。在日志中,我可以找到以下消息:***************************APPLICATIONFAILEDTOSTART***************************Description:Bindingtotargetorg.springframework.boot.autoconfigu......
  • 多端全栈项目实战:大型商业级代驾业务全流程落地SpringCloudAlibaba+Mysql+Redis+Docke
    多端全栈项目实战:大型商业级代驾业务全流程落地SpringCloudAlibaba+Mysql+Redis+Docker+Uniapp+Vue3随着移动互联网的快速发展和智能手机的普及,代驾服务成为了一个日益火热的行业。在这个行业中,如何构建一个具备商业级可靠性和扩展性的代驾业务系统成为了关键问题。本文将介绍一......
  • SpringBoot3.0最新深入浅出从入门到项目实战,突出Web应用痛点解决方案
    SpringBoot3.0最新深入浅出从入门到项目实战,突出Web应用痛点解决方案SpringBoot已经成为Java开发中最流行的框架之一,它提供了一种快速构建、易于扩展的方式,使开发人员能够更加专注于业务逻辑而不是繁琐的配置。而最新的SpringBoot3.0版本将进一步改善开发体验,并提供更多的解决方......
  • SpringBoot 如何优雅的进行全局异常处理?
    在SpringBoot的开发中,为了提高程序运行的鲁棒性,我们经常需要对各种程序异常进行处理,但是如果在每个出异常的地方进行单独处理的话,这会引入大量业务不相关的异常处理代码,增加了程序的耦合,同时未来想改变异常的处理逻辑,也变得比较困难。这篇文章带大家了解一下如何优雅的进行全局异......
  • 绝无仅有的SpringBoot前后端分离项目《盈利宝》
    每天都在制造矛盾并解决矛盾的路上程序员的主要矛盾不是书和资料多不多的矛盾而是学着学着发现知识又更新了时间就像一台永不停歇的永动机向前不停地运作年初的flag渐行渐远管他前浪,还是后浪?能浪的浪,才是好浪!今天带你解锁 Springboot+Vue项目花了很长时间从头到尾从无到有地完......