前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速使用layui和ssm开发

快速使用layui和ssm开发

作者头像
废江_小江
发布2022-09-05 14:24:12
5630
发布2022-09-05 14:24:12
举报
文章被收录于专栏:总栏目总栏目

web工具类

快速生成code码返回前端:

代码语言:javascript
复制
package com.utils;
 
public enum Code {
 
    SUCCESS("1000","操作成功"),
    ERROR("1001","操作失败"),
    NODATA("1002","暂无数据"),
    LOGIN_ERROR("1003","用户名或密码错误"),
    NOT_EMPTY("1004","不能为空");
 
 
    private String code;
    private String msg;
 
    private Code(String code,String msg){
        this.code = code;
        this.msg = msg;
    }
 
    public String getCode() {
        return code;
    }
 
    public void setCode(String code) {
        this.code = code;
    }
 
    public String getMsg() {
        return msg;
    }
 
    public void setMsg(String msg) {
        this.msg = msg;
    }
}
代码语言:javascript
复制
package com.utils;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class MapControll {
 
    //目标对象
    private Map<String,Object> paramMap = new HashMap<>();
 
    //私有构造
    private MapControll(){
 
    }
 
    public static MapControll getInstance(){
        return new MapControll();
    }
 
    public MapControll add(String key, Object value){
        paramMap.put(key,value);
        return this;
    }
 
    public MapControll success(){
        paramMap.put("code",Code.SUCCESS.getCode());
        paramMap.put("msg",Code.SUCCESS.getMsg());
        return this;
    }
    public MapControll error(){
        paramMap.put("code",Code.ERROR.getCode());//1001
        paramMap.put("msg",Code.ERROR.getMsg());//操作失败
        return this;
    }
 
    public MapControll error(String msg){
        paramMap.put("code",Code.ERROR.getCode());
        paramMap.put("msg",msg);
        return this;
    }
 
    public MapControll notEmpty(){
        paramMap.put("code",Code.NOT_EMPTY.getCode());
        paramMap.put("msg",Code.NOT_EMPTY.getMsg());
        return this;
    }
    public MapControll nodata(){
        paramMap.put("code",Code.NODATA.getCode());
        paramMap.put("msg",Code.NODATA.getMsg());
        return this;
    }
 
    public MapControll page(List<?> list,Integer count){
        paramMap.put("data",list);
        paramMap.put("count",count);
        return this;
    }
 
    public MapControll put(String key, Object value){
        this.add(key,value);
        return this;
    }
 
    public MapControll addId(Object value){
        paramMap.put("id",value);
        return this;
    }
 
    public MapControll add(Map<String,Object> map){
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            paramMap.put(entry.getKey(),entry.getValue());
        }
        return this;
    }
 
    public MapControll put(Map<String,Object> map){
        return this.add(map);
    }
 
    public Map<String,Object> getMap(){
        return paramMap;
    }
 
 
 
 
}

快速生成给map中放入key-value

代码语言:javascript
复制
package com.utils;
 
import java.util.HashMap;
import java.util.Map;
 
public class MapParameter {
 
    //目标对象
    private Map<String,Object> paramMap = new HashMap<>();
 
    //私有构造
    private MapParameter(){
 
    }
 
    public static MapParameter getInstance(){
        return new MapParameter();
    }
 
    public MapParameter add(String key,Object value){
        paramMap.put(key,value);
        return this;
    }
    public MapParameter addId(Object value){
        paramMap.put("id",value);
        return this;
    }
 
    public MapParameter add(Map<String,Object> map){
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            paramMap.put(entry.getKey(),entry.getValue());
        }
        return this;
    }
 
    public Map<String,Object> getMap(){
        return paramMap;
    }
 
 
 
 
}

MD5

代码语言:javascript
复制
package com.utils;
 
import org.springframework.util.DigestUtils;
 
public class MD5Utils {
 
    //盐
    private static final String salt = "MedSystemManager###$$@@";
 
    public static String getMD5(String string){
        String val = string+salt;
        return DigestUtils.md5DigestAsHex(val.getBytes());
    }
 
 
    public static void main(String[] args) {
        System.out.println(getMD5("123456"));
    }
 
 
}

利用监听器,获取全局路径

代码语言:javascript
复制
package com.utils;
 
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class PathInterceptor implements HandlerInterceptor {
 
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //获取全局路径,存放到request中
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
        request.setAttribute("basePath",basePath);
        return true;
    }
 
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
 
    }
 
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
 
    }
}

前端

引入layui

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--注意引入jstl-impljar包--%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>管理员界面</title>
    <meta name="keywords" content="layuimini,layui,layui模板,layui后台,后台模板,admin,admin模板,layui mini">
    <meta name="description" content="layuimini基于layui的轻量级前端后台管理框架,最简洁、易用的后台框架模板,面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="icon" href="images/favicon.ico">
    <link rel="stylesheet" href="${basePath}static/lib/layui-src/css/layui.css" media="all">
    <link rel="stylesheet" href="${basePath}static/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
    <link rel="stylesheet" href="${basePath}static/css/layuimini.css?v=2.0.1" media="all">
    <link rel="stylesheet" href="${basePath}static/css/themes/default.css" media="all">
    <link rel="stylesheet" href="${basePath}static/css/public.css" media="all">
    <!--[if lt IE 9]>
    <script src="${basePath}static/js/html5.min.js"></script>
    <script src="${basePath}static/js/respond.min.js"></script>
    <![endif]-->
    <style id="layuimini-bg-color">
    </style>
