Java ssm框架搭建实现登录 总
2020-07-06 11:48
95 查看
Java ssm框架搭建实现登录 总
前言
Java用ssm框架搭建实现简单登录注册等功能,与MySQL结合
准备
File–>setting–>查找Maven
新建.m2如下
新建项目
如果有红色代码
配置Tomcat
Java文件和resources文件
main下如下建两个,Java文件和resources文件
Java
resources
建立Package
配置文件
按照下图建立3个配置文件
记得加后缀名
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"> <!-- 1.配置数据库相关参数properties的属性:${url} --> <context:property-placeholder location="classpath:db.properties"/> <!-- 2.配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="maxPoolSize" value="30"/> <property name="minPoolSize" value="2"/> </bean> <!-- 3.配置SqlSessionFactory对象 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource"/> <!-- 扫描bean包 使用别名 --> <property name="typeAliasesPackage" value="com.cc0701.bean"></property> <!--配置加载映射文件 UserMapper.xml--> <property name="mapperLocations" value="classpath:mapper/*.xml"/> </bean> <!-- 自动生成dao,mapper--> <!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 给出需要扫描Dao接口包 --> <property name="basePackage" value="com.cc0701.dao"/> <!-- 注入sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> <!--自动扫描--> <context:component-scan base-package="com.cc0701"/> <!-- 配置事务--> <!-- 5.配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 6.开启事务注解--> <tx:annotation-driven></tx:annotation-driven> </beans>
db.properties
jdbc.url=jdbc:mysql://localhost:3306/testtt?useSSL=false jdbc.username=root jdbc.password=123456 jdbc.driver=com.mysql.jdbc.Driver
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"> <!-- 1.注解扫描位置--> <context:component-scan base-package="com.cc0701.controller" /> <!-- 2.配置映射处理和适配器--> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <!-- 3.视图的解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/pages/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
UserMapper.xml
resources下建一个Directory------mapper
mapper下建一个File-----UserMapper
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.cc0701.dao.UserDao"> <select id="findUserByName" parameterType="String" resultType="user"> select * from user where name=#{name} </select> <delete id="deleteById" parameterType="Integer"> delete from user where id=#{id} </delete> <insert id="add" parameterType="User"> insert into user (name,password) values (#{name},#{password}) </insert> <select id="findAll" resultType="user"> select * from user </select> <select id="findUserById" parameterType="Integer" resultType="User"> select * from user where id=#{id} </select> <update id="update" parameterType="User"> update user set name=#{name},password=#{password} where id=#{id} </update> <select id="searchByName" parameterType="String" resultType="User"> select * from user where name like concat('%',#{name},'%') </select> </mapper>
cc0701
User
bean下建User
package com.cc0701.bean; public class User { private int id; private String name; private String password; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } 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; } }
UserDao
dao下建UserDao
package com.cc0701.dao; import com.cc0701.bean.User; import java.util.List; public interface UserDao { User findUserByName(String name); List<User> findAll(); int deleteById(Integer id); int add(User user); int update(User user); User findUserById(Integer id); List<User> searchByName(String name); }
UserService
service下建UserService
package com.cc0701.service; import com.cc0701.bean.User; import java.util.List; public interface UserService { boolean login(String name,String password); boolean delete(Integer id); List<User> findAll(); boolean add(User user); User findById(Integer id); boolean update(User user); List<User> searchByName(String name); }
UserServiceImpl
Impl下建UserServiceImpl
package com.cc0701.service.Impl; import com.cc0701.bean.User; import com.cc0701.dao.UserDao; import com.cc0701.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public boolean login(String name, String password) { User user = userDao.findUserByName(name); if (user!=null&&user.getPassword().equals(password)){ return true; } return false; } @Override public boolean delete(Integer id) { int del = userDao.deleteById(id); if (del>0){ return true; } return false; } @Override public List<User> findAll() { return userDao.findAll(); } @Override public boolean add(User user) { int add = userDao.add(user); if (add>0){ return true; } return false; } @Override public User findById(Integer id) { return userDao.findUserById(id); } @Override public boolean update(User user) { int upd = userDao.update(user); if(upd>0){ return true; } return false; } @Override public List<User> searchByName(String name) { return userDao.searchByName(name); } }
UserController
controller下建UserController
package com.cc0701.controller; import com.cc0701.bean.User; import com.cc0701.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; 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.servlet.ModelAndView; import javax.servlet.http.HttpSession; import java.util.List; @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping("/login.do") public ModelAndView login(User user, HttpSession session){ boolean flag = userService.login(user.getName(),user.getPassword()); ModelAndView modelAndView = new ModelAndView(); if (flag){ session.setAttribute("user",user); modelAndView.setViewName("../ok"); }else { modelAndView.setViewName("../failure"); } return modelAndView; } @RequestMapping("/findAll.do") //.../findAll.do?name= public ModelAndView findAll(@RequestParam(value = "name",defaultValue = "")String name){ ModelAndView modelAndView = new ModelAndView(); List<User> userList = userService.searchByName(name); System.out.println("userService中的内容为:"+userList); modelAndView.addObject("userList",userList); modelAndView.setViewName("../main"); System.out.println("modelAndView中的内容为:"+modelAndView); return modelAndView; } @RequestMapping("/delete.do") public String delete(int id){ boolean del = userService.delete(id); if (del){ return "redirect:findAll.do"; } return "../failure"; } @RequestMapping("/add.do") public String add(User user){ boolean add = userService.add(user); if (add){ return "redirect:findAll.do"; } return "../failure"; } @RequestMapping("/findById.do") public String findById(int id, Model model){ User user = userService.findById(id); model.addAttribute("user",user); return "../modify"; } @RequestMapping("/update.do") public String update(User user){ boolean upd = userService.update(user); if (upd){ return "redirect:findAll.do"; } return "../failure"; } }
LoginFilter
filter下建LoginFilter
package com.cc0701.filter; import com.cc0701.bean.User; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; 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 { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); //getRequestURL()返回去路径;getRequestURI()返回去host(域名或者IP)部分的零件 String uri = request.getRequestURI(); System.out.println(uri.indexOf("findAll.do")); System.out.println(uri.indexOf("login.do")); if (user==null && uri.indexOf("login.do")==-1){ response.sendRedirect(request.getContextPath()+"/"); }else { filterChain.doFilter(request,response); } } @Override public void destroy() { } }
Web
failure.jsp
webapp下建failure.jsp
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/1 Time: 12:12 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>操作失败</title> </head> <body> <h1>操作失败</h1> </body> </html>
ok.jsp
webapp下建ok.jsp
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/1 Time: 11:32 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>成功</title> </head> <body> <h1>成功</h1> </body> </html>
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <h1>登录</h1> <form action="/user/login.do" method="post"> name:<input name="name" type="text"> password:<input name="password" type="password"> <input type="submit" value="login"> </form> <a href="add.jsp">注册</a> <a href="/user/findAll.do">查看</a> </body> </html>
add.jsp
webapp下建add.jsp
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/2 Time: 14:03 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>注册</title> </head> <body> <h1>注册</h1> <div> <form action="/user/add.do"> <div> <label for="name">用户名:</label> <input name="name" type="text" id="name"> </div> <div> <label for="password">密码:</label> <input name="password" type="text" id="password"> </div> <div> <input type="submit" value="注册"> </div> <a href="javascript:window.history.go(-1)">返回</a> </form> </div> </body> </html>
main.jsp
webapp下建main.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/2 Time: 9:22 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>列表</title> </head> <body> <div> <form action="/user/findAll.do"> <input id="name" type="search" name="name" value="${name}"> <button onclick="form.submit()">搜索</button> </form> <table> <thead> <tr> <th>ID</th> <th>用户名</th> <th>密码</th> <th>操作</th> </tr> </thead> <thead> <c:forEach items="${userList}" var="user"> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.password}</td> <td> <a href="${pageContext.request.contextPath}/user/delete.do?id=${user.id}">删除</a> <a href="${pageContext.request.contextPath}/user/findById.do?id=${user.id}">修改</a> </td> </tr> </c:forEach> </thead> </table> </div> </body> </html>
modify.jsp
webapp小建modify.jsp
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/3 Time: 9:40 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>修改</title> </head> <body> <div> <form action="/user/update.do"> <input name="id" value="${user.id}" type="hidden"> <div> <label for="name">用户名:</label> <input name="name" type="text" id="name" value="${user.name}"> </div> <div> <label for="password">密码:</label> <input name="password" type="text" id="password" value="${user.password}"> </div> <div> <input type="submit" value="修改"> </div> <a href="javascript:window.history.go(-1)">返回</a> </form> </div> </body> </html>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- 配置加载类路径的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!-- 配置监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <!-- 解决中文乱码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- 服务器启动的时候,让DispatcherServlet对象创建 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter> <filter-name>loginFilter</filter-name> <filter-class>com.cc0701.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> </web-app>
结果
登录
只有登录了才可以进行其他操作(因为添加了过滤器即LoginFilter类)
查看
删除
修改
注册
相关文章推荐
- 【JAVA】ssm框架搭建登录实现
- ssm框架搭建登录实现
- 菜鸟使用SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- myeclipse+mybatis-generator-gui-0.6.1快速搭建ssm框架并且实现登录
- 完整使用SSM框架(Spring SpringMVC Mybatis)搭建web服务器实现登录功能
- ssm框架搭建登录实现
- ssm框架搭建登录实现
- MyEclipse环境下搭建SSM框架实现登录功能
- IntelliJ IDEA搭建SSM框架并实现页面登录功能连接数据库
- 【JAVA】ssm框架搭建修改、定向查询实现
- 使用SSM(Spring+SpringMVC+Mybatis)框架搭建服务器实现登录验证
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- 菜鸟学SSM框架搭建----Spring+SpringMVC+MyBatis整合,实现简单的登录功能
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- Java SSM框架之 springMVC 框架实现用户登录
- 自己写的JAVA实现登录限制原理(SSM框架)
- 看别人SSM框架搭建Web服务器实现登录功能的改进后实现
- JAVA中SSM框架的搭建实现CRUD的方法