
JAVA
yGIS
这个作者很懒,什么都没留下…
展开
-
android开发配置文件合并失败
配置文件合并失败,可以用命令查看相关信息https://blog.youkuaiyun.com/chengxuyuan22/article/details/107369334原创 2021-05-19 11:06:41 · 277 阅读 · 0 评论 -
【Android开发】&Could not resolve com.android.support
我所遇到的Could not resolve com.android.support错误是便宜从github上面下载下来的源码使用的依赖为compileOnly,现在将其该为implementation即可。原创 2020-05-14 14:30:39 · 515 阅读 · 0 评论 -
【十五】geoserver源码&StatusPage服务器状态
启动Geoserver后,我们可以查看Geoserver服务器的状态。点击这个按钮呈现下面的界面。这里是一个tab选项卡,有状态、模型、系统状态信息。在状态信息界面我们可以看到JVM版本、内存使用情况、可用字体。而在模块界面我们可以看到对应了Geoserver相应源码提供模块。每个模块对应有一个模块的ID。相应有一个可用性。最后一个是系统(机子)对应的状态。从上...原创 2020-04-27 18:47:06 · 1007 阅读 · 0 评论 -
【十一】geoserver源码&XStreamPersister
XStreamPersister类用于加载目录和配置类对象,首先该类定义了一个接口。如下所示,那么这里需要注意的是HierarchicalStreamWriter是一个结构输出流,MarshallingContext是序列化上下文信息。具体的将还会在该类的其他函数与类中有使用。 private boolean unwrapNulls = true; /** Callback...原创 2020-04-22 20:33:06 · 505 阅读 · 0 评论 -
2019年总结
时间过得很快,可能是一直处在忙碌的状态。不经意间又过去了一年,旁边的大道正好花了一年的时间修建,还记得没修之前经常在大道旁边跑跑步,这一切仿佛就是昨天的身影。2020年就这样到来,很多小伙伴和我一样都这样的感觉,就是时间过得好快。那么这一年也是很忙的。做了很多事情,有些坚持做着,有些放弃了,有些随着自身因素的变化做了相应的调整。这一年写168篇博客总结,这些大部分集中在三维地图和Android...原创 2020-01-18 18:47:09 · 1611 阅读 · 0 评论 -
BindView报空指针
今天在使用BindView遇到空指针,具体原因控件类型没有对应起来。其中txt_gzyy_building_house_choose类型为TextView类型,而不是RelativeLayout类型。 @BindView(R.id.txt_gzyy_building_house_choose) RelativeLayout txt_gzyy_building_house_cho...原创 2020-01-17 10:05:40 · 2577 阅读 · 0 评论 -
tomcat9.0.10配置jdk
在tomcat的bin目录的catalina.bat文件最开始增加下面这两个语句:set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181set JRE_HOME=C:\Program Files\Java\jdk1.8.0_181\jre注意前提是配置好jdk环境。 具体如下图:运行bin目录下的startup.bat文件。...原创 2018-08-13 22:12:29 · 8849 阅读 · 0 评论 -
IDEA2017配置springmvc遇到的错误
今天在使用idea配置springmvc工程时候遇到如下的问题:一、java.lang.ClassNotFoundExceptionjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener报错信息如下。04-Sep-2018 21:26:46.599 严重 [RM...原创 2018-09-05 21:31:02 · 1671 阅读 · 0 评论 -
springMVC获取WEB-INF路径下资源
今天我需要获取WEB-INF下的资源文件,本来设置好响应头和响应码后,报了空指针。原来是InputStream in=servletContext.getResourceAsStream("/files/abc.txt");请求的路径出现了问题,使用了String classesUrl = this.getClass().getResource("").getPath().repla...原创 2018-09-10 19:23:29 · 4858 阅读 · 0 评论 -
Android开发(AlertDialog对话框自定义布局和多选列表不共存的替代办法)
这个实现功能花了一点时间,当时忙了很晚,只怪当时没有想出其他解决办法。言归正传。前几天有这么一个小伙伴,在开发有这样的地图app,该地图app有多个地图图层,这些地图图层可提供给用户操作,比如说图层的显示控制,以及选择需要的图层供查询。由于该地图app在主界面已经布局很多按钮实现其他功能,所以再加上该图层控制按钮就没有存放的位置了,所以该小伙伴设计出一个弹出框(alertdialog)来控制图...原创 2018-10-26 21:52:27 · 2315 阅读 · 0 评论 -
(二)arcgis runtime for android 100.3开发学习(图形、绘制图层创建)
今天我们来学习一下有关新版arcgis for android 100.3里面绘制图层,和定义图层符号。这里代码摘自esri在github公布的源代码,这个例子中线条可以根据地图的的缩放展示流动的效果,看了一下绘制的面填充中的格网也随着地图的缩放在不断的细分,这个例子对于学习arcgis for android绘图图层和图形是比较基础的。下面看一下实现效果。这是实现的源代码。pack...原创 2018-11-04 10:17:44 · 1350 阅读 · 0 评论 -
开源地图服务geoserver源代码研究实践(IntelliJ IDEA2017导入工程、环境搭建)
今天我们来学习一下有关开源地图服务geoserver的源代码。首先学习这个源代码还是挺有用的,geoserver是关于spring、写的一个java服务,此外代码里面应用到很多编程套路(设计模式)方面的知识,geoserver地图服务实现OGC(开放地理信息联盟)wms、wfs等地图服务,因此对于想深入了解OGC地图服务方面相关原理与编码实现,无疑学习源代码是不错的方式。大家可以从github下载...原创 2018-11-04 19:47:40 · 7844 阅读 · 6 评论 -
Java并发编——Java锁的实现原理
一、基础概念多CPU:一台计算机上多个物理CPU多核:一个CPU上多个核心超线程技术:一个核心多个执行执行单元二、CPU内存架构:高度缓存L1、L2、L3:4核8线程:这样就存在缓存一致性问题。解决缓存一致性问题的方法:总线锁和缓存锁(1)总线锁这样之后i的值都为2,但是我们期待的结果是i = 3。那么总线锁的意思是当CPU1拿到变量处理完的时候CPU2处于阻塞状态,当CPU1处理完之后,CPU2...转载 2018-11-13 16:00:35 · 149 阅读 · 0 评论 -
开源地图服务geoserver源代码研究实践(用户登录与密码验证)
开源地图服务geoserver利用spring security进行用户验证和授权。一、有关spring security。 SecurityContextHolder 负责存储安全上下文,保存用户信息,权限等等。 Authentication 认证信息类,身份信息、密码信息、细节、认证信息。 UserDetails 用户信息,包含用户的一些基本字段...原创 2018-11-22 18:27:39 · 3409 阅读 · 2 评论 -
开源地图服务geoserver源代码研究实践(发布wms地图服务)
今天我们来学习一下关于开源地图服务GeoServer发布wms地图服务。我们这里使用的是源码版发布的地图服务,其中过程和网络上相关的GeoServer发布wms地图服务是一致的。有一点不一样的是如果想在gwc目录下找到我们放置的数据,需要放在如下的路径。其中shp文件是我们创建好的文件夹,里面放有我们的shapefile文件。那么我们来看一下一般的GeoServer是如何发布wms地图服务...原创 2018-11-24 09:50:09 · 2188 阅读 · 0 评论 -
(三) arcgis runtime for android 100.3开发学习(加载影像切片服务)
今天我们来学关于arcgis影像切片服务,注意这个例子的demo比较简单。我们主要看一下ArcGISMapImageLayer类的UML图。代码是非常简单的。来看一下源代码,非常简单。package com.esri.arcgisruntime.sample.mapimagelayer;import android.os.Bundle;import android.supp...原创 2018-11-17 18:41:40 · 1259 阅读 · 0 评论 -
(四) arcgis runtime for android 100.3开发学习(加载切片地图服务)
今天我们来学习关于arcgis for android加载切片地图服务相关知识。使用的是新版本的arcgis runtime for android100.3,我们来看下加载切片地图服务的类ArcGISTiledLayer,该类继承了ImageTiledLayer类,其中ArcGISTiledLayer有两个构造函数,分别是ArcGISTiledLayer(String url)和ArcGIS...原创 2018-11-18 10:46:58 · 2167 阅读 · 0 评论 -
开源地图服务geoserver源代码研究实践(创建wicket项目)
开源地图服务goserver使用wicket框架搭建系统界面。那么什么是wicket呢,据说这个web框架是java版的asp.net。使用asp.net还是刚刚参加工作的时候,整体感觉和写cs程序类似,及其容易上手,学习成本也较低。我们来看一下wicket官网相关http://wicket.apache.org/,目前最新版本是wicke8.x。在这里我们使7.x版本的wicket。使用inte...原创 2018-12-02 21:12:26 · 895 阅读 · 0 评论 -
(五) arcgis runtime for android 100.3开发学习(加载矢量切片地图服务)
矢量切片是在新版的arcgis for android中才有的,之前版本没有,今天我们来学习一下关于矢量切片图层的案例,这个案例使用了DrawerLayout来切换不同的图层,加载到地图上供显示,我们这里展示了夜光版矢量图层。具体效果如下图所示。来,我们来看一下源代码。package com.esri.arcgisruntime.sample.arcgisvectortiledl...原创 2018-11-27 21:50:59 · 1327 阅读 · 2 评论 -
java.lang.NoClassDefFoundError: Lorg/slf4j/Logger
启动tomcat遇到的错误。[2018-11-28 04:59:51,079] Artifact wicket_helloworld:war exploded: Artifact is being deployed, please wait...28-Nov-2018 16:59:51.961 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.a...原创 2018-11-28 17:09:17 · 7344 阅读 · 0 评论 -
android开发&使用ormlite数据库框架保存用户登录信息
今天我们来学习一下,关于android数据库持久层框架ormlite的应用,首先这是一个app的登录界面。使用该框架将用户的用户名和电话号码存储到数据库中。app的登录界面提供记住密码的功能。具体界面如下所示。首先,我们来看关于ormlite框架,在使用中的帮助类,这个帮助类用于每个bean注册以及数据的更新。package com.example.arcroid.fastrsmap...原创 2018-12-23 19:30:37 · 515 阅读 · 0 评论 -
wicket学习笔记&创建一个登陆界面
好久没有学习wicket相关的内容了,今天又来开始学习。这里是一个登陆界面,效果如下图所示。首先得自定义一个loginfrom,如下图所示。添加简单用户名和密码项。然后就可以在主页用到它。 class LoginForm extends Form<Void> { private TextField usernameField; pr...原创 2019-02-28 22:59:49 · 1015 阅读 · 0 评论 -
IntelliJ IDEA的maven构建工程遇到的have different Class objects for the type org/slf4j/ILoggerFactory
出现下面的错误是因为重复使用了jar包,排除即可。在pom.xml中做如下的配置。 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.6<...原创 2019-04-15 23:20:46 · 5297 阅读 · 0 评论 -
geotool源码&Hints提示类
Hints类,类似于对类的配置,我们来看一下代码的实现。public class Hints extends RenderingHints { private static volatile Map<java.awt.RenderingHints.Key, Object> GLOBAL = new ConcurrentHashMap(); private stat...原创 2019-04-21 12:18:01 · 1342 阅读 · 0 评论 -
【arcgis for android100.5开发 】&wms图层
这次我们来学习一下关于arcgis for android 100.5加载wms地图服务,wms地图服务相信大家都不陌生了。发布wms地图服务服务程序也是很多的,你比如geoserver,arcgis server都是可以的,好了我们来看一下新版中是如何加载的。public class MainActivity extends AppCompatActivity { private M...原创 2019-04-13 21:12:21 · 1329 阅读 · 1 评论 -
《wicket学习三》&AnnotationsRolesStrategy
好了,今天我们来学习的是wicket的一个登陆和跳转例子,使用的注解的方式。最后做成了如下的界面。有点简陋。对应的html页面如下所示。<!DOCTYPE html><html lang="en" xmlns:wicket="http://www.w3.org/1999/xhtml"><head> <meta charset="U...原创 2019-04-25 20:04:36 · 216 阅读 · 0 评论 -
Intelli IDEA常用的快捷键
快速复制一行:ctrl+d,只要代码在某一行,按下该组合键,就复制该行。移动某一行代码:shift+alt+上下键;光标在某行,按下该组合键,代码就会上移和下移。在当前行后插入一个空行:shift+enter;从左边到右边快速new一个对象CTRL+alter+空格有右边到左边快速new一个对象:CTRL+alter+v光标在某行的前面:shift+enter将会在该行的下...原创 2019-04-25 20:52:15 · 468 阅读 · 0 评论 -
【arcgis for android100.5开发 】&三维视域位置
自从arcgis for android支持三维后,让app端增加了不少色彩,也值得去研究。好了,我们来看一下,这里是关于对三维中视域的位置设置。其中关于视域的位置参数设置有几个值需要我们去了解的。如下图所示,为测试的一个demo,首先heading为绕z轴旋转参数,而pitch位绕z轴翻滚参数,也就是说,当pitch越来越大时,那么这个浅绿色的投影将会离过这个锥形顶点z轴越来越远。而我们依此移动...原创 2019-04-14 09:16:37 · 974 阅读 · 0 评论 -
shiro学习&自定义realm
今天来学习一下shrio自定义realm,首先,在这里定义一个我们的realm,没有做任何的操作,如下。public class MyRealm extends AuthorizingRealm{ @Override public String getName() { return "MyRealm"; } @Override pr...原创 2019-04-25 21:05:14 · 178 阅读 · 0 评论 -
开源地图服务geoserver源代码分析&工作空间、数据存储
工作空间有点类似于一个目录,而geoserver的工作空间是数据目录下的特定文件夹。创建工作空间的代码位于如下图的位置。对应的新建工作区页面则如下图所示。我们来看一下,创建的该页面的代码。WorkspaceNewPage.java的构造函数利用wickte来创建填写提交表单。public WorkspaceNewPage() { WorkspaceInfo w...原创 2019-04-14 16:16:56 · 1438 阅读 · 0 评论 -
shrio学习Unable to instantiate class ["org.apache.shiro.authc.credential.HashedCredentialsMatcher"]
今天在学习到自定义realm中,使用的加盐的方式,配置ini文件中遇到如下的问题。开始很是不了解。来看一下报错的代码。将断点到ReflectionBuilder中。 at org.apache.shiro.config.ReflectionBuilder.createNewInstance(ReflectionBuilder.java:151) at org.apache...原创 2019-04-26 10:52:00 · 1855 阅读 · 0 评论 -
shiro学习&加密realm
现在的这个自定义是realm,如下所示,需要重写三个方法。同时,在验证方法中,需要从数据库中,获取密码,告诉加盐形式。我们来看具体参数。public class PasswordRealm extends AuthorizingRealm { @Override public String getName() { return super.getName()...原创 2019-04-26 11:12:05 · 169 阅读 · 0 评论 -
shiro学习&使用ini授权
现在来学习一下使用ini方式来授权,首先我们来看一下ini文件。[users]zhangsan=123456,role1,role2lisi=654321,role2[roles]role1=user:create,user:updaterole2=user:create,user:deleterole3=user:create然后,我们来对主体授权进行检测。这里假定登陆是成...原创 2019-04-26 14:03:04 · 148 阅读 · 0 评论 -
shrio学习&自定义realm授权
现在我们来学习一下,使用自定义realm的方式来授权。首先在我们的realm类中,要实现三个函数,getName,授权和验证函数,如下所示。注意,我们授权函数中,添加相应的角色和权限。public class MyPermissionRealm extends AuthorizingRealm { @Override public String getName() { ...原创 2019-04-26 14:37:06 · 137 阅读 · 0 评论 -
shiro学习&授权流程
首先,打断点进入到delegateSubject的isPermitted(String perssion)函数中,该函数要对主体进行身份的认证然后才是授权工作。 public boolean isPermitted(String permission) { return this.hasPrincipals() && this.securityManage...原创 2019-04-26 15:16:38 · 213 阅读 · 0 评论 -
《wicket学习四》&BasicModalWindowExample
今天我们来学习一下,关于在wicket中创建一个模态对话框。最后做出来的效果如下图所示。我们来看一下homepage.java文件,如下所示。public class HomePage extends WebPage { public HomePage() { final ModalWindow modalWindow = new ModalWindow("m...原创 2019-04-26 21:39:47 · 349 阅读 · 0 评论 -
《wicket学习五》&BookmarkablePageAutoLink
今天我们来学习wicket的页面跳转,做出的demo如下所示。当点击SubPackagePage时,会跳转到子页面。我们来看一下代码。public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage() { }}...原创 2019-04-27 08:51:06 · 247 阅读 · 0 评论 -
《wicket学习六》&CallbackURLExample
今天我们来学习一下,关于wicket中回调一些知识。最后做成的页面如下图所示。我们来看一下对应上面的homepage.java代码。public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage() { L...原创 2019-04-27 09:24:45 · 334 阅读 · 0 评论 -
《wicket学习七》&CheckBoxAjaxTree
今天我们来学习一下树控件的使用,如下图所示。最后要做出来的成果。勾选上面的勾选项,下面将会更新。我们来看一下homepage.java实现代码,注意下面代码中使用到构建树的方式。对应的层级关系。public class HomePage extends WebPage { private static final long serialVersionUID = 1L...原创 2019-04-27 11:09:01 · 224 阅读 · 0 评论 -
《wicket学习八》&ClickToAnotherPage
现在要学习的这个例子是调整page,即从一个page跳转到另外一个page。具体的实现效果如下所示,在homepage点击,进入另外一个page,然后又另外一个page又回到homepage。下面我们来看一下实现代码。public class HomePage extends WebPage { public HomePage() { add(new Link<...原创 2019-04-27 13:12:41 · 193 阅读 · 0 评论