diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a1c2a238a965f004ff76978ac1086aa6fe95caea..0000000000000000000000000000000000000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..07fa4525d020adea903de6afa69021f855a51011 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../:\java_proj\web-framework\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000000000000000000000000000000000000..85a2ced08616d2ed6eca6e3bec1c3c20087a7961 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000000000000000000000000000000000..63e900193296f8ed911a1b9f5b051cf908099431 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..439db8d8064bca23d4be6a5abea7dc839f56609d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000000000000000000000000000000000000..e96534fb27b68192f27f985d3879e173ec77adb8 --- /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 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/web-framework.iml b/.idea/web-framework.iml new file mode 100644 index 0000000000000000000000000000000000000000..78b2cc53b203f0b97534bb1184cdc7b474339fb4 --- /dev/null +++ b/.idea/web-framework.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/README.en.md b/README.en.md deleted file mode 100644 index bd2cb730acb8953f053bb4efffb6c69acc969952..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# 软件开发与管理 - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index c4520c6c23f8c3cd6d1cf424abf6264297fe2308..6b7b1a9ef0ea095793dc65b360ade0dcc4c1a0fe 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,29 @@ # 软件开发与管理项目 +## 第一次作业:修改ReadMe -#### 介绍 -本仓库属于软件开发与管理课程。 -包含作业和项目两个部分。 - -#### 要求 -* 每次提交前填写以下的完成内容 -* 并在提交消息中写明具体内容 +## 第二次作业:完成基于Model2的登录功能 #### 完成内容列表 -1. 搭建环境 -2. xxxx -3. xxxx -4. xxxx +1. 页面:Login.jsp, LoginSuccess(main).jsp +2. Java类:LoginServlet.java, User.java +3. 数据库:user表 #### 补充说明 -1. xxxx -2. xxxx -3. xxxx +![登录界面](https://images.gitee.com/uploads/images/2021/0312/233923_102bf4bf_8797178.jpeg "微信图片_20210312233855.jpg") +![登录成功界面](https://images.gitee.com/uploads/images/2021/0312/233938_434e7ce6_8797178.jpeg "微信图片_20210312233853.jpg") +![user](https://images.gitee.com/uploads/images/2021/0312/234023_f50be522_8797178.png "微信图片_20210312233849.png") + +## 第三次作业:基于Filter的用户登录验证 + +#### 补充说明 +localhost:8080/main:跳转main.jsp页面 +这里有拦截器进行拦截,将其跳转到登录页面 +![被拦截](https://images.gitee.com/uploads/images/2021/0319/234744_7ade9522_8797178.png "QQ图片20210319234701.png") +![跳转到登录页面](https://images.gitee.com/uploads/images/2021/0319/234810_bc67231c_8797178.jpeg "QQ图片20210319234651.jpg") + +## 第四次作业:基于Listener完成在线用户统计 + +#### 补充说明 +![在线用户统计](https://images.gitee.com/uploads/images/2021/0319/235003_9858f743_8797178.jpeg "QQ图片20210319234953.jpg") \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..76e0ae37d4262a5e54c911a1ea19ae3eb168b470 --- /dev/null +++ b/pom.xml @@ -0,0 +1,99 @@ + + + + 4.0.0 + + org.example + work01 + 1.0-SNAPSHOT + war + + work01 Maven Webapp + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + + + + + junit + junit + 4.11 + test + + + + + mysql + mysql-connector-java + 8.0.22 + + + + + javax.servlet + javax.servlet-api + 3.1.0 + + + + + + javax.servlet.jsp + javax.servlet.jsp-api + 2.3.1 + + + + + + javax.servlet + jstl + 1.2 + + + + + + + work01 + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-war-plugin + 3.2.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + + diff --git a/src/main/java/com/controller/LogoutController.java b/src/main/java/com/controller/LogoutController.java new file mode 100644 index 0000000000000000000000000000000000000000..9f03d14e6de491ccad11dd77d6decd4bc623d63c --- /dev/null +++ b/src/main/java/com/controller/LogoutController.java @@ -0,0 +1,32 @@ +package com.controller; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + + +/** + * @ClassName : LogoutController + * @Description : 退出登录 + * @Author :YUHAIyuan + * @Date: 2021-03-19 22:09 + */ +@WebServlet("/logout") +public class LogoutController extends HttpServlet { + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + + req.getSession().invalidate(); + resp.sendRedirect("/login.jsp"); + } +} diff --git a/src/main/java/com/controller/MainController.java b/src/main/java/com/controller/MainController.java new file mode 100644 index 0000000000000000000000000000000000000000..e1fe1c5f0468195f79f9afcc13b71eabd9a7abe4 --- /dev/null +++ b/src/main/java/com/controller/MainController.java @@ -0,0 +1,18 @@ +package com.controller; + + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebFilter; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet("/main") +public class MainController extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.sendRedirect("/main.jsp"); + } +} diff --git a/src/main/java/com/controller/UserController.java b/src/main/java/com/controller/UserController.java new file mode 100644 index 0000000000000000000000000000000000000000..a4f53cca1142418568fe28ae9b0aa9edd0a43008 --- /dev/null +++ b/src/main/java/com/controller/UserController.java @@ -0,0 +1,68 @@ +package com.controller; + +import com.domain.User; +import com.service.UserService; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.HashSet; + +/** + * @ClassName : UserController + * @Description : 登录请求 + * @Author :YUHAIyuan + * @Date: 2021-03-19 22:15 + */ +@WebServlet("/login") +public class UserController extends HttpServlet { + private UserService userService = new UserService(); + + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.getRequestDispatcher("/login.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String username = req.getParameter("username"); + String password = req.getParameter("password"); + + //封装成User + User user = new User(); + user.setUsername(username); + user.setPassword(password); + + System.out.println("u = "+user); + User u = userService.select(user); + + //登录成功 + if (u != null) { + //登录人数加1 + HttpSession session = req.getSession(); + ServletContext context = session.getServletContext(); + HashSet set = (HashSet) context.getAttribute("set"); + if (null == set) { + set = new HashSet(); + } + String sessionId = session.getId(); + set.add(sessionId); + context.setAttribute("set", set); + + + //存入session + req.getSession().setAttribute("user", u); +// HttpSession session = req.getSession(); + resp.sendRedirect("/main"); +// req.getRequestDispatcher("/main").forward(req, resp); + } else { + resp.sendRedirect("/login.jsp"); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/dao/UserDao.java b/src/main/java/com/dao/UserDao.java new file mode 100644 index 0000000000000000000000000000000000000000..dbeab84e3a2336b9123574f37bf2aa283a70870f --- /dev/null +++ b/src/main/java/com/dao/UserDao.java @@ -0,0 +1,73 @@ +package com.dao; + +import com.domain.User; +import com.utils.JDBCUtils; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * @ClassName : UserDao + * @Description : User的持久层 + * @Author : YUHAIyuan + * @Date: 2021-03-19 21:29 + */ +public class UserDao { + + /** + * 数据库查询 + */ + public User select(User user){ + + Connection connection = JDBCUtils.getConnectMysql(); + //sql语句 + String sql = "select * from user where username = '"+ user.getUsername() +"' and password = '"+ user.getPassword() +"'"; + + //创建Statement对象 + Statement statement = null; + + //查询结果返回集合 + ResultSet resultSet = null; + try { + //获取Statement对象 + statement = connection.createStatement(); + + //执行sql + resultSet = statement.executeQuery(sql); + + User u = null; + while (resultSet.next()){ + u = new User(); + //id、name、money表示数据库对应的字段 + u.setId(resultSet.getLong("id")); + u.setUsername(resultSet.getString("username")); + u.setPassword(resultSet.getString("password")); + } + + JDBCUtils.close(); + + return u; + + } catch (SQLException e) { + System.out.println("查询数据库失败"); + }finally { + try { + resultSet.close(); + statement.close(); + connection.close(); + } catch (SQLException e) { + System.out.println("关闭资源错误"); + resultSet = null; + statement = null; + connection = null; + } + + } + + + return null; + + } +} diff --git a/src/main/java/com/domain/User.java b/src/main/java/com/domain/User.java new file mode 100644 index 0000000000000000000000000000000000000000..91c0a793229d679c57fea0e0c818f20666733390 --- /dev/null +++ b/src/main/java/com/domain/User.java @@ -0,0 +1,57 @@ +package com.domain; +public class User { + /** + * id + */ + private Long id; + /** + * 用户名 + */ + private String username; + /** + * 密码 + */ + private String password; + + @Override + public String toString() { + return "User{" + + "id=" + id + + ", username='" + username + '\'' + + ", password='" + password + '\'' + + '}'; + } + + public Long getId() { + return id; + } + + public void setId(Long 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 User() { + } + + public User(Long id, String username, String password) { + this.id = id; + this.username = username; + this.password = password; + } +} diff --git a/src/main/java/com/filter/LoginFilter.java b/src/main/java/com/filter/LoginFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..17445f2bdfda38d0e97f6ca169b179a4b2aecabc --- /dev/null +++ b/src/main/java/com/filter/LoginFilter.java @@ -0,0 +1,53 @@ +package com.filter; + +import com.domain.User; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; + +/** + * @ClassName : LoginFilter + * @Description : 登录拦截器 + * @Author :YUHAIyuan + * @Date: 2021-03-19 22:09 + */ +@WebFilter("/main")//访问所有资源之前,都会执行该过滤器 +public class LoginFilter implements Filter { + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException, IOException { + + HttpServletRequest req = (HttpServletRequest)servletRequest; + HttpServletResponse resp = (HttpServletResponse) servletResponse; + req.setCharacterEncoding("UTF-8"); + HttpSession session = req.getSession(); + + //通过session判断用户是否已经登录 + User user = (User) session.getAttribute("user"); + + + + //判断是否已登录 + if(user != null){ + //放行 + filterChain.doFilter(servletRequest,servletResponse); + }else { + req.getRequestDispatcher("/login.jsp").forward(req,resp); + } + + } + + @Override + public void destroy() { + + } +} diff --git a/src/main/java/com/listener/SessionListener.java b/src/main/java/com/listener/SessionListener.java new file mode 100644 index 0000000000000000000000000000000000000000..106b4b0bf02e8211d94b0078621f562a3a4806c6 --- /dev/null +++ b/src/main/java/com/listener/SessionListener.java @@ -0,0 +1,36 @@ +package com.listener; + +import com.domain.User; + +import javax.servlet.ServletContext; +import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpSessionEvent; +import javax.servlet.http.HttpSessionListener; +import java.util.HashSet; + + + +/** + * @ClassName : SessionListener + * @Description : sessin监听器 + * @Author :YUHAIyuan + * @Date: 2021-03-19 22:20 + */ +public class SessionListener implements HttpSessionListener { + + @Override + public void sessionCreated(HttpSessionEvent se) { + + } + + @Override + public void sessionDestroyed(HttpSessionEvent se) { + ServletContext context = se.getSession().getServletContext(); + HashSet set = (HashSet) context.getAttribute("set"); + HttpSession session = se.getSession(); + String sessionId = session.getId(); + + boolean remove = set.remove(sessionId); + System.out.println("已登录人数:" + set.size()); + } +} diff --git a/src/main/java/com/service/UserService.java b/src/main/java/com/service/UserService.java new file mode 100644 index 0000000000000000000000000000000000000000..8c0032a9b5493d534417c4ab2fa9ab711fdfaa1a --- /dev/null +++ b/src/main/java/com/service/UserService.java @@ -0,0 +1,22 @@ +package com.service; + +import com.dao.UserDao; +import com.domain.User; + +import java.sql.*; + +/** + * @ClassName : UserService + * @Description : User的业务层 + * @Author : YUHAIyuan + * @Date: 2021-03-19 21:27 + */ +public class UserService { + private UserDao userDao = new UserDao(); + + + public User select(User user){ + return userDao.select(user); + } + +} diff --git a/src/main/java/com/utils/JDBCUtils.java b/src/main/java/com/utils/JDBCUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..35b7dd0e6c5d2ef6b515a0a3b5a3a310c00963e9 --- /dev/null +++ b/src/main/java/com/utils/JDBCUtils.java @@ -0,0 +1,240 @@ +package com.utils; + +import java.sql.*; + +/** + * @ClassName : JDBCMain + * @Description : + * @Author :YUHAIyuan + * @Date: 2021-3-19 22:19 + */ +public class JDBCUtils { + + static Connection connection = null; + + /** + * 获取mysql数据库连接 + */ + static public Connection getConnectMysql() { + try { + //通过类的反射加载类驱动 + Class.forName("com.mysql.cj.jdbc.Driver"); + + //连接数据库相关信息 + String url = "jdbc:mysql://localhost/login?serverTimezone=GMT%2B8&user=root&password=123456"; + + //创建连接 + connection = DriverManager.getConnection(url); + System.out.println("成功连接数据库!!!"); + return connection; + + } catch (ClassNotFoundException e) { + System.out.println("载入JDBC驱动类失败"); + } catch (SQLException e) { + System.out.println("创建数据库连接失败"); + } + return null; + } + + + + static public void close(){ + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + System.out.println("mysql链接关闭异常"); + } + } + + /** + * 数据库查询 + */ + static void select(){ + //获取数据库连接 + Connection connection = getConnectMysql(); + + //sql语句 + String sql = "select * from account"; + + //创建Statement对象 + Statement statement = null; + + //查询结果返回集合 + ResultSet resultSet = null; + try { + //获取Statement对象 + statement = connection.createStatement(); + + //执行sql + resultSet = statement.executeQuery(sql); + + while (resultSet.next()){ + //id、name、money表示数据库对应的字段 + System.out.println("resultSet.getString(\"id\") = " + resultSet.getString("id")); + System.out.println("resultSet.getString(\"name\") = " + resultSet.getString("name")); + System.out.println("resultSet.getString(\"money\") = " + resultSet.getString("money")); + } + + + } catch (SQLException e) { + System.out.println("查询数据库失败"); + }finally { + try { + resultSet.close(); + statement.close(); + connection.close(); + } catch (SQLException e) { + System.out.println("关闭资源错误"); + resultSet = null; + statement = null; + connection = null; + } + + } + + + } + + /** + * 数据库插入 + */ + static void insert(){ + //获取数据库连接 + Connection connection = getConnectMysql(); + + //sql语句 + String name = "Tony"; + Integer money = 100; + + //sql语句 + String sql = "insert into account(name,money) values('"+ name +"','"+ money +"')"; + + //创建Statement对象 + Statement statement = null; + + //查询结果返回集合 + ResultSet resultSet = null; + try { + //获取Statement对象 + statement = connection.createStatement(); + + //执行sql + int i = statement.executeUpdate(sql); + System.out.println("数据插入成功,影响的数据条数 = " + i); + + + } catch (SQLException e) { + + System.out.println("插入数据库失败,"+ e.getMessage()); + }finally { + try { + statement.close(); + connection.close(); + } catch (SQLException e) { + System.out.println("关闭资源错误"); + statement = null; + connection = null; + } + + } + + + } + + /** + * 数据库更新 + */ + static void update(){ + //获取数据库连接 + Connection connection = getConnectMysql(); + + //sql语句 + String name = "汤姆猫"; + Integer money = 2000; + + //sql语句 + //String sql = "insert into account(name,money) values('"+ name +"','"+ money +"')"; + String sql = "update account set name = '"+ name +"', money = '"+ money +"' where id = 28"; + + + //创建Statement对象 + Statement statement = null; + + //查询结果返回集合 + ResultSet resultSet = null; + try { + //获取Statement对象 + statement = connection.createStatement(); + + //执行sql + int i = statement.executeUpdate(sql); + System.out.println("数据更新成功,影响的数据条数 = " + i); + + + } catch (SQLException e) { + + System.out.println("更新数据库失败,"+ e.getMessage()); + }finally { + try { + statement.close(); + connection.close(); + } catch (SQLException e) { + System.out.println("关闭资源错误"); + statement = null; + connection = null; + } + + } + + + } + + /** + * 删除数据 + */ + static void delete(){ + //获取数据库连接 + Connection connection = getConnectMysql(); + + //sql语句 + String name = "汤姆猫"; + Integer money = 2000; + + //sql语句 + //String sql = "insert into account(name,money) values('"+ name +"','"+ money +"')"; + String sql = "delete from account where id = 28"; + + + //创建Statement对象 + Statement statement = null; + + //查询结果返回集合 + ResultSet resultSet = null; + try { + //获取Statement对象 + statement = connection.createStatement(); + + //执行sql + int i = statement.executeUpdate(sql); + System.out.println("数据删除成功,影响的数据条数 = " + i); + + + } catch (SQLException e) { + + System.out.println("数据库删除数据失败,"+ e.getMessage()); + }finally { + try { + statement.close(); + connection.close(); + } catch (SQLException e) { + System.out.println("关闭资源错误"); + statement = null; + connection = null; + } + + } + + + } +} diff --git a/src/main/webapp/LoginSuccess.jsp b/src/main/webapp/LoginSuccess.jsp new file mode 100644 index 0000000000000000000000000000000000000000..ba3fed2376bde4713c68435cbf3dc81f7f727f58 --- /dev/null +++ b/src/main/webapp/LoginSuccess.jsp @@ -0,0 +1,9 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +

