- 浏览: 152982 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
守望麦穗:
楼主好, 我按着你的步骤查找问题 ,到第二步,也没有自定义U ...
Spring Security3边学边写(N)会话管理和并行控制 -
sb33060418:
Notify 写道楼主,但是配置<concurrency ...
Spring Security3边学边写(N)会话管理和并行控制 -
Notify:
楼主,但是配置<concurrency-control ...
Spring Security3边学边写(N)会话管理和并行控制 -
409421884:
你好,我也在做这个功能,但sessionRegistry这个东 ...
Spring Security3边学边写(N)会话管理和并行控制 -
sb33060418:
左眼的彼岸 写道sb33060418 写道左眼的彼岸 写道谢谢 ...
Spring Security3边学边写(N)会话管理和并行控制
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务。
Restlet参考REST标准的术语,如:资源(resource)、表示(representation)、连接器(connector)、组件(component)、媒体类型(media type)、语言(language),等等。Restlet增加了一些专门的类(如Application、Filter、Finder、Router和Route),用以简化restlets的彼此结合,以及简化把收到的请求(incoming requests)映射为处理它们的资源。
其他Restlet介绍见:Restlet 入门。本节简单介绍restlet2+spring4的集成及客户端访问。
1.spring web基础环境
见上一节Jersey创建的web工程testRest。
2.REST地址
与上一节类似,设计restlet模块rest接口地址:
/restlet/teachers GET 获取所有资源
/restlet/teachers POST 创建新资源,content中包含资源内容
/restlet/teacher/{id} GET 获取编号为id的资源
/restlet/teacher/{id} PUT 更新编号为id的资源,content中包含资源内容
/restlet/teacher/{id} DELETE 删除编号为id的资源
3.restlet库
在项目pom.xml中加入Restlet依赖:
Restlet使用版本2.3.5,并加入servlet、spring、json、xml等包。因Restlet库不在中央仓库中,所以要加入https://maven.restlet.com仓库。
4.Servlet
配置Restlet访问入口。
Restlet Servlet将拦截/restlet/*下的所有访问。
Restlet与web、spring集成后,不需要再自己实现Router、Application、Component。但需要在spring中进行配置。
在配置文件目录src\main\resources\下创建restlet配置目录config\restlet,并创建配置文件restlet.xml:
此处定义的component bean将被web.xml配置的Restlet servlet引用。
5.实现api
在com.sunbin.test.restlet新增TeachersResource类,以实现/teachers路径的接口:
用到了以下Restlet自带注解:
@Get:GET请求的响应方法。
@Post("*:json"):POST请求的响应方法,指定*可接受各种Content-Type的请求数据,json可返回Content-Type:application/json数据。
需要注意的是,Restlet自带的json返回new JsonRepresentation(map)会对Map中的键值简单调用toString,再返回json串例如:{"teachers":["Teacher [id=1, age=1, name=a]","Teacher [id=2, age=2, name=b]"]},这就不是标准json了。所以干脆使用阿里的fastjson库先将结果转成JSONString,再返回:{"teachers":[{"age":1,"id":1,"name":"a"},{"age":2,"id":2,"name":"b"}]}。
新增TeacherResource类,以实现/teacher/{id}路径的接口:
同样使用的不是JAX-RS注解,而是Restlet自带注解(大小写不同)。
restlet的路径绑定需要配置在spring文件中。在restlet.xml中增加配置:
6.js测试
使用上一节的测试页面src\main\webapp\rest\index.jsp进行测试:
重新部署后,使用浏览器访问http://localhost:8080/testRest/rest,测试内容和jersey测试相同。
7.RestletClient测试
Restlet提供Client库用于测试REST接口。
新建TestRestlet类,代码如下:
测试结果与Jersey类似。
8.部署至jboss
将Restlet Web工程部署至jboss,会因为jboss类加载配置导致无法启动。
需要修改jboss目录/modules/system/layers/base/sun/jdk/main下的module.xml文件:
加入httpserver配置行。
9.Restlet访问session
Restlet不推荐在Resource中访问会话信息,因为这是违背REST的无状态设计的。
但如果需要在Resource中访问Session,可以按以下代码获取:
Restlet参考REST标准的术语,如:资源(resource)、表示(representation)、连接器(connector)、组件(component)、媒体类型(media type)、语言(language),等等。Restlet增加了一些专门的类(如Application、Filter、Finder、Router和Route),用以简化restlets的彼此结合,以及简化把收到的请求(incoming requests)映射为处理它们的资源。
其他Restlet介绍见:Restlet 入门。本节简单介绍restlet2+spring4的集成及客户端访问。
1.spring web基础环境
见上一节Jersey创建的web工程testRest。
2.REST地址
与上一节类似,设计restlet模块rest接口地址:
/restlet/teachers GET 获取所有资源
/restlet/teachers POST 创建新资源,content中包含资源内容
/restlet/teacher/{id} GET 获取编号为id的资源
/restlet/teacher/{id} PUT 更新编号为id的资源,content中包含资源内容
/restlet/teacher/{id} DELETE 删除编号为id的资源
3.restlet库
在项目pom.xml中加入Restlet依赖:
<repositories> <repository> <id>maven-restlet</id> <name>Restlet repository</name> <url>https://maven.restlet.com</url> </repository> </repositories> <properties> <restlet.version>2.3.5</restlet.version> <fastjson.version>1.2.7</fastjson.version> </properties> <dependencies> ... <!-- restlet begin --> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet</artifactId> <version>${restlet.version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.json</artifactId> <version>${restlet.version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.spring</artifactId> <version>${restlet.version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.servlet</artifactId> <version>${restlet.version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.xml</artifactId> <version>${restlet.version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.oauth</artifactId> <version>${restlet.version}</version> </dependency> <!-- json 相关jar包 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <!-- restlet end --> ...
Restlet使用版本2.3.5,并加入servlet、spring、json、xml等包。因Restlet库不在中央仓库中,所以要加入https://maven.restlet.com仓库。
4.Servlet
配置Restlet访问入口。
<!-- restlet --> <servlet> <servlet-name>restlet</servlet-name> <servlet-class>org.restlet.ext.spring.SpringServerServlet</servlet-class> <init-param> <param-name>org.restlet.component</param-name> <param-value>component</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>restlet</servlet-name> <url-pattern>/restlet/*</url-pattern> </servlet-mapping>
Restlet Servlet将拦截/restlet/*下的所有访问。
Restlet与web、spring集成后,不需要再自己实现Router、Application、Component。但需要在spring中进行配置。
在配置文件目录src\main\resources\下创建restlet配置目录config\restlet,并创建配置文件restlet.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:p="http://www.springframework.org/schema/p" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" default-autowire="byName" default-lazy-init="true"> <bean id="component" class="org.restlet.ext.spring.SpringComponent"> <property name="defaultTarget" ref="router" /> </bean> <bean id="router" class="org.restlet.ext.spring.SpringBeanRouter"></bean> </beans>
此处定义的component bean将被web.xml配置的Restlet servlet引用。
5.实现api
在com.sunbin.test.restlet新增TeachersResource类,以实现/teachers路径的接口:
package com.sunbin.test.restlet; import java.util.HashMap; import java.util.Map; import org.restlet.data.Form; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.resource.Get; import org.restlet.resource.Post; import org.restlet.resource.ServerResource; import org.springframework.beans.factory.annotation.Autowired; import com.alibaba.fastjson.JSON; import com.sunbin.test.teacher.pojo.Teacher; import com.sunbin.test.teacher.service.TeacherService; public class TeachersResource extends ServerResource { @Autowired private TeacherService teacherService; @Get public Representation get() { System.out.println("Restlet TeachersResource.get"); Map map = new HashMap(); map.put("teachers", teacherService.list()); return new JsonRepresentation(JSON.toJSONString(map)); } @Post("*:json") public Representation post(Representation entity){ Map map = new HashMap(); try { Form form = new Form(entity); System.out.println("Restlet TeachersResource.post:"+form); Teacher teacher = new Teacher(); teacher.setName(form.getFirstValue("name")); teacher.setAge(Integer.parseInt(form.getFirstValue("age"))); teacherService.save(teacher); map.put("status", "y"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return new JsonRepresentation(JSON.toJSONString(map)); } }
用到了以下Restlet自带注解:
@Get:GET请求的响应方法。
@Post("*:json"):POST请求的响应方法,指定*可接受各种Content-Type的请求数据,json可返回Content-Type:application/json数据。
需要注意的是,Restlet自带的json返回new JsonRepresentation(map)会对Map中的键值简单调用toString,再返回json串例如:{"teachers":["Teacher [id=1, age=1, name=a]","Teacher [id=2, age=2, name=b]"]},这就不是标准json了。所以干脆使用阿里的fastjson库先将结果转成JSONString,再返回:{"teachers":[{"age":1,"id":1,"name":"a"},{"age":2,"id":2,"name":"b"}]}。
新增TeacherResource类,以实现/teacher/{id}路径的接口:
package com.sunbin.test.restlet; import java.util.HashMap; import java.util.Map; import org.restlet.data.Form; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.resource.Delete; import org.restlet.resource.Get; import org.restlet.resource.Put; import org.restlet.resource.ServerResource; import org.springframework.beans.factory.annotation.Autowired; import com.alibaba.fastjson.JSON; import com.sunbin.test.teacher.pojo.Teacher; import com.sunbin.test.teacher.service.TeacherService; public class TeacherResource extends ServerResource{ @Autowired private TeacherService teacherService; @Get public Representation get(){ String id = (String)getRequest().getAttributes().get("id"); System.out.println("Restlet TeacherResource.get:"+id); Teacher teacher = new Teacher(); teacher.setId(Integer.parseInt(id)); Map map = new HashMap(); map.put("teacher", teacherService.get(teacher)); return new JsonRepresentation(JSON.toJSONString(map)); } @Put public Representation put(Representation entity){ Map map = new HashMap(); try { String id = (String)getRequest().getAttributes().get("id"); Form form = new Form(entity); System.out.println("Restlet TeacherResource.put:"+id+":"+form); Teacher teacher = new Teacher(); teacher.setId(Integer.parseInt(id)); teacher.setName(form.getFirstValue("name")); teacher.setAge(Integer.parseInt(form.getFirstValue("age"))); teacherService.update(teacher); map.put("status", "y"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return new JsonRepresentation(JSON.toJSONString(map)); } @Delete public Representation delete(){ Map map = new HashMap(); try { String id = (String)getRequest().getAttributes().get("id"); System.out.println("Restlet TeacherResource.delete:"+id); Teacher teacher = new Teacher(); teacher.setId(Integer.parseInt(id)); teacherService.remove(teacher); map.put("status", "y"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return new JsonRepresentation(JSON.toJSONString(map)); } }
同样使用的不是JAX-RS注解,而是Restlet自带注解(大小写不同)。
restlet的路径绑定需要配置在spring文件中。在restlet.xml中增加配置:
<bean name="/teacher/{id}" id="teacherResource" class="com.sunbin.test.restlet.TeacherResource" scope="prototype"> </bean> <bean name="/teachers" id="teachersResource" class="com.sunbin.test.restlet.TeachersResource" scope="prototype"> </bean>
6.js测试
使用上一节的测试页面src\main\webapp\rest\index.jsp进行测试:
... <script type="text/javascript"> // 测试框架 //var restType = "jersey"; var restType = "restlet"; //var restType = "resteasy"; //var restType = "restCxf"; //var restType = "restMvc"; ...
重新部署后,使用浏览器访问http://localhost:8080/testRest/rest,测试内容和jersey测试相同。
7.RestletClient测试
Restlet提供Client库用于测试REST接口。
新建TestRestlet类,代码如下:
package com.sunbin.test.restlet; import java.io.IOException; import org.restlet.resource.ClientResource; import org.restlet.resource.ResourceException; public class TestRestlet { public static final String URL_BASE = "http://localhost:8080/testRest/restlet/"; /** * @param args * @throws IOException * @throws ResourceException */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String module = "teacher"; String url = ""; ClientResource client = null; String entity = ""; String result = ""; url = URL_BASE + module + "s"; System.out.println("get\t " + url); client = new ClientResource(url); result = client.get().getText(); System.out.println(result); url = URL_BASE + module + "s"; System.out.println("post\t " + url); client = new ClientResource(url); entity = "name=a&age=1"; result = client.post(entity).getText(); System.out.println(result); url = URL_BASE + module + "s"; System.out.println("get\t " + url); client = new ClientResource(url); result = client.get().getText(); System.out.println(result); url = URL_BASE + module + "/1"; System.out.println("get\t " + url); client = new ClientResource(url); result = client.get().getText(); System.out.println(result); url = URL_BASE + module + "/1"; System.out.println("put\t " + url); client = new ClientResource(url); entity = "name=aa&age=11"; result = client.put(entity).getText(); System.out.println(result); url = URL_BASE + module + "s"; System.out.println("get\t " + url); client = new ClientResource(url); result = client.get().getText(); System.out.println(result); url = URL_BASE + module + "/1"; System.out.println("delete\t " + url); client = new ClientResource(url); result = client.delete().getText(); System.out.println(result); url = URL_BASE + module + "s"; System.out.println("get\t " + url); client = new ClientResource(url); result = client.get().getText(); System.out.println(result); } }
测试结果与Jersey类似。
8.部署至jboss
将Restlet Web工程部署至jboss,会因为jboss类加载配置导致无法启动。
需要修改jboss目录/modules/system/layers/base/sun/jdk/main下的module.xml文件:
<dependencies> <system export="true"> <paths> ... <path name="com/sun/net/httpserver"/> ...
加入httpserver配置行。
9.Restlet访问session
Restlet不推荐在Resource中访问会话信息,因为这是违背REST的无状态设计的。
但如果需要在Resource中访问Session,可以按以下代码获取:
import org.restlet.Request; import org.restlet.engine.adapter.HttpRequest; import org.restlet.engine.adapter.ServerCall; import org.restlet.ext.servlet.internal.ServletCall; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; ... Request request = getRequest(); if (request instanceof HttpRequest) { final ServerCall httpCall = ((HttpRequest) request) .getHttpCall(); if (httpCall instanceof ServletCall) { HttpServletRequest httpServletRequest = ((ServletCall) httpCall) .getRequest(); HttpSession session = httpServletRequest.getSession(); ...
发表评论
-
REST(五)CXF实现REST
2017-08-14 16:49 763Apache CXF以前一般用来开发基于SOAP协议的Web ... -
REST(四)RESTEasy实现REST
2017-06-15 10:55 3763RESTEasy是JBoss的一个开源项目,提供各种框架帮助你 ... -
REST(二)Jersey实现REST
2017-05-26 16:33 2001Jersey是JAX-RS(JSR311)开源参考实现,用于构 ... -
REST(一)REST和JAX-RS
2017-05-25 16:08 1410最近重新整理了一下代码,把java实现REST api的几种框 ... -
Restlet 2.0 边学边写(八)使用jQuery和ajax实现对Restlet资源的CRUD操作
2013-01-12 01:20 2979上一次实践实现了各方 ... -
Restlet 2.0 边学边写(七)Restlet返回xml和json数据格式
2013-01-07 10:29 5370上一次实践实现了html form来访问Restlet的PUT ... -
Restlet 2.0 边学边写(六)使用html form访问Restlet的PUT和DELETE
2013-01-04 15:55 4009上一次实践实现了POST、PUT和DELETE方法,并使用ht ... -
Restlet 2.0 边学边写(五)Restlet的POST、PUT和DELETE
2012-12-26 17:54 4800上一次实践是将Restlet与spring集成,本次实践是将实 ... -
Restlet 2.0 边学边写(四)Restlet与spring集成
2012-12-20 17:27 5938上一次实践是使用Component来发布多个Resource。 ... -
Restlet 2.0 边学边写(三)使用Component发布多个Application
2012-12-19 18:25 3180很久没更新这篇博客了,今天继续。 上一次实践是一个Appli ... -
Restlet 2.0 边学边写(二)发布多个Resource
2012-01-11 03:39 3611上一次实践是一个Application绑定一个Resource ... -
Restlet 入门
2012-01-11 03:06 2575我学习Restlet是从ajax写的Restlet实践系列博客 ... -
Restlet 2.0 边学边写(一)第一步
2012-01-11 02:42 7579关于Rest的起源和框架、入门资料的一些东西大家可以去看看aj ...
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
MMC整流器技术解析:基于Matlab的双闭环控制策略与环流抑制性能研究,Matlab下的MMC整流器技术文档:18个子模块,双闭环控制稳定直流电压,环流抑制与最近电平逼近调制,优化桥臂电流波形,高效并网运行。,MMC整流器(Matlab),技术文档 1.MMC工作在整流侧,子模块个数N=18,直流侧电压Udc=25.2kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制直流电压,采用PI调节器,电流内环采用PI+前馈解耦; 3.环流抑制采用PI控制,能够抑制环流二倍频分量; 4.采用最近电平逼近调制(NLM), 5.均压排序:电容电压排序采用冒泡排序,判断桥臂电流方向确定投入切除; 结果: 1.输出的直流电压能够稳定在25.2kV; 2.有功功率,无功功率稳态时波形稳定,有功功率为3.2MW,无功稳定在0Var; 3.网侧电压电流波形均为对称的三相电压和三相电流波形,网侧电流THD=1.47%<2%,符合并网要求; 4.环流抑制后桥臂电流的波形得到改善,桥臂电流THD由9.57%降至1.93%,环流波形也可以看到得到抑制; 5.电容电压能够稳定变化 ,工作点关键词:MMC
Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构的Simulink建模与MPPT最大功率点追踪:基于功率反馈的扰动观察法调整电压方向研究,Boost二级升压光伏并网结构,Simulink建模,MPPT最大功率点追踪,扰动观察法采用功率反馈方式,若ΔP>0,说明电压调整的方向正确,可以继续按原方向进行“干扰”;若ΔP<0,说明电压调整的方向错误,需要对“干扰”的方向进行改变。 ,Boost升压;光伏并网结构;Simulink建模;MPPT最大功率点追踪;扰动观察法;功率反馈;电压调整方向。,光伏并网结构中Boost升压MPPT控制策略的Simulink建模与功率反馈扰动观察法
STM32F103C8T6 USB寄存器开发详解(12)-键盘设备
科技活动人员数专指直接从事科技活动以及专门从事科技活动管理和为科技活动提供直接服务的人员数量
Matlab Simulink仿真探究Flyback反激式开关电源性能表现与优化策略,Matlab Simulink仿真探究Flyback反激式开关电源的工作机制,Matlab Simulimk仿真,Flyback反激式开关电源仿真 ,Matlab; Simulink仿真; Flyback反激式; 开关电源仿真,Matlab Simulink在Flyback反激式开关电源仿真中的应用
基于Comsol的埋地电缆电磁加热计算模型:深度解析温度场与电磁场分布学习资料与服务,COMSOL埋地电缆电磁加热计算模型:温度场与电磁场分布的解析与学习资源,comsol 埋地电缆电磁加热计算模型,可以得到埋地电缆温度场及电磁场分布,提供学习资料和服务, ,comsol;埋地电缆电磁加热计算模型;温度场分布;电磁场分布;学习资料;服务,Comsol埋地电缆电磁加热模型:温度场与电磁场分布学习资料及服务
1、文件内容:ibus-table-chinese-yong-1.4.6-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ibus-table-chinese-yong-1.4.6-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
基于51单片机protues仿真的汽车智能灯光控制系统设计(仿真图、源代码) 一、设计项目 根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。 技术条件与说明: 1. 设计硬件部分,中央处理器采用了STC89C51RC单片机; 2. 使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号; 3. 显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯; 4. 用超声模块进行检测距离;
altermanager的企业微信告警服务
MyAgent测试版本在线下载
Comsol技术:可调BIC应用的二氧化钒VO2材料探索,Comsol模拟二氧化钒VO2的可调BIC特性研究,Comsol二氧化钒VO2可调BIC。 ,Comsol; 二氧化钒VO2; 可调BIC,Comsol二氧化钒VO2材料:可调BIC技术的关键应用
C++学生成绩管理系统源码
基于Matlab与Cplex的激励型需求响应模式:负荷转移与电价响应的差异化目标函数解析,基于Matlab与CPLEX的激励型需求响应负荷转移策略探索,激励型需求响应 matlab +cplex 激励型需求响应采用激励型需求响应方式对负荷进行转移,和电价响应模式不同,具体的目标函数如下 ,激励型需求响应; matlab + cplex; 负荷转移; 目标函数。,Matlab与Cplex结合的激励型需求响应模型及其负荷转移策略
scratch介绍(scratch说明).zip
内容概要:本文全面介绍了深度学习模型的概念、工作机制和发展历程,详细探讨了神经网络的构建和训练过程,包括反向传播算法和梯度下降方法。文中还列举了深度学习在图像识别、自然语言处理、医疗和金融等多个领域的应用实例,并讨论了当前面临的挑战,如数据依赖、计算资源需求、可解释性和对抗攻击等问题。最后,文章展望了未来的发展趋势,如与量子计算和区块链的融合,以及在更多领域的应用前景。 适合人群:对该领域有兴趣的技术人员、研究人员和学者,尤其适合那些希望深入了解深度学习原理和技术细节的读者。 使用场景及目标:①理解深度学习模型的基本原理和结构;②了解深度学习模型的具体应用案例;③掌握应对当前技术挑战的方向。 阅读建议:文章内容详尽丰富,读者应在阅读过程中注意理解各个关键技术的概念和原理,尤其是神经网络的构成及训练过程。同时也建议对比不同模型的特点及其在具体应用中的表现。
该文档提供了一个关于供应链管理系统开发的详细指南,重点介绍了项目安排、技术实现和框架搭建的相关内容。 文档分为以下几个关键部分: 项目安排:主要步骤包括搭建框架(1天),基础数据模块和权限管理(4天),以及应收应付和销售管理(5天)。 供应链概念:供应链系统的核心流程是通过采购商品放入仓库,并在销售时从仓库提取商品,涉及三个主要订单:采购订单、销售订单和调拨订单。 大数据的应用:介绍了数据挖掘、ETL(数据抽取)和BI(商业智能)在供应链管理中的应用。 技术实现:讲述了DAO(数据访问对象)的重用、服务层的重用、以及前端JS的继承机制、jQuery插件开发等技术细节。 系统框架搭建:包括Maven环境的配置、Web工程的创建、持久化类和映射文件的编写,以及Spring配置文件的实现。 DAO的需求和功能:供应链管理系统的各个模块都涉及分页查询、条件查询、删除、增加、修改操作等需求。 泛型的应用:通过示例说明了在Java语言中如何使用泛型来实现模块化和可扩展性。 文档非常技术导向,适合开发人员参考,用于构建供应链管理系统的架构和功能模块。
这份长达104页的手册由清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室的余梦珑博士后及其团队精心编撰,内容详尽,覆盖了从基础概念、技术原理到实战案例的全方位指导。它不仅适合初学者快速了解DeepSeek的基本操作,也为有经验的用户提供了高级技巧和优化策略。
主题说明: 1、将mxtheme目录放置根目录 | 将mxpro目录放置template文件夹中 2、苹果cms后台-系统-网站参数配置-网站模板-选择mxpro 模板目录填写html 3、网站模板选择好之后一定要先访问前台,然后再进入后台设置 4、主题后台地址: MXTU MAX图图主题,/admin.php/admin/mxpro/mxproset admin.php改成你登录后台的xxx.php 5、首页幻灯片设置视频推荐9,自行后台设置 6、追剧周表在视频数据中,节目周期添加周一至周日自行添加,格式:一,二,三,四,五,六,日
运行GUI版本,可二开