</head>
<body class="layui-layout-body layuimini-all">
<div class="layui-anim layui-anim-down">
    <h2>登录成功,欢迎您~</h2>
</div>
 
<a href="medicList/" class="layui-btn">进入药品页面</a>
<a href="user" class="layui-btn">进入用户页面</a>
<a href="${basePath}" class="layui-btn">返回登录</a>
 
</div>
<script src="${basePath}static/lib/layui-src/layui.js?<%=System.currentTimeMillis()%>" charset="utf-8"></script>
<script src="${basePath}static/js/lay-config.js?v=2.0.0" charset="utf-8"></script>
 
</body>
</html>

layui绑定按钮,发送ajax的demo

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--注意引入jstl-impljar包--%>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户管理界面</title>
  <meta name="keywords" content="layuimini,layui,layui模板,layui后台,后台模板,admin,admin模板,layui mini">
  <meta name="description" content="layuimini基于layui的轻量级前端后台管理框架,最简洁、易用的后台框架模板,面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。">
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta http-equiv="Access-Control-Allow-Origin" content="*">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="format-detection" content="telephone=no">
  <link rel="icon" href="images/favicon.ico">
  <link rel="stylesheet" href="${basePath}static/lib/layui-src/css/layui.css" media="all">
  <link rel="stylesheet" href="${basePath}static/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
  <link rel="stylesheet" href="${basePath}static/css/layuimini.css?v=2.0.1" media="all">
  <link rel="stylesheet" href="${basePath}static/css/themes/default.css" media="all">
  <link rel="stylesheet" href="${basePath}static/css/public.css" media="all">
  <!--[if lt IE 9]>
    <script src="${basePath}static/js/html5.min.js"></script>
    <script src="${basePath}static/js/respond.min.js"></script>
    <![endif]-->
  <style id="layuimini-bg-color">
    .layui-layout-body{
      overflow: scroll;
    }
  </style>
</head>
<body id="body" class="layui-layout-body layuimini-all" overflow="scroll">
<div class="layui-anim layui-anim-down">
  <h2>用户管理页面</h2>
</div>
<div class="layui-container layui-fluid">
  <table class="layui-hide" id="user"></table>
  <div class="layui-row">
    <div class="layui-col-xs6">
      <div class="grid-demo grid-demo-bg1">
        <form class="layui-form" action="${basePath}user/insertUser" method="post" name="user">
          <input type="text" name="id" id="insertId" value="" placeholder="ID" class="layui-input" required="required">
          <input type="text" name="name" placeholder="用户名" class="layui-input" required="required">
          <input type="text" name="psd" placeholder="密码" class="layui-input" required="required">
          <input type="text" name=remark placeholder="备注" class="layui-input">
          <input type="text" name="iphone" placeholder="电话" class="layui-input">
          <input type="text" name="address" placeholder="地址" class="layui-input">
          <button type="button" class="layui-btn" lay-submit="" lay-filter="login">新增一个用户信息</button>
        </form>
      </div>
    </div>
    <div class="layui-col-xs6">
      <div class="grid-demo">
        <form class="layui-form" action="${basePath}user/insertUser" method="post" name="user">
          <input type="text" name="id" id="updateId" value="" placeholder="ID" class="layui-input" required="required">
          <input type="text" name="name" placeholder="用户名" class="layui-input" required="required">
          <input type="text" name="psd" placeholder="密码" class="layui-input" required="required">
          <input type="text" name=remark placeholder="备注" class="layui-input">
          <input type="text" name="iphone" placeholder="电话" class="layui-input">
          <input type="text" name="address" placeholder="地址" class="layui-input">
          <button type="button" class="layui-btn" lay-submit="" lay-filter="update">修改某个用户信息</button>
        </form>
      </div>
    </div>
  </div>
  <hr class="layui-border-black">
  <form class="layui-form" action="${basePath}user/deleteUser" method="post" name="user">
    <input type="text" name="id" id="deleteId" value="" placeholder="ID" class="layui-input" required="required">
    <button type="button" class="layui-btn layui-btn-danger" lay-submit="" lay-filter="delete">删除一条用户信息</button>
  </form>
  <hr class="layui-border-black">
  <a href="${basePath}medic">返回首页</a>
 
</div>
 