登录成功

+ + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000000000000000000000000000000000..689a92460d5e8d221e9f68bf341dcf77074ba36b --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,11 @@ + + + + Archetype Created Web Application + + com.listener.SessionListener + + + diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp new file mode 100644 index 0000000000000000000000000000000000000000..e7e80c70326b1b5665a8c12978ac441de5025bf8 --- /dev/null +++ b/src/main/webapp/index.jsp @@ -0,0 +1,23 @@ + <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> + <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + +
+ + +

+ Hello +

+ +
+ + + + diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp new file mode 100644 index 0000000000000000000000000000000000000000..65c1be6c166526d8cdf327846a5948ecdc09ee94 --- /dev/null +++ b/src/main/webapp/login.jsp @@ -0,0 +1,32 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + + +
+
+
+ 用户名: + +
+
+ 密码: + +
+
+ +
+ +
+
+ + + + diff --git a/src/main/webapp/main.jsp b/src/main/webapp/main.jsp new file mode 100644 index 0000000000000000000000000000000000000000..d68b183cf5bf57c8a90f74bf2f4fff17e2edb6c4 --- /dev/null +++ b/src/main/webapp/main.jsp @@ -0,0 +1,36 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + +
+ + 退出登录 + +

+ 登录成功 +

+ + + + +

