From 579392de9b4ccd3cc7b76ff727972410ed184ff5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E4=BF=8A=E5=85=B4?= <3250103239@qq.com>
Date: Thu, 4 Jan 2024 11:22:51 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E4=B9=9D=E6=AC=A1=E4=BD=9C?=
=?UTF-8?q?=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../20240102 MVC.md" | 182 ++++++++++++++++++
1 file changed, 182 insertions(+)
create mode 100644 "14 \346\235\216\344\277\212\345\205\264/20240102 MVC.md"
diff --git "a/14 \346\235\216\344\277\212\345\205\264/20240102 MVC.md" "b/14 \346\235\216\344\277\212\345\205\264/20240102 MVC.md"
new file mode 100644
index 0000000..22aefe6
--- /dev/null
+++ "b/14 \346\235\216\344\277\212\345\205\264/20240102 MVC.md"
@@ -0,0 +1,182 @@
+## 笔记
+
+名称:@ComponentScan
+
+类型:类注解
+
+属性
+
+excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)与具体项(classes)
+
+includeFilters:加载指定的bean,需要指定类别(type)与具体项(classes)
+
+名称:@RequestParam
+
+类型:形参注解
+
+位置:SpringMVC控制器方法形参定义前面
+
+作用:绑定请求参数与处理器方法形参间的关系
+
+参数:
+
+required:是否为必传参数
+
+defaultValue:参数默认值
+
+名称:@EnableWebMvc
+
+类型:配置类注解
+
+位置:SpringMVC配置类定义上方
+
+作用:开启SpringMVC多项辅助功能
+
+## 作业
+
+步骤;
+
+1.pom.xml,将没有的东西复原,如java,test。。。
+
+```xml
+
+ 4.0.0
+ com.xlu
+ ssmvc
+ war
+ 1.0-SNAPSHOT
+
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+ provided
+
+
+
+ org.springframework
+ spring-webmvc
+ 5.2.25.RELEASE
+
+
+
+
+
+
+
+
+
+
+ org.apache.tomcat.maven
+ tomcat7-maven-plugin
+ 2.2
+
+ 88
+ /
+
+
+
+
+
+
+
+```
+
+2.创建com.xlu.config.SpringMvcConfig
+
+```java
+package com.xlu.config;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ComponentScan("com.xlu")
+public class SpringMvcConfig {
+}
+```
+
+3.com.xlu.config.WeblnitConfig
+
+```java
+package com.xlu.config;
+
+import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
+
+public class WeblnitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
+
+
+ protected Class>[] getRootConfigClasses() {
+ return new Class[0];//加载spring的核心配置文件
+ }
+
+ protected Class>[] getServletConfigClasses() {
+ //加载springmvc的核心配置文件
+ return new Class[]{SpringMvcConfig.class};
+ }
+
+ protected String[] getServletMappings() {
+ //设置从/开始的路径,都归tomcat管理
+ return new String[]{"/"};
+ }
+}
+```
+
+4.com.xlu.controller.UserController
+
+```java
+package com.xlu.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.xml.ws.RequestWrapper;
+import java.security.PublicKey;
+
+@Controller
+public class UserController {
+
+
+ @RequestMapping("/save")
+ @ResponseBody
+ public String userSave(){
+
+ return "ok";//http://localhost:88/save网址,查看是否出现OK
+
+ }
+
+ @RequestMapping("/book")
+ @ResponseBody
+ public String book(){
+ return "book is ok!";//http://localhost:88/book网址,查看是否有东西
+ }
+
+
+ @RequestMapping("/hello")
+ @ResponseBody
+ public String hello(){
+
+ System.out.println(666);
+ return "666";//http://localhost:88/hello网址,查看是否有东西
+
+ }
+
+// @RequestMapping("/shouYe")
+// public String shouYe(){
+//
+// return "index.jsp";//http://localhost:88/shouYe网址,跳转网页出现 helloword
+// }
+
+ @RequestMapping("/shouYe")
+ @ResponseBody
+ public String shouYe(){
+
+ return "index.jsp";//http://localhost:88/shouYe网址,出现index.jsp
+ }
+
+
+}
+```
\ No newline at end of file
--
Gitee
From e14274b231e10ce59c670032ae2d2dbdbc50b516 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E4=BF=8A=E5=85=B4?= <3250103239@qq.com>
Date: Thu, 4 Jan 2024 13:29:12 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E5=8D=81=E6=AC=A1=E4=BD=9C?=
=?UTF-8?q?=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../20240103 REST\347\254\224\350\256\260.md" | 325 ++++++++++++++++++
1 file changed, 325 insertions(+)
create mode 100644 "14 \346\235\216\344\277\212\345\205\264/20240103 REST\347\254\224\350\256\260.md"
diff --git "a/14 \346\235\216\344\277\212\345\205\264/20240103 REST\347\254\224\350\256\260.md" "b/14 \346\235\216\344\277\212\345\205\264/20240103 REST\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..7c4d767
--- /dev/null
+++ "b/14 \346\235\216\344\277\212\345\205\264/20240103 REST\347\254\224\350\256\260.md"
@@ -0,0 +1,325 @@
+## 笔记
+
+REST简介
+
+REST(Representational State Transfer)
+
+优点:
+
+隐藏资源的访问行为,无法通过地址得知对资源是何种操作
+
+书写简化
+
+名称:@RequestMapping
+
+类型:方法注解
+
+位置:SpringMVC控制器方法定义上方
+
+作用:设置当前控制器方法请求访问路径
+
+属性
+
+value(默认):请求访问路径
+
+method:http请求动作,标准动作(GET/POST/PUT/DELETE)
+
+名称:@PathVariable
+
+类型:形参注解
+
+位置:SpringMVC控制器方法形参定义前面
+
+作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应
+
+@RequestBody @RequestParam @PathVariable
+
+区别
+
+@RequestParam用于接收url地址传参或表单传参
+
+@RequestBody用于接收json数据
+
+@PathVariable用于接收路径参数,使用{参数名称}描述路径参数
+
+应用
+
+后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
+
+如果发送非json格式数据,选用@RequestParam接收请求参数采用RESTful进行开发,当参数数量较少时,例如1个,
+
+可以采用@PathVariable接收请求路径变量,通常用于传递id值
+
+## 作业
+
+pom.xml
+
+```xml
+
+ 4.0.0
+ com.xlu
+ ssmvc03
+ war
+ 1.0-SNAPSHOT
+
+
+
+ org.springframework
+ spring-webmvc
+ 5.2.25.RELEASE
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+
+ provided
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.11.3
+
+
+
+
+
+
+
+ org.apache.tomcat.maven
+ tomcat7-maven-plugin
+ 2.2
+
+ 80
+ /
+
+ utf-8
+
+
+
+
+
+
+
+```
+
+src/main/java/com/xlu/controller/UserController.java
+
+```java
+package com.xlu.controller;
+
+import com.xlu.admin.User;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Controller
+public class UserController {
+
+ //接受用户名和慢慢,登录
+ @RequestMapping("/login")
+ @ResponseBody
+ public String login(User user){
+
+ String result = "login error";
+ if ("admin".equals(user.getUsername())&&"123456".equals(user.getPassword())) {
+ result = "login success";
+ }
+ return result;//输入用户名admin,密码123456,显示结果巍峨login success
+ }
+
+ //模拟注册
+ @RequestMapping(value = "/reg",produces = "text/html;charset=utf-8")//解决返回的中文乱码问题
+ @ResponseBody
+ public String reg(User user){
+
+ System.out.println(user);
+
+ return "注册成功!";
+ }
+
+ //json集合
+ @RequestMapping("/jsonArray")
+ @ResponseBody
+ public String jsonData(@RequestBody List names){
+
+ System.out.println(names);
+
+ return "ok";
+ }
+
+// JSON数组
+ @RequestMapping("/jsonArray2")
+ @ResponseBody
+ public String jsonData2(@RequestBody String[] names){
+
+ System.out.println(Arrays.toString(names));
+
+ return "ok";
+ }
+
+// json对象
+ @RequestMapping("/userJson")
+ @ResponseBody
+ public String jsonUser(@RequestBody User user){
+ System.out.println(user);
+ return user.toString();
+ }
+
+ @RequestMapping("/userJson2")
+ @ResponseBody
+ public String jsonUser2(@RequestBody List user){
+ System.out.println(user);
+ return user.toString();
+ }
+
+
+}
+
+```
+
+src/main/java/com/xlu/config/WebConfig.java
+
+```java
+package com.xlu.config;
+
+import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
+
+public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
+ protected Class>[] getRootConfigClasses() {
+ return new Class[0];
+ }
+
+ protected Class>[] getServletConfigClasses() {
+ return new Class[]{SpringMvcConfig.class};
+ }
+
+ protected String[] getServletMappings() {
+ return new String[]{"/"};
+ }
+}
+
+```
+
+src/main/java/com/xlu/config/SpringMvcConfig.java
+
+```java
+package com.xlu.config;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+
+@Configuration
+@ComponentScan("com.xlu.controller")
+@EnableWebMvc
+public class SpringMvcConfig {
+}
+
+```
+
+src/main/java/com/xlu/admin/User.java
+
+```java
+package com.xlu.admin;
+
+public class User {
+
+ private Integer id;
+ private String username;
+ private String password;
+ private Address address;
+
+ @Override
+ public String toString() {
+ return "User{" +
+ "id=" + id +
+ ", username='" + username + '\'' +
+ ", password='" + password + '\'' +
+ ", address=" + address +
+ '}';
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public void setAddress(Address address) {
+ this.address = address;
+ }
+
+ public User(Integer id, String username, String password, Address address) {
+ this.id = id;
+ this.username = username;
+ this.password = password;
+ this.address = address;
+ }
+
+ public User() {
+ }
+}
+
+```
+
+src/main/java/com/xlu/admin/Address.java
+
+```java
+package com.xlu.admin;
+
+public class Address {
+ private String city;
+
+ @Override
+ public String toString() {
+ return "Address{" +
+ "city='" + city + '\'' +
+ '}';
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public Address(String city) {
+ this.city = city;
+ }
+
+ public Address() {
+ }
+}
+```
\ No newline at end of file
--
Gitee