SpringMVC 01 参数获取
pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>SpringMVC</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>SpringMVC Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.10.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> </dependency> <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.20</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency>--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.10.RELEASE</version> </dependency> <dependency> <!--json数据形成--> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/springmvc</path> <port>9999</port> <uriEncoding>utf-8</uriEncoding> </configuration> </plugin> </plugins> </build> </project>
1. config
ServletContainerInit

package com.config; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer; import javax.servlet.Filter; //简化写法 public class ServletContainerInit extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { return new Class[]{SpringConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { return new Class[]{SpringMVCConfig.class}; } @Override protected String[] getServletMappings() { return new String[]{"/"}; //拦截所有 // return new String[]{"/*.action"}; } //乱码处理 get乱码:修改tomcat配置 post乱码:添加过滤器 @Override protected Filter[] getServletFilters() { CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setEncoding("UTF-8"); return new Filter[]{filter}; } } /* * public class ServletContainerInit extends AbstractDispatcherServletInitializer { protected WebApplicationContext createServletApplicationContext() {//用于加载SpringMVC的配置类 AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(SpringMVCConfig.class); return ctx; } protected WebApplicationContext createRootApplicationContext() {//加载SpringMVC的配置类 AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(SpringConfig.class); return ctx; } protected String[] getServletMappings() { return new String[]{"/"}; } }*/
SpringConfig
import org.springframework.context.annotation.Configuration; @Configuration public class SpringConfig { }
SpringMVCConfig
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @ComponentScan({"com.controller"}) @EnableWebMvc//支持json格式数据返回 public class SpringMVCConfig { }
2. entity

package com.entity; public class User { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public User(String name, String password) { this.name = name; this.password = password; } public User() { } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", password='" + password + '\'' + '}'; } }
UserVo
package com.entity; import java.util.List; public class UserVo { List<User> users; public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } @Override public String toString() { return "UserVo{" + "users=" + users + '}'; } }
3. controller
UserController
package com.controller; import com.entity.User; import com.entity.UserVo; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.List; @Controller public class UserController { @RequestMapping("/user/save.action") //请求路径映射 @ResponseBody //返回json public String save(){ System.out.println("save User"); return "{'msg':'user success'}"; } /*传的参数:字符串,表单,json,*/ //http://localhost:8080/SpringMVC/user/getStringParam.action?name=wang&&password=12 @RequestMapping("/user/getStringParam.action") @ResponseBody //返回字符串 public String getStringParam(String name,String password){ System.out.println("getStringParam: "+name+" ,"+password); return "{'msg':'getStringParam success'}"; } //http://localhost:8080/SpringMVC/user/getFormParam.action @RequestMapping("/user/getFormParam.action") @ResponseBody //返回表单参数 public String getFormParam(User user){ System.out.println("getFormParam: "+user.getName()+" ,"+user.getPassword()); return "{'msg':'getFormParam success'}"; } @RequestMapping("/user/getArrayParam.action") @ResponseBody //返回数组 public String getArrayParam(String[] hobbys){ System.out.println("getArrayParam: "+ Arrays.toString(hobbys)); return "{'msg':'getArrayParam success'}"; } @RequestMapping("/user/getJsonParam.action") @ResponseBody //返回json public String getJsonParam(@RequestBody User user){ System.out.println("getJsonParam: "+user.getName()+" ,"+user.getPassword()); return "{'msg':'getJsonParam success'}"; } @RequestMapping("/user/getListParam.action") @ResponseBody //返回list public String getListParam(@RequestParam List<String> likes){//不会直接封装,通过@RequestParam 封装成json格式 System.out.println("getListParam: "+ likes); return "{'msg':'getListParam success'}"; } //接收list集合对象参数 1.form表单 @RequestMapping("/user/getListEntityFormParam.action") @ResponseBody public String getListEntityFormParam(UserVo users){ System.out.println("getListEntityFormParam: "+ users.getUsers()); return "{'msg':'getListEntityFormParam success'}"; } //接收list集合对象参数 2.json @RequestMapping("/user/getListEntityJsonParam.action") @ResponseBody public String getListEntityJsonParam(@RequestBody List<User> users){ System.out.println("getListEntityJsonParam: "+ users); return "{'msg':'getListEntityJsonParam success'}"; } //http://localhost:8080/SpringMVC/user/getDiffNameParam.action @RequestMapping("/user/getDiffNameParam.action") //请求路径映射 @ResponseBody //返回json格式数据 users[0].username public String getDiffNameParam(@RequestParam("uname") String username,@RequestParam("pwd") String password){ //接收List集合对象参数 System.out.println("getDiffNameParam--"+ username+"--"+password); return "{'msg':'getDiffNameParam uccess'}"; } @RequestMapping("/user/getDateParam.action") @ResponseBody //返回json public String getDateParam(Date date1, @DateTimeFormat(pattern = "yyyy-MM-dd") Date date2){ System.out.println("getDateParam: "+date1+" "+date2); return "{'msg':'getDateParam success'}"; } @RequestMapping(value = "/user/getOldServletParam.action" ) @ResponseBody //返回json public void getOldServletParam( HttpServletRequest request, HttpServletResponse response) throws IOException { String name = request.getParameter("name"); System.out.println("getOldServletParam: "+name); response.getWriter().write("{'msg':'getOldServletParam success'}"); } }
分类:
Java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-09-28 JavaWeb 11_jsp九大内置对象
2021-09-28 JavaWeb 03_创建servlet项目(详细)
2021-09-28 JavaWeb Bug处理