+ 当前在线人数:${applicationScope.set.size()} +

+
+ + + + diff --git a/target/classes/com/controller/LogoutController.class b/target/classes/com/controller/LogoutController.class new file mode 100644 index 0000000000000000000000000000000000000000..21dfca1b2327f6c51ba89991463c406a5cc719e8 Binary files /dev/null and b/target/classes/com/controller/LogoutController.class differ diff --git a/target/classes/com/controller/MainController.class b/target/classes/com/controller/MainController.class new file mode 100644 index 0000000000000000000000000000000000000000..b6651a80b4278269ba838268e9d1ace7929fb955 Binary files /dev/null and b/target/classes/com/controller/MainController.class differ diff --git a/target/classes/com/controller/UserController.class b/target/classes/com/controller/UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..b27cb409c95d570d2d582dde6e7d94f44bdac1a0 Binary files /dev/null and b/target/classes/com/controller/UserController.class differ diff --git a/target/classes/com/dao/UserDao.class b/target/classes/com/dao/UserDao.class new file mode 100644 index 0000000000000000000000000000000000000000..427526964827d62216f145de57c1620a07d6bfdf Binary files /dev/null and b/target/classes/com/dao/UserDao.class differ diff --git a/target/classes/com/domain/User.class b/target/classes/com/domain/User.class new file mode 100644 index 0000000000000000000000000000000000000000..701395eb04a409d308b537bfe4bdbc72f70a99c4 Binary files /dev/null and b/target/classes/com/domain/User.class differ diff --git a/target/classes/com/filter/LoginFilter.class b/target/classes/com/filter/LoginFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..d279b5c5f9383c4f1bde92a3d89e124c1af9ac59 Binary files /dev/null and b/target/classes/com/filter/LoginFilter.class differ diff --git a/target/classes/com/listener/SessionListener.class b/target/classes/com/listener/SessionListener.class new file mode 100644 index 0000000000000000000000000000000000000000..bddc2c885d7129f6091517b938c9bbef860f1922 Binary files /dev/null and b/target/classes/com/listener/SessionListener.class differ diff --git a/target/classes/com/service/UserService.class b/target/classes/com/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..acda67000dd6016ec0249bf5ccbafe6cc459e804 Binary files /dev/null and b/target/classes/com/service/UserService.class differ diff --git a/target/classes/com/utils/JDBCUtils.class b/target/classes/com/utils/JDBCUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..c63d0776cd128a27ec5cc639b09c8c5db9c3319f Binary files /dev/null and b/target/classes/com/utils/JDBCUtils.class differ diff --git a/target/work01/LoginSuccess.jsp b/target/work01/LoginSuccess.jsp new file mode 100644 index 0000000000000000000000000000000000000000..ba3fed2376bde4713c68435cbf3dc81f7f727f58 --- /dev/null +++ b/target/work01/LoginSuccess.jsp @@ -0,0 +1,9 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +

