From f84c66b6db26abd2ad9a983d4769fcf4b5d883e3 Mon Sep 17 00:00:00 2001 From: qingfeng1121 Date: Mon, 29 Sep 2025 19:35:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyAfterProjecyApplication.java | 13 ++++ .../demos/web/BasicController.java | 67 +++++++++++++++++++ .../demos/web/PathVariableController.java | 44 ++++++++++++ .../com/qf/myafterprojecy/demos/web/User.java | 43 ++++++++++++ src/main/resources/application.properties | 10 +++ src/main/resources/static/index.html | 6 ++ .../MyAfterProjecyApplicationTests.java | 13 ++++ 7 files changed, 196 insertions(+) create mode 100644 src/main/java/com/qf/myafterprojecy/MyAfterProjecyApplication.java create mode 100644 src/main/java/com/qf/myafterprojecy/demos/web/BasicController.java create mode 100644 src/main/java/com/qf/myafterprojecy/demos/web/PathVariableController.java create mode 100644 src/main/java/com/qf/myafterprojecy/demos/web/User.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/static/index.html create mode 100644 src/test/java/com/qf/myafterprojecy/MyAfterProjecyApplicationTests.java diff --git a/src/main/java/com/qf/myafterprojecy/MyAfterProjecyApplication.java b/src/main/java/com/qf/myafterprojecy/MyAfterProjecyApplication.java new file mode 100644 index 0000000..08b17ef --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/MyAfterProjecyApplication.java @@ -0,0 +1,13 @@ +package com.qf.myafterprojecy; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class MyAfterProjecyApplication { + + public static void main(String[] args) { + SpringApplication.run(MyAfterProjecyApplication.class, args); + } + +} diff --git a/src/main/java/com/qf/myafterprojecy/demos/web/BasicController.java b/src/main/java/com/qf/myafterprojecy/demos/web/BasicController.java new file mode 100644 index 0000000..8554f3d --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/demos/web/BasicController.java @@ -0,0 +1,67 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.qf.myafterprojecy.demos.web; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class BasicController { + + // http://127.0.0.1:8080/hello?name=lisi + @RequestMapping("/hello") + @ResponseBody + public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) { + return "Hello " + name; + } + + // http://127.0.0.1:8080/user + @RequestMapping("/user") + @ResponseBody + public User user() { + User user = new User(); + user.setName("theonefx"); + user.setAge(666); + return user; + } + + // http://127.0.0.1:8080/save_user?name=newName&age=11 + @RequestMapping("/save_user") + @ResponseBody + public String saveUser(User u) { + return "user will save: name=" + u.getName() + ", age=" + u.getAge(); + } + + // http://127.0.0.1:8080/html + @RequestMapping("/html") + public String html(){ + return "index.html"; + } + + @ModelAttribute + public void parseUser(@RequestParam(name = "name", defaultValue = "unknown user") String name + , @RequestParam(name = "age", defaultValue = "12") Integer age, User user) { + user.setName("zhangsan"); + user.setAge(18); + } +} diff --git a/src/main/java/com/qf/myafterprojecy/demos/web/PathVariableController.java b/src/main/java/com/qf/myafterprojecy/demos/web/PathVariableController.java new file mode 100644 index 0000000..b37bd66 --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/demos/web/PathVariableController.java @@ -0,0 +1,44 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.qf.myafterprojecy.demos.web; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author theonefx + */ +@Controller +public class PathVariableController { + + // http://127.0.0.1:8080/user/123/roles/222 + @RequestMapping(value = "/user/{userId}/roles/{roleId}", method = RequestMethod.GET) + @ResponseBody + public String getLogin(@PathVariable("userId") String userId, @PathVariable("roleId") String roleId) { + return "User Id : " + userId + " Role Id : " + roleId; + } + + // http://127.0.0.1:8080/javabeat/somewords + @RequestMapping(value = "/javabeat/{regexp1:[a-z-]+}", method = RequestMethod.GET) + @ResponseBody + public String getRegExp(@PathVariable("regexp1") String regexp1) { + return "URI Part : " + regexp1; + } +} diff --git a/src/main/java/com/qf/myafterprojecy/demos/web/User.java b/src/main/java/com/qf/myafterprojecy/demos/web/User.java new file mode 100644 index 0000000..cda6dec --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/demos/web/User.java @@ -0,0 +1,43 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.qf.myafterprojecy.demos.web; + +/** + * @author theonefx + */ +public class User { + + private String name; + + private Integer age; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..2d976fc --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,10 @@ +# 应用服务 WEB 访问端口 +server.port=8080 + + +#下面这些内容是为了让MyBatis映射 +#指定Mybatis的Mapper文件 +mybatis.mapper-locations=classpath:mappers/*xml +#指定Mybatis的实体目录 +mybatis.type-aliases-package=com.qf.myafterprojecy.mybatis.entity + diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html new file mode 100644 index 0000000..e2d94a2 --- /dev/null +++ b/src/main/resources/static/index.html @@ -0,0 +1,6 @@ + + +

hello word!!!

+

this is a html page

+ + \ No newline at end of file diff --git a/src/test/java/com/qf/myafterprojecy/MyAfterProjecyApplicationTests.java b/src/test/java/com/qf/myafterprojecy/MyAfterProjecyApplicationTests.java new file mode 100644 index 0000000..82fe420 --- /dev/null +++ b/src/test/java/com/qf/myafterprojecy/MyAfterProjecyApplicationTests.java @@ -0,0 +1,13 @@ +package com.qf.myafterprojecy; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class MyAfterProjecyApplicationTests { + + @Test + void contextLoads() { + } + +}