From 8587a1c94e800dbf0400f13641362b15fa91e49f Mon Sep 17 00:00:00 2001
From: limingyue <100746101+Limingyue0715@users.noreply.github.com>
Date: Wed, 29 May 2024 12:06:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 38 ++++++
.idea/.gitignore | 8 ++
.idea/encodings.xml | 7 +
.idea/misc.xml | 14 ++
.idea/uiDesigner.xml | 124 ++++++++++++++++++
.idea/vcs.xml | 6 +
pom.xml | 69 ++++++++++
.../java/com/controller/HelloController.java | 25 ++++
.../java/springweb/SuccessController.java | 12 ++
src/main/java/springweb/User.java | 22 ++++
src/main/java/springweb/UserController.java | 50 +++++++
src/main/java/springweb/UserDao.java | 5 +
src/main/java/springweb/UserDaoImpl.java | 22 ++++
src/main/java/springweb/UserService.java | 5 +
src/main/java/springweb/UserServiceImpl.java | 25 ++++
src/main/resources/jdbc.properties | 5 +
src/main/resources/springMVC.xml | 37 ++++++
src/main/webapp/WEB-INF/index.jsp | 19 +++
src/main/webapp/WEB-INF/login.jsp | 25 ++++
src/main/webapp/WEB-INF/web.xml | 32 +++++
src/main/webapp/login.jsp | 24 ++++
.../java/springweb/UserControllerTest.java | 25 ++++
22 files changed, 599 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/uiDesigner.xml
create mode 100644 .idea/vcs.xml
create mode 100644 pom.xml
create mode 100644 src/main/java/com/controller/HelloController.java
create mode 100644 src/main/java/springweb/SuccessController.java
create mode 100644 src/main/java/springweb/User.java
create mode 100644 src/main/java/springweb/UserController.java
create mode 100644 src/main/java/springweb/UserDao.java
create mode 100644 src/main/java/springweb/UserDaoImpl.java
create mode 100644 src/main/java/springweb/UserService.java
create mode 100644 src/main/java/springweb/UserServiceImpl.java
create mode 100644 src/main/resources/jdbc.properties
create mode 100644 src/main/resources/springMVC.xml
create mode 100644 src/main/webapp/WEB-INF/index.jsp
create mode 100644 src/main/webapp/WEB-INF/login.jsp
create mode 100644 src/main/webapp/WEB-INF/web.xml
create mode 100644 src/main/webapp/login.jsp
create mode 100644 src/test/java/springweb/UserControllerTest.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..fdc35ea
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..6dc901b
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+ org.example
+ springmvc
+ 1.0-SNAPSHOT
+ war
+
+
+ 21
+ 21
+ UTF-8
+
+
+
+
+
+ org.springframework
+ spring-context
+ 6.1.6
+
+
+
+ org.springframework
+ spring-webmvc
+ 6.1.6
+
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
+ provided
+
+
+
+ org.thymeleaf
+ thymeleaf-spring6
+ 3.1.2.RELEASE
+
+
+
+
+ org.springframework
+ spring-jdbc
+ 6.1.6
+
+
+
+ com.alibaba
+ druid
+ 1.2.22
+
+
+ com.mysql
+ mysql-connector-j
+ 8.3.0
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.10.2
+ test
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/controller/HelloController.java b/src/main/java/com/controller/HelloController.java
new file mode 100644
index 0000000..9953181
--- /dev/null
+++ b/src/main/java/com/controller/HelloController.java
@@ -0,0 +1,25 @@
+package com.controller;
+
+import com.mysql.cj.x.protobuf.MysqlxDatatypes;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+public class HelloController {
+ @RequestMapping("/mm")
+ public String index(Model model){
+ String msg;
+ model.addAttribute("msg","成功");
+ return "/index.jsp";
+ }
+
+}
+ public class HelloController {
+ @RequestMapping("/mm")
+ public MysqlxDatatypes.Scalar.String index(Model model){
+ MysqlxDatatypes.Scalar.String msg;
+ model.addAttribute("msg","成功");
+ return "/index.jsp";
+ }
+ }
\ No newline at end of file
diff --git a/src/main/java/springweb/SuccessController.java b/src/main/java/springweb/SuccessController.java
new file mode 100644
index 0000000..5cb7d56
--- /dev/null
+++ b/src/main/java/springweb/SuccessController.java
@@ -0,0 +1,12 @@
+package springweb;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+public class SuccessController {
+ @RequestMapping ("/success")
+ public String success() {
+ return "/index.jsp"; // 返回首页视图名称
+ }
+}
diff --git a/src/main/java/springweb/User.java b/src/main/java/springweb/User.java
new file mode 100644
index 0000000..ae42349
--- /dev/null
+++ b/src/main/java/springweb/User.java
@@ -0,0 +1,22 @@
+package springweb;
+
+public class User {
+ private String username;
+
+ private String password;
+ 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;
+ }
+}
diff --git a/src/main/java/springweb/UserController.java b/src/main/java/springweb/UserController.java
new file mode 100644
index 0000000..8434ec9
--- /dev/null
+++ b/src/main/java/springweb/UserController.java
@@ -0,0 +1,50 @@
+package springweb;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@Controller
+public class UserController {
+
+ UserService userService;
+
+ // @Autowired
+ @Autowired
+ public void setUserService(UserService userService) {
+ this.userService = userService;
+ }
+
+ @PostMapping("/login")
+ public String handleSubmitForm(@RequestParam("username") String username, @RequestParam("password") String password, Model model) {
+ User user = new User();
+ user.setUsername(username);
+ user.setPassword(password);
+ // 处理表单数据
+ Boolean result = userService.userLogin(user);
+ if (result) {
+ model.addAttribute("username", user.getUsername());
+ return "/index";
+ } else {
+ model.addAttribute("msg", "登陆失败");
+ return "login";
+ }
+ }
+
+ public String userLogin(User user) {
+ Boolean result = userService.userLogin(user);
+ if (result)
+ return "success";
+ else
+ return "error";
+ }
+
+ @RequestMapping("/mm")
+ public String shi() {
+ return "success";
+ }
+
+}
diff --git a/src/main/java/springweb/UserDao.java b/src/main/java/springweb/UserDao.java
new file mode 100644
index 0000000..87ba559
--- /dev/null
+++ b/src/main/java/springweb/UserDao.java
@@ -0,0 +1,5 @@
+package springweb;
+
+public interface UserDao {
+ public User userLogin(User user);
+}
diff --git a/src/main/java/springweb/UserDaoImpl.java b/src/main/java/springweb/UserDaoImpl.java
new file mode 100644
index 0000000..a34fe1e
--- /dev/null
+++ b/src/main/java/springweb/UserDaoImpl.java
@@ -0,0 +1,22 @@
+package springweb;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class UserDaoImpl implements UserDao{
+ JdbcTemplate jdbcTemplate;
+ @Autowired
+ public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+ this.jdbcTemplate = jdbcTemplate;
+ }
+
+ @Override
+ public User userLogin(User user) {
+ String sql="SELECT * FROM user WHERE username=? AND password=?";
+ User resuser=jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>(User.class),user.getUsername(),user.getPassword());
+ return resuser;
+ }
+}
diff --git a/src/main/java/springweb/UserService.java b/src/main/java/springweb/UserService.java
new file mode 100644
index 0000000..d1bd96a
--- /dev/null
+++ b/src/main/java/springweb/UserService.java
@@ -0,0 +1,5 @@
+package springweb;
+
+public interface UserService {
+ public boolean userLogin(User user);
+}
diff --git a/src/main/java/springweb/UserServiceImpl.java b/src/main/java/springweb/UserServiceImpl.java
new file mode 100644
index 0000000..0745254
--- /dev/null
+++ b/src/main/java/springweb/UserServiceImpl.java
@@ -0,0 +1,25 @@
+package springweb;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataAccessException;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserServiceImpl implements UserService{
+ UserDao userDao;
+
+ @Autowired
+ public void setUserDao(UserDao userDao) {
+ this.userDao = userDao;
+ }
+
+ @Override
+ public boolean userLogin(User user) {
+ try {
+ User sqlUser = userDao.userLogin(user);
+ if ((sqlUser.getUsername().equals(user.getUsername())) && (sqlUser.getPassword().equals(user.getPassword())))
+ return true;
+ }catch (DataAccessException e){}
+ return false;
+ }
+}
diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties
new file mode 100644
index 0000000..2538c28
--- /dev/null
+++ b/src/main/resources/jdbc.properties
@@ -0,0 +1,5 @@
+jdbc.user=
+jdbc.password=
+#jdbc.url=jdbc:mysql://localhost:3306/spring?characterEncoding=utf8&useSSL=false
+jdbc.url=jdbc:mysql://localhost:3306/db?characterEncoding=utf8&useSSL=false
+jdbc.driver=com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/src/main/resources/springMVC.xml b/src/main/resources/springMVC.xml
new file mode 100644
index 0000000..f3ed330
--- /dev/null
+++ b/src/main/resources/springMVC.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/index.jsp b/src/main/webapp/WEB-INF/index.jsp
new file mode 100644
index 0000000..6cf47d3
--- /dev/null
+++ b/src/main/webapp/WEB-INF/index.jsp
@@ -0,0 +1,19 @@
+<%--
+ Created by IntelliJ IDEA.
+ User: Liang
+ Date: 2024/5/14
+ Time: 10:51
+ To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+
+ 首页
+
+
+首页
+
+HelloWorld,${username}
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/login.jsp b/src/main/webapp/WEB-INF/login.jsp
new file mode 100644
index 0000000..2fa5cd8
--- /dev/null
+++ b/src/main/webapp/WEB-INF/login.jsp
@@ -0,0 +1,25 @@
+<%--
+ Created by IntelliJ IDEA.
+ User: Liang
+ Date: 2024/5/14
+ Time: 10:54
+ To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+
+ 登录
+
+
+登录
+${msg}
+<%--HelloWorld
--%>
+
+
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..3dbf3ee
--- /dev/null
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,32 @@
+
+
+
+
+ springMVC
+ org.springframework.web.servlet.DispatcherServlet
+
+
+ contextConfigLocation
+
+ classpath:springMVC.xml
+
+
+ 1
+
+
+ springMVC
+
+ /
+
+
\ No newline at end of file
diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp
new file mode 100644
index 0000000..de84c2a
--- /dev/null
+++ b/src/main/webapp/login.jsp
@@ -0,0 +1,24 @@
+<%--
+ Created by IntelliJ IDEA.
+ User: 86166
+ Date: 2024/5/14
+ Time: 10:54
+ To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+
+
+ 登录
+
+
+登录
+<%--HelloWorld
--%>
+
+
+
diff --git a/src/test/java/springweb/UserControllerTest.java b/src/test/java/springweb/UserControllerTest.java
new file mode 100644
index 0000000..3d9380d
--- /dev/null
+++ b/src/test/java/springweb/UserControllerTest.java
@@ -0,0 +1,25 @@
+package springweb;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import java.util.Scanner;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class UserControllerTest {
+
+ @Test
+ void userLogin() {
+ ApplicationContext context=new ClassPathXmlApplicationContext("springMVC.xml");
+ UserController userController= context.getBean(UserController.class);
+ User user=new User();
+ Scanner scanner =new Scanner(System.in);
+ System.out.println("用户名:");
+ user.setUsername(scanner.next());
+ System.out.println("密码");
+ user.setPassword(scanner.next());
+ System.out.println(userController.userLogin(user));
+ }
+}
\ No newline at end of file
--
Gitee