登录成功

+ + diff --git a/target/work01/META-INF/MANIFEST.MF b/target/work01/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..df1a10d0d673af8aa66aeacd9e23bba99bc7d30c --- /dev/null +++ b/target/work01/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Created-By: IntelliJ IDEA +Built-By: 86136 +Build-Jdk: version 1.8.0_161 + diff --git a/target/work01/WEB-INF/classes/com/controller/LogoutController.class b/target/work01/WEB-INF/classes/com/controller/LogoutController.class new file mode 100644 index 0000000000000000000000000000000000000000..21dfca1b2327f6c51ba89991463c406a5cc719e8 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/controller/LogoutController.class differ diff --git a/target/work01/WEB-INF/classes/com/controller/MainController.class b/target/work01/WEB-INF/classes/com/controller/MainController.class new file mode 100644 index 0000000000000000000000000000000000000000..b6651a80b4278269ba838268e9d1ace7929fb955 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/controller/MainController.class differ diff --git a/target/work01/WEB-INF/classes/com/controller/UserController.class b/target/work01/WEB-INF/classes/com/controller/UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..b27cb409c95d570d2d582dde6e7d94f44bdac1a0 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/controller/UserController.class differ diff --git a/target/work01/WEB-INF/classes/com/dao/UserDao.class b/target/work01/WEB-INF/classes/com/dao/UserDao.class new file mode 100644 index 0000000000000000000000000000000000000000..427526964827d62216f145de57c1620a07d6bfdf Binary files /dev/null and b/target/work01/WEB-INF/classes/com/dao/UserDao.class differ diff --git a/target/work01/WEB-INF/classes/com/domain/User.class b/target/work01/WEB-INF/classes/com/domain/User.class new file mode 100644 index 0000000000000000000000000000000000000000..701395eb04a409d308b537bfe4bdbc72f70a99c4 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/domain/User.class differ diff --git a/target/work01/WEB-INF/classes/com/filter/LoginFilter.class b/target/work01/WEB-INF/classes/com/filter/LoginFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..d279b5c5f9383c4f1bde92a3d89e124c1af9ac59 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/filter/LoginFilter.class differ diff --git a/target/work01/WEB-INF/classes/com/listener/SessionListener.class b/target/work01/WEB-INF/classes/com/listener/SessionListener.class new file mode 100644 index 0000000000000000000000000000000000000000..bddc2c885d7129f6091517b938c9bbef860f1922 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/listener/SessionListener.class differ diff --git a/target/work01/WEB-INF/classes/com/service/UserService.class b/target/work01/WEB-INF/classes/com/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..acda67000dd6016ec0249bf5ccbafe6cc459e804 Binary files /dev/null and b/target/work01/WEB-INF/classes/com/service/UserService.class differ diff --git a/target/work01/WEB-INF/classes/com/utils/JDBCUtils.class b/target/work01/WEB-INF/classes/com/utils/JDBCUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..c63d0776cd128a27ec5cc639b09c8c5db9c3319f Binary files /dev/null and b/target/work01/WEB-INF/classes/com/utils/JDBCUtils.class differ diff --git a/target/work01/WEB-INF/lib/javax.servlet-api-3.1.0.jar b/target/work01/WEB-INF/lib/javax.servlet-api-3.1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..6b14c3d267867e76c04948bb31b3de18e01412ee Binary files /dev/null and b/target/work01/WEB-INF/lib/javax.servlet-api-3.1.0.jar differ diff --git a/target/work01/WEB-INF/lib/javax.servlet.jsp-api-2.3.1.jar b/target/work01/WEB-INF/lib/javax.servlet.jsp-api-2.3.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..74516209429e42af347ec5d00f3e282549ba5e1d Binary files /dev/null and b/target/work01/WEB-INF/lib/javax.servlet.jsp-api-2.3.1.jar differ diff --git a/target/work01/WEB-INF/lib/jstl-1.2.jar b/target/work01/WEB-INF/lib/jstl-1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..0fd275e94660402f80f01505d28b90a23f7e0209 Binary files /dev/null and b/target/work01/WEB-INF/lib/jstl-1.2.jar differ diff --git a/target/work01/WEB-INF/lib/mysql-connector-java-8.0.22.jar b/target/work01/WEB-INF/lib/mysql-connector-java-8.0.22.jar new file mode 100644 index 0000000000000000000000000000000000000000..412d81faa52ff19c78ccf9b5577e600569a47844 Binary files /dev/null and b/target/work01/WEB-INF/lib/mysql-connector-java-8.0.22.jar differ diff --git a/target/work01/WEB-INF/lib/protobuf-java-3.11.4.jar b/target/work01/WEB-INF/lib/protobuf-java-3.11.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..7224d23dfd2702ff1f4479ed9243124f9924acb4 Binary files /dev/null and b/target/work01/WEB-INF/lib/protobuf-java-3.11.4.jar differ diff --git a/target/work01/WEB-INF/web.xml b/target/work01/WEB-INF/web.xml new file mode 100644 index 0000000000000000000000000000000000000000..689a92460d5e8d221e9f68bf341dcf77074ba36b --- /dev/null +++ b/target/work01/WEB-INF/web.xml @@ -0,0 +1,11 @@ + + + + Archetype Created Web Application + + com.listener.SessionListener + + + diff --git a/target/work01/index.jsp b/target/work01/index.jsp new file mode 100644 index 0000000000000000000000000000000000000000..e7e80c70326b1b5665a8c12978ac441de5025bf8 --- /dev/null +++ b/target/work01/index.jsp @@ -0,0 +1,23 @@ + <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> + <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + +
+ + +

+ Hello +

+ +
+ + + + diff --git a/target/work01/login.jsp b/target/work01/login.jsp new file mode 100644 index 0000000000000000000000000000000000000000..65c1be6c166526d8cdf327846a5948ecdc09ee94 --- /dev/null +++ b/target/work01/login.jsp @@ -0,0 +1,32 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + + +
+
+
+ 用户名: + +
+
+ 密码: + +
+
+ +
+ +
+
+ + + + diff --git a/target/work01/main.jsp b/target/work01/main.jsp new file mode 100644 index 0000000000000000000000000000000000000000..d68b183cf5bf57c8a90f74bf2f4fff17e2edb6c4 --- /dev/null +++ b/target/work01/main.jsp @@ -0,0 +1,36 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + + love + + + + +
+ + 退出登录 + +

+ 登录成功 +

+ + + + +

+ 当前在线人数:${applicationScope.set.size()} +

+
+ + + + diff --git a/work01.iml b/work01.iml new file mode 100644 index 0000000000000000000000000000000000000000..78b2cc53b203f0b97534bb1184cdc7b474339fb4 --- /dev/null +++ b/work01.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file