<script src="${basePath}static/lib/jquery-3.4.1/jquery-3.4.1.min.js"></script>
<script src="${basePath}static/lib/layui-src/layui.js?<%=System.currentTimeMillis()%>" charset="utf-8"></script>
<script src="${basePath}static/js/lay-config.js?v=2.0.0" charset="utf-8"></script>
<script>
 
  layui.use(['table','jquery','form'],function(){
 
    var table = layui.table,
            $=layui.jquery,
            form=layui.form;
 
    var size;
    var getList = function (){
      $.ajax({
        url:"${basePath}user/getUser",
        data: "",
        type:"GET",
        dataType:"json",
        success:function (data){
          console.log(data);
          size=Object.keys(data).length;
          //渲染数据到table
          table.render({
            elem: '#user'
            ,cols: [[ //标题栏
              {field: 'id', title: 'ID', width: 80, sort: true}
              ,{field: 'name', title: '用户名', width: 120}
              ,{field: 'psd', title: '密码', width: 120}
              ,{field: 'remark', title: '备注', width: 120}
              ,{field: 'iphone', title: '电话', width: 120}
              ,{field: 'address', title: '地址', minwidth: 150}
            ]],
            data:data,
            even: true,
            limit:1000,
            skin:"line"
          })
          //渲染数据到提交表单
          $('#insertId').val(size+1);
 
        }
      });
    };
    getList('');
 
 
    //绑定事件,新增和删除,修改按钮
    form.on("submit(login)",function (data){
      $.ajax({
        url:"${basePath}user/insertUser",
        type:"POST",
        dataType: "json",
        data:data.field,
        success:function (data){
            layer.msg(data.msg);
            //刷新数据
          location.reload();
        }
      });
    })
 
    form.on("submit(update)",function (data){
      $.ajax({
        url:"${basePath}user/updateUser",
        type:"POST",
        dataType:"json",
        data:data.field,
        success:function (data){
          if(data.code==1000){
            layer.msg(data.msg);
            location.reload();
          }
          if(data.code ==1001){
              layer.msg(data.msg);
          }
        }
        //错误回调方法则是异常处理的部分,这不做处理
      })
    })
 
    form.on("submit(delete)",function (data){
      $.ajax({
        url:"${basePath}user/deleteUser",
        type:"POST",
        dataType:"json",
        data:data.field,
        success:function (data){
          if(data.code==1000){
            layer.msg(data.msg);
            location.reload();
          }
          if(data.code==1001){
            layer.msg(data.msg);
          }
        }
      })
    })
 
  })
</script>
 
</body>
</html>

大概就这么多,本地导入static文件后,直接复制上面的index首页就可以开始进行layui开发了,很方便。

后端

四个配置文件

web.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
 
  <!--整合spring的几个步骤
  1、配置前端控制器DispatcherServlet 加载Spring-mvc.xml配置文件,还有启动很多东西,加载spring容器
  2、配置Spring上下文监听器:加载applicationContext.xml文件
  3、配置编码过滤器:解决编码问题 -->
 
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
 
  <!--上下文参数-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!--配置spring上下文监听-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
 
  <filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
 
 
</web-app>

spring配置文件

代码语言:javascript
复制
<?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"
       xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
<!--    相当于引入数据库配置文件-->
    <context:property-placeholder location="classpath:db.properties" />
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>
 
<!--    mybatis相关配置-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
        <property name="mapperLocations">
            <list>
                <value>classpath:com/dao/*.xml</value>
            </list>
        </property>
        <!--配置分页插件-->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>
 
<!--    配置mybatis扫描-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.dao"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>
 
</beans>

springmvc配置文件

代码语言:javascript
复制
<?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:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
			    http://www.springframework.org/schema/beans/spring-beans.xsd
			    http://www.springframework.org/schema/context
			    http://www.springframework.org/schema/context/spring-context.xsd
			    http://www.springframework.org/schema/mvc
			    http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 
<!--包扫描,如果扫描到@controller、@Service、@Repository、@Component则会自动注册为bean-->
    <context:component-scan base-package="com.controller,com.utils,com.service" />
 
 
<!--        @NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)-->
    <mvc:annotation-driven/>
 
<!--    配置url拼接-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/page/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
 
<!--    静态资源权限开放-->
    <mvc:default-servlet-handler />
 
<!--    拦截器配置-->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*"/>
            <bean class="com.utils.PathInterceptor" />
        </mvc:interceptor>
        <mvc:interceptor>
            <mvc:mapping path="/**/*"/>
            <mvc:exclude-mapping path="/login"/>
            <mvc:exclude-mapping path="/logout"/>
            <mvc:exclude-mapping path="/captcha/*"/>
            <mvc:exclude-mapping path="/static/**"/>
            <bean class="com.utils.PermissionInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
 
</beans>

mybatis的配置文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
<!--        添加日志,STDOUT_LOGGING是标准日志。mybatis自带的-->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
</configuration>

引入本地的lib中的jar包就可以进行开发了,不过这些我应该用不到了ssm配置太烦了,有springboot孰不喜欢呢?

废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:快速使用layui和ssm开发

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • web工具类
  • 前端
    • 引入layui
      • layui绑定按钮,发送ajax的demo
        • 四个配置文件
    • 后端
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档