集成SpringMVC&前端展示

SpringMVC整合Hibernate前端采用miniUI项目 该系统是基于maven管理webapp项目,系统采用SpringMVC整合Hibernate,前端采用Jquery的miniUI做简单展示,集合了常用的web程序功能,增删改查,分页,上传文件,下载文件,freemark导出word,导出excel,spring定时器(三种配置写法都有简单介绍),生成验证码,java发邮件,MD5加密解密等功能基本都具有。系统结构简单,下载直接就可以在eclipse中运行。 需要的同学可以下载下来研究下。 立即下载

完成Service层

导包

 <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <org.springframework.version>4.2.5.RELEASE</org.springframework.version>
        <org.hibernate.version>4.3.8.Final</org.hibernate.version>
        <spring-data-jpa.version>1.9.0.RELEASE</spring-data-jpa.version>
        <com.fasterxml.jackson.version>2.5.0</com.fasterxml.jackson.version>
    </properties>
    <dependencies>
        <!-- Spring的支持包 -->
        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
           <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- 引入web前端的支持 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework.version}</version>
        </dependency>
        <!-- SpringMCV上传需要用到io包-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- 文件上传用到的包 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.2</version>
        </dependency>
        <!-- SpringMVC的json支持包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${com.fasterxml.jackson.version}</version>
        </dependency>
        <!-- hibernate的支持包 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${org.hibernate.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${org.hibernate.version}</version>
        </dependency>
        <!-- SpringData的支持包 -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>${spring-data-jpa.version}</version>
        </dependency>
        <!-- SpringData的擴展包 -->
        <dependency>
            <groupId>com.github.wenhao</groupId>
            <artifactId>jpa-spec</artifactId>
            <version>3.1.1</version>
            <!-- 把所有的依賴都去掉 -->
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>
        <!-- 測試包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!-- 这个scope 只能作用在编译和测试时,同时没有传递性。表示在运行的时候不添加此jar文件 -->
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

创建IBaseService

package cn.itsource.pss.service;

import cn.itsource.pss.domain.Employee;
import cn.itsource.pss.query.BaseQuery;
import org.springframework.data.domain.Page;
import java.io.Serializable;
import java.util.List;

public interface IBaseService<T,ID extends Serializable>{
    //添加与修改数据
    void save(T t);
    //根据id删除一条数据
    void delete(ID id);
    //根据id查询到一条数据
    T findOne(ID id);
    //查询所有数据
    List<T> findAll();
    //根据Query拿到分页对象(分页)
    Page findPageByQuery(BaseQuery baseQuery);
    //根据Query拿到对应的所有数据(不分页)
    List<T> findByQuery(BaseQuery baseQuery);
    //根据jpql与对应的参数拿到数据
    List findByJpql(String jpql,Object... values);
}

创建BaseServiceImpl

package cn.itsource.pss.service.impl;

import cn.itsource.pss.query.BaseQuery;
import cn.itsource.pss.repository.BaseRepository;
import cn.itsource.pss.service.IBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional;

import java.io.Serializable;
import java.util.List;

import static org.springframework.transaction.annotation.Propagation.SUPPORTS;

@Transactional(readOnly = true,propagation = SUPPORTS)
public class BaseServiceImpl<T,ID  extends Serializable> implements IBaseService<T,ID>{

    //注意:Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用
    @Autowired
    private BaseRepository<T,ID> baseRepository;

    @Override
    @Transactional(
    public void save(T t) {
        baseRepository.save(t);
    }

    @Override
    @Transactional(
    public void delete(ID id) {
        baseRepository.delete(id);
    }

    @Override
    public T findOne(ID id) {
        return baseRepository.findOne(id);
    }

    @Override
    public List<T> findAll() {
        return baseRepository.findAll();
    }

    @Override
    public Page findPageByQuery(BaseQuery baseQuery) {
        return baseRepository.findPageByQuery(baseQuery);
    }

    @Override
    public List<T> findByQuery(BaseQuery baseQuery) {
        return baseRepository.findByQuery(baseQuery);
    }

    @Override
    public List findByJpql(String jpql, Object... values) {
        return baseRepository.findByJpql(jpql, values);
    }
}

创建IEmployeeService

package cn.itsource.pss.service;

import cn.itsource.pss.domain.Employee;
//注:在开发中,业务后期是有很多功能的(不只是我们最简单的CRUD)
public interface IEmployeeService extends IBaseService<Employee,Long> {
}

建EmployeeServiceImpl

package cn.itsource.pss.service.impl;

import cn.itsource.pss.domain.Employee;
import cn.itsource.pss.service.IEmployeeService;
import org.springframework.stereotype.Service;

@Service
public class EmployeeServiceImpl extends BaseServiceImpl<Employee,Long> implements IEmployeeService {
}

集成SpringMVC

配置applicationContext-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: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
    ">
    <!-- 对静态资源进行放行 -->
    <mvc:default-servlet-handler />
    <!-- 扫描controller部分的包 -->
    <!-- @Component组件, @Repository持久层, @Service业务逻辑层, and @Controller控制器 -->
    <context:component-scan base-package="cn.itsource.pss.web" />
    <!-- 添加mvc对@RequestMapping等注解的支持 -->
    <mvc:annotation-driven />

    <!-- ViewResolver 视图解析器 (struts2视图类型类似) -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 设置视图路径的前后缀,该配置可以让我们写视图路径的时候更简单。 -->
        <!-- 希望跳转jsp是[/WEB-INF/views/前缀][xxx变量][.jsp后缀] -->
        <!-- * @see #setPrefix -->
        <property name="prefix" value="/WEB-INF/views/" />
        <!-- * @see #setSuffix -->
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 错误:提示告诉开发者你没有配置文件上传解析器。 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置上传文件的最大尺寸为1MB -->
        <property name="maxUploadSize">
            <value>1048576</value>
        </property>
    </bean>
</beans>

配置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"
         id="WebApp_ID" version="3.1">


</web-app>

创建Controller与页面


//EmployeeController
package cn.itsource.pss.controller;

import cn.itsource.pss.domain.Employee;
import cn.itsource.pss.service.IEmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

//import java.util.List;

@Controller
@RequestMapping("/employee")
public class EmployeeController {

    @Autowired
    private IEmployeeService employeeService;

    @RequestMapping("/index")
    public String index() {
        //根据配置,这里会跳到/WEB-INF/views/employee/employee.jsp页面
        return "employee/employee";
    }
    @RequestMapping("/list")
    @ResponseBody
    public List<Employee> list(){
        return employeeService.findAll();
    }

}


employee.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>访问成功</h1>
</body>
</html>

引入主页面

准备MainController.java文件
准备main.jsp文件

在这里插入图片描述

主页面的代码

抽取一个head.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<link rel="stylesheet" type="text/css" href="/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="/easyui/themes/icon.css">

<script type="text/javascript" src="/easyui/jquery.min.js"></script>
<script type="text/javascript" src="/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="/easyui/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="/easyui/plugin/jquery.jdirk.js"></script>
<script type="text/javascript" src="/js/common.js"></script>

准备静态菜单数据

[{
  "id":1,
  "text":"基本数据",
  "iconCls":"icon-save",
  "children":[{
    "text":"用户管理",
    "url":"/employee/index"
  },{
    "text":"部门管理",
    "url":"/department/index"
  }]
}]

//main.jsp中的代码如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>智销系统</title>
    <%@include file="/WEB-INF/views/head.jsp" %>

    <script type="text/javascript">
        $(function () {
            $('#menuTree').tree({
                url:'/json/menu.json',
                onClick:function(node) {
                    addTab(node.text,node.url);
                }
            });
        })


        function addTab(title, url){
            if(url){
                if ($('#dataTab').tabs('exists', title)){
                    $('#dataTab').tabs('select', title);
                } else {
                    var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';
                    $('#dataTab').tabs('add',{
                        title:title,
                        content:content,
                        closable:true
                    });
                }
            }
        }
    </script>
</head>
<body class="easyui-layout">
<div data-options="region:'north',split:true" style="height:100px;">
    <h1>源码时代智销系统</h1>
</div>
<div data-options="region:'west',title:'菜单',split:true" style="width:230px;">
    <ul id="menuTree"></ul>
</div>
<div id="dataTab" data-options="region:'center'"
     class="easyui-tabs" style="padding:5px;background:#eee;">
    <div title="Home">
    </div>
</div>
</body>
</html>

员工的查询页面

employee.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <%@include file="/WEB-INF/views/head.jsp" %>
    <script type="text/javascript" src="/js/model/employee.js"></script>
</head>
<body>
<table id="employeeGrid" class="easyui-datagrid" data-options="fit:true,fixed:true,fitColumns:true,toolbar:'#tb',singleSelect:true";
       url="/employee/page"
       iconCls="icon-save"
       rownumbers="true" pagination="true">
    <thead>
    <tr>
        <th width="20"  field="username" >用户名</th>
        <th width="20"  field="password">密码</th>
        <th width="20"  field="email">邮件</th>
        <th width="20"  field="age" align="right">年龄</th>
    </tr>
    </thead>
</table>

</body>
</html>

UiPage.java

由于咱们SpringDataJpa返回的数据和EasyUI中的数据匹配不上,所以咱们准备一个类,直接把SpringDataJpa的Page对象进行一次封装,返回给前台即可:

package cn.itsource.yxb.common;
import org.springframework.data.domain.Page;
import java.util.List;

public class UiPage {
    private long total; //总条数
    private List rows; //每页数据
    public UiPage(){}
    public UiPage(Page page){
        total = page.getTotalElements();
        rows = page.getContent();
    }
    get,set省略
}

BaseQuery.java

EasyUI查询传参的名称如果和BaseQuery中接收的名称不一致,咱们就需要修改BaseQuery这个类进行功能的兼容:

/**
 * 所有Query对象的父类 公共代码|规范
 */
public abstract class BaseQuery {

    ….
    //兼容Easyui的分页
    public void setPage(int page) {
        this.currentPage = page;
    }
    public void setRows(int rows) {
        this.pageSize = rows;
    }
}

EmployeeController.java

在控制层页面返回相应的数据即可
@Controller
@RequestMapping("/employee")
public class EmployeeController extends BaseController{

    @Autowired
    private IEmployeeService employeeService;

    @RequestMapping("/index")
    public String index(){
        return "employee/employee";
    }

    //查询分页数据
    @RequestMapping("/page")
    @ResponseBody
    public UiPage page(EmployeeQuery query){
        return new UiPage(employeeService.findPageByQuery(query));
    }

}

完善Employee对象

加入部门模块

注:部门模块咱们只做到service部分就可以了!
创建部门Domain,然后把员工的代码都拷备一份修改即可(此处我们不做详细介绍)

员工完善字段

@Entity
@Table(name="employee")
public class Employee extends BaseDomain {

    private String username;
    private String password;
    private String email;
    private Integer age;

    //头像
    private String headImage;
    //部门
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="department_id")
    private Department department;
	…
}

显示部门与头像


//.employee.js
function formatImage(data) {
    return "<img src='"+data+"' alt='没有图片' />"
}
function formatDept(data) {
    if(data){return data.name};
    return "";
}

$(function () {

})

//employee.jsp
<table id="employeeGrid" class="easyui-datagrid" data-options="fit:true,fixed:true,fitColumns:true,toolbar:'#tb',singleSelect:true";
       url="/employee/page"
       iconCls="icon-save"
       rownumbers="true" pagination="true">
    <thead>
    <tr>
        <th width="20"  field="headImage" data-options="formatter:formatImage">头像</th>
        <th width="20"  field="username" >用户名</th>
        <th width="20"  field="password">密码</th>
        <th width="20"  field="email">邮件</th>
        <th width="20"  field="age" align="right">年龄</th>
        <th width="20"  field="department" align="center" data-options="formatter:formatDept">部门</th>
    </tr>
    </thead>
</table>

//web.xml(解决noSession)
运行时我们会发现没有数据,然后通过js调试工作可以看到,返回报错 no-session
我们加上以下代码即可
<!-- 加上OpenEntityManager -->
<filter>
    <filter-name>openEntity</filter-name>
    <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>openEntity</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

加入高级查询条件

//employee.jsp
这里咱们之前employee的grid控件是引入了这个div的
<div id="tb" style="padding:5px;height:auto">
      <!-- 这部门是查询的功能 -->
    <div>
        <form id="searchForm" action="/employee/download" method="post">
            用户名: <input name="username" class="easyui-textbox" style="width:80px;height:32px">
            邮件: <input name="email" class="easyui-textbox" style="width:80px;height:32px">
            部门 :
            <input  class="easyui-combobox" name="departmentId"
                    data-options="valueField:'id',textField:'name',panelHeight:'auto',url:'/util/departmentList'">
            <a href="#" data-method="search"  class="easyui-linkbutton" iconCls="icon-search">查找</a>
        </form>
    </div>
</div>

//.UtilController
我们把很多工具功能都放到这个类中
/**
 * 工具的Controller
 */
@Controller
@RequestMapping("/util")
public class UtilController extends BaseController {

    @Autowired
    private IDepartmentService departmentService;
    @RequestMapping("/departmentList")
    @ResponseBody
    public List<Department> departmentList(){
        return departmentService.findAll();
    }

}

//employee.js
    咱们先可以引入jquery.serializejson.js这个控件,它直接直接拿到一个表单中的所有值,并且封装成一个json数据.
…
$(function () {
    //这里我们把很多会常用到的元素进行一个抽取
    var searchForm = $("#searchForm");
    var employeeGrid = $("#employeeGrid");

    //只要a标签中有data-method属性,咱们就给它添加事件
    //  执行对应的itsource中的事件
    $("a[data-method]").on("click",function () {
        itsource[$(this).data("method")]();
    })

    var itsource={
        search:function () {
            //需要先引入 jquery.jdirk.js 才可以使用这个方法
            var params = searchForm.serializeObject();
            employeeGrid.datagrid('load',params);
        }
    }
})

//EmployeeQuery
这里添加部门的支持
//只写一些特殊的条件
public class EmployeeQuery extends BaseQuery {

    …
private Long departmentId;

    @Override
    public Specification createSpecification() {
        Specification<Employee> spec = Specifications.<Employee>and()
                .like(StringUtils.isNotBlank(username),"username", "%"+username+"%")
                .like(StringUtils.isNotBlank(email),"email", "%"+email+"%")
                .eq(departmentId!=null,"department.id",departmentId)
                .lt(age!=null,"age", age )
                .build();
        return spec;
    }
…
}
myBatis+Spring+SpringMVC+ligerUI分页整合 本文档整理的是Mybatis分页,并与SpringMVC与LigerUI结合,实现了程序的前后台分页操作。 立即下载

相关推荐

网易数智CoreAgent实战:5步教你打造企业级AI数字员工(附避坑指南)

本文以网易数智CoreAgent智能体协作中枢为核心,提供了一份企业级AI数字员工的实战部署指南。文章详细拆解了从环境准备、智能体配置、业务集成、安全合规到效果评估的五个关键步骤,并分享了部署过程中的常见“避坑”经验,旨在帮助企业技术团队高效、安全地将AI智能体落地于实际业务场景,解决AI落地难题。

rice5的博客 954

springmvc

当 Spring MVC 框架内置的类型转换器不能满足需求时,开发者可以开发自己的类型转换器。例如需要用户在页面表单中输入信息来创建商品信息。当输入“hello world,18,1.85”时表示在程序中自动创建一个 new User,并将“hello world”值自动赋给 name 属性,将“18”值自动赋给 age 属性,将“1.85”值自动赋给 height 属性。创建实体类。创建控制器类。创建自定义类型转换器类。注册类型转换器。创建相关视图。

yc_1314的博客 1611

PFC中pb模型实战:从胶结参数设置到破坏模拟全流程解析

本文详细解析了PFC软件中平行胶结模型(PB模型)的实战应用全流程。从胶结参数(pb_kn, pb_ks, pb_ten等)的物理意义与精准赋值入手,深入探讨了模型构建、胶结施加以避免初始损伤的技巧,并系统介绍了破坏过程的监测、阈值判定方法以及高级可视化与常见问题诊断。旨在帮助岩土工程与颗粒材料研究者掌握从参数调试到破坏模拟的核心操作,提升数值模拟的准确性与效率。

php55的博客 1075

【SpringMVC】—— 如何配置使用SpringMVC(详细步骤)

如何创建使用SpringMVC?项目文件无src文件,解决项目依赖下载太慢问题。

个人博客 2828

Fofa API高阶玩法:用Python批量获取漏洞资产(含OA系统扫描实战)

本文详细介绍了如何利用Python结合Fofa API实现自动化漏洞资产收集的高阶实战技巧。通过构建健壮的客户端、设计精准查询语法、实现多线程批量采集,并以OA系统漏洞扫描为例,演示了从资产发现、过滤验证到报告生成的全流程,旨在提升安全运维与应急响应的效率。

weixin_28607671的博客 498

实战解析:在.NET中实现Dify API流式请求与响应的完整方案

本文详细解析了在.NET应用中对接Dify API时实现流式请求与响应的完整方案。针对传统后端“接收完才返回”的痛点,文章提供了基于ASP.NET Core的实战代码,通过配置HttpCompletionOption.ResponseHeadersRead和手动Flush响应流,构建高效的中转管道,确保AI回复能够像ChatGPT一样实时逐字推送到前端,显著提升用户体验。

weixin_29267307的博客 296

SwaggerUI+SpringMVC——构建RestFul API的可视化界面

SwaggerUI RESTFUL API。 我们都知道,接口文档是非常重要的,但是随着代码的不断更新,文档却很难持续跟着更新,今天要介绍的工具,完美的解决了这个问题。而且,对于要使用我们接口的人来说,不需要在给他提供文档,告诉他地址,一目了然。

小北 8993

使用 Python 和可视化编程控制树莓派机械臂myCobot

这些模块包括逻辑、循环、数学、文本、列表、颜色、变量、函数以及控制机械臂的函数等等,所以用户可以轻松入门编程,只需单击右上角的运行就可以启动程序,做一些有趣的应用。可以搭配任意摄像头进行图像识别,具有4个 USB 端口,可以通过 Raspberry Pi 的微型 HDMI 端口连接到显示器. 最后,40 个GPIO 接头可以进行更多扩展应用,机械臂每个接口都有清晰的标记,面板上还有一个电源开关和一个直流电源插孔。您现在可以将机器人放在地板或桌子上,并用力拧紧吸盘,以确保机械臂的底座在操作过程中不会移动。

m0_62456998的博客 3966

SpringMVC框架详解

客户端指的是用户使用的浏览器,而服务器端则是应用程序的后台处理部分。这种架构的优点是客户端无需安装任何软件,只需要一个浏览器即可访问应用程序,同时服务器端可以集中管理和维护应用程序,提高了安全性和可靠性。其核心思想是将请求和响应分离,使得开发人员可以将业务逻辑和展示逻辑分离开来,从而提高代码的可维护性和可重用性。1.Spring MVC是Spring Framework提供的Web组件,全称是Spring Web MVC,是目前主流的实现MVC设计模式的框架,提供前端路由映射、视图解析等功能。

tl2267190799的博客 1905

【YOLOv11】014、YOLOv11模型导出:PyTorch到ONNX格式转换与优化

摘要:本文详细介绍了如何将PyTorch训练的YOLOv11模型高效转换为ONNX格式。重点包括:分离模型特征提取与后处理、设置动态维度、优化ONNX算子、验证转换正确性等关键步骤。作者分享了实际项目中的经验教训,如版本对齐、算子兼容性处理、后处理分离等实用技巧,并推荐使用onnx-simplifier工具优化模型。文章强调模型转换是一个需要反复调试的过程,建议保留转换记录形成知识库,以提高部署效率并避免常见错误。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 306

【C++】DDS:FastDDS环境配置与使用示例

FastDDS环境配置与使用示例

DevFrank的博客 6511

集成SpringMvc&前端展示

1.导包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.springframework.version>4.3.6.RELEASE</org.springframework.version> ...

wjc78242663的专栏 501

数据挖掘实战-基于KMeans算法对超市客户进行聚类分群

本实验基于KMeans算法对超市客户进行了聚类分群。通过对客户购物数据进行聚类,我们成功将客户分为不同的群体。每个群体代表了具有相似购物行为和偏好的客户群体。通过实验结果,我们发现了客户群体之间的明显差异和共性。不同群体的客户在购买频率、购物金额和购买种类等方面有所区别。这为超市提供了重要的市场细分信息,帮助超市经营者更好地了解不同客户群体的需求和喜好,制定有针对性的营销策略和商品推荐,提高客户满意度和忠诚度。此外,实验还揭示了超市客户的购物行为规律,为超市优化商品陈列和促销策略提供了指导。

m0_64336780的博客 2万+

智能商贸-day2-集成SpringMVC&前端展示

智能商贸-day2-集成SpringMVC&amp;前端展示 完成Service层 i. 导包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-...

wuguobang_Niko的博客 247

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

智能商贸项目之框架搭建(集成SpringMVC&前端展示)

一、Spring Data Jpa扩展使用 Spring Data Jpa功能虽然已经非常强大,但是大部分也需要自己去对SpringDataJpa的功能进行相应的扩展(即:自定义Repository)。 1.BaseRepository接口 创建BaseRepository来继承JpaRepository接口 import org.springframework.data.domain.Page;...

Magical_Maestro的博客 421

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SpringMVC&拦截器

我们在正常访问一个应用时,可以直接进行访问。但加入拦截器之后,那么我们要访问应用时就要经过一个或多个拦截器,return true就表示我们可以经过拦截器进入到下一个拦截器中,如果return false就会把这个访问拒之门外,我们也可以把要访问的应用看作下一个的拦截器。开发者可以自己定义一些拦截器来实现特定的功能。而拦截器是SpringMVC框架自己的,只有SpringMVC工程才能使用,拦截器只会拦截访问的控制器方法,如果直接访问的是一些jsp或者html等页面,就不会被拦截,例如 (

weixin_67813398的博客 431

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

springboot之如何修改springboot的默认配置&扩展springmvc&全面接管springmvc

模式: 1)springboot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(@Bean、@Component)。如果有就用用户配置的,如果没有,才自动配置。如果有些组件可以有多个(如ViewResolver),则将用户配置的和自己默认的组合起来。 2)在springboot中会有非常多的Configurer帮助我们进行扩展配置 =========================...

level_Tiller的博客 494

springmvc&参数绑定&异常处理&Json数据交互&上传图片

springmvc的高级参数绑定绑定数组 &lt;c:forEach items="${itemList }" var="item"&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="checkbox" name="ids" value="${item.id}"/&gt;&am

锦衣夜行_ 1739

阿录帮帮忙—hibernate配置OpenSessionInView还是:could not initialize proxy - no Session

问题:hibernate延迟加载:配置了OpenSessionInView但还是:could not initialize proxy - no Session

maihemude的专栏 600

SpringMVC+Swagger UI生成可视图的API文档(详细图解)

SpringMVC+Swagger生成文档详细图解,以及遇到的异常处理

x_k的专栏 5万+

一篇文章学会SpringMVC框架

SpringMVC的介绍 (1)springmvc 是什么? Spring mvc属于表现层的框架,它是Spring框架的一部分 (2)springmvc 有什么用? 》接收请求,获取参数 》处理参数 》将结果响应给浏览器 如 重定向或者请求转发或者返回json springmvc就是对Servlet的封装 (3)springmvc 属于spring FrameWork的一部分,就是一个模块 SpringMVC的简单处理流程 (1)springMVC的处理流程是? 》核心是前端控制器 》真正处理业务的是

wangzhenxing991026的博客 169

layUI框架--laypage+SpringMVC实现后端分页

项目中用到了模板引擎thymeleaf和前端框架layUI,算是一路摸索、一个坑一个坑踩过来的。之前边学习边做项目的时候没有记录下学习的过程和遇到问题的解决思路和方法,着实有点可惜。所以从现在开始咯。 laypage分页下面就以laypage的两种分页展开行文的思路:异步刷新分页和整页刷新式跳转。具体可参看官方文档。异步刷新分页首先使用laypage之前,先加载laypage模块。使用 layui.

DJJT10的博客 1万+

SpringMVC +Spring +Mybatis + Layui有没有完好的项目,

最近遇到SpringMVC +Spring +Mybatis + Layui前后台不知道如何交互

YANGWANS的博客 2381
上一篇: SpringDataJpa
欧米伽M
博客等级 码龄8年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值