- MacOS系统搭建Appium自动化测试环境
xiangzhihong8
前端macosappium
一、Appium简介1.1什么是APPiumAPPium是一个开源测试自动化框架,适用于原生、混合或移动Web应用程序的自动化测试工具。APPium使用WebDriver协议驱动iOS、Android等应用程序。APPium具有如下特点:支持多平台(Android、iOS等)。支持多语言(python、java、ruby、js、c#等)。APPium是跨平台的,可以用在OSX,Windows以及L
- chatgpt赋能python:将Python装进U盘:给程序员的便携指南
aijinglingchat
ChatGptchatgptpython开发语言计算机
将Python装进U盘:给程序员的便携指南如果您是一个程序员或者开发人员,您可能经常需要在不同的电脑上使用Python。从编写代码到测试,您需要在不同的操作系统上运行和测试您的代码。因此,我们为您准备了一个便携式解决方案:将Python安装在U盘上。在本文中,我们将详细介绍如何在U盘上安装Python,并讨论其优点和缺点。步骤1:下载Python首先,您需要从Python官网(https://ww
- SpringBoot后端服务重定向
m0_74825634
面试学习路线阿里巴巴springboot后端java
SpringBoot后端服务重定向方法引言方案使用SpringMVC的重定向功能使用SpringBoot的路径匹配功能使用反向代理使用SpringCloudGateway直接调用Controller层接口最后引言SpringBoot开发中,后端服务对代码进行重构后,计划更改一个功能接口的URL地址。但是却不想更改前端代码。这时就需要用到重定向,将前端原来的URL请求重定向到新的URL地址。方案使用
- 2024“跨平台”不香了?知名开源项目淘汰Xamarin,转向原生开发
程序员的店小二
开源xamarin
开源密码管理工具Bitwarden开发者在Reddit发布消息,称自家应用的iOS和Android客户端采用微软的跨平台框架Xamarin开发,不仅早已过时且消耗资源较多。开发者称,虽然看上去通过Xamarin可以降低开发成本,但由于需要等待Xamarin更新适配新版iOS以及Android系统,因此客户端将无法在第一时间完成对新系统的支持。Bitwarden开发者表示他们已放弃跨平台框架,目前正
- 记录一次nvm\node\npm安装,ubuntu18.04
imomsc_csdn
npm前端node.js
问题:安装nvm时,curl或wget出现443连接失败;且用apt安装的nodejs出现GLIBC_2.28notfound。但网络好使,外网也能上。前提:nvm安装教程如下:Ubuntu安装NVM及简单使用-CSDN博客一、443连接失败——大佬原文如下:ubuntu18.04安装nvm、node.js、npm-简书(jianshu.com)二、nodejs不能用——大佬原文如下:(解决方案)
- vue3:mitt
米粒宝的爸爸
vue3vue.js前端javascript
在Vue3中使用mitt进行事件总线的实现非常简单。mitt是一个轻量级的事件库,适用于Vue项目中的组件间通信。实现自定义组件直接相互传值,父到子,子到子,子对子,子对孙,想怎么传就怎么传。和android的Eventbus一个玩法1.下载mittnpmimittmac下载,如果权限不够,加sudo2.创建个公共的utils类-emitter.ts//引入mittimportmittfrom'm
- 头歌实训作业 算法设计与分析-动态规划(第1关:0/1背包问题)
Milk夜雨
头歌实训作业算法动态规划
任务描述求解0/1背包问题。问题描述有n个重量分别为{w1,w2,…,wn}的物品,它们的价值分别为{v1,v2,…,vn},给定一个容量为W的背包。设计从这些物品中选取一部分物品放入该背包的方案,每个物品要么选中要么不选中,要求选中的物品不仅能够放到背包中,而且重量和为W,并具有最大的价值。测试说明测试输入:第一行为2个整数,分别表示物品数量n(1≤n≤20)和背包容量W(1≤W≤10000)。
- 使用飞书群机器人监控服务器GPU使用率
sunrise_ccx
服务器飞书
目标:如果服务器GPU空置,可以及时推送消息到飞书群。其他类似的监控目标也可以修改代码实现。步骤:(1)首先在群聊设置加入机器人,复制webhook_url(2)在服务器后台运行如下代码。注意替换webhook_url"""nohuppythonmonitor_gpu.pymy_server>monitor_gpu.log2>&1&"""importsysimportsubprocessimpor
- machine learning knn算法之使用KNN对鸢尾花数据集进行分类
知识鱼丸
machinelearning机器学习算法分类
通过导入必要的scikit-learn导入必要的库,加载给定的数据,划分测试集和训练集之后训练预测和评估即可具体代码如下:importnumpyasnpfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardS
- 2025年01月28日Github流行趋势
油泼辣子多加
GitHub每日趋势github
项目名称:maybe项目地址url:https://github.com/maybe-finance/maybe项目语言:Ruby历史star数:37540今日star数:1004项目维护者:zachgoll,apps/dependabot,tmyracle,Shpigford,crnsh项目简介:个人财务的操作系统项目名称:onlook项目地址url:https://github.com/onl
- Android BitmapShader简洁实现马赛克,Kotlin(二)
zhangphil
kotlinAndroidandroidkotlin
AndroidBitmapShader简洁实现马赛克,Kotlin(二)这一篇AndroidBitmapShader简洁实现马赛克,Kotlin(一)-CSDN博客遗留一个问题,xml定义的MyView为wrap_content的宽高,如果改成其他模式如match_parent,因为background的Bitmap和draw时候的Bitmap不一致(background被拉伸了),导致手指划过屏
- 2 files found with path ‘META-INF/lib_release.kotlin_module’
我不勤奋v
android编译问题kotlinandroidgradle
项目场景:记录项目开发中遇到的一个问题,防止后续再踩雷:自己封装了一个功能库,库名字叫lib,满心欢喜接入到app工程。编译打包时却报错:2filesfoundwithpath'META-INF/lib_release.kotlin_module'。问题描述>Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.
- C# lock,Monitor,Mutex的区别
HappyGirl快乐女孩
C#c#开发语言lockMonitormutex
1-lock和Monitor的区别一、lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能。二、Monitor有TryEnter的功能,可以防止出现死锁的问题,lock没有。2-Mutex和其他两者的区别测试三个都是在限制线程之外的互斥,线程之内,都不限制,同一个线程如果被lock两次。是不会出现死锁的。所以Mutex本身可以实现lock和Monitor所有的操
- SystemTap了解
weixin_34337265
运维
SystemTrap是监控和跟踪运行中的Linux内核操作的动态方法。http://www.ibm.com/developerworks/cn/linux/l-systemtap/使用SystemTrap需要使用trap来运行一个stp脚本如何安装:Centos下直接yuminstallsystemtrap就行了测试是否可以运行运行:stap-ve'probebegin{log("hellowor
- k8s(kubernetes)常见故障处理总结——详细文档
运维实战课程
docker和k8s学习文档kubernetesdocker容器
k8s(kubernetes)常见故障处理总结——详细文档本文涵盖了k8s运维过程中大部分常见的故障,提供相应的排查思路,笔记详细,仅供参考本人会经常更新运维相关技术文档,如有兴趣,可以关注我博客,欢迎互动分享k8s其他相关详细资料下载地址:kubeadm初始化高可用k8s1.20.4集群网盘地址:https://url28.ctfile.com/f/37115828-599516373-25f4
- 探索 `.NET MAUI` 工作坊:跨平台移动应用开发的新纪元
倪澄莹George
探索.NETMAUI工作坊:跨平台移动应用开发的新纪元dotnet-maui-workshopAfulldayworkshop(.NETMAUIWorkshopinaBox)onhowtobuildappswith.NETMAUIforiOS,Android,macOS,andWindows项目地址:https://gitcode.com/gh_mirrors/do/dotnet-maui-wor
- 2025年01月25日Github流行趋势
油泼辣子多加
GitHub每日趋势github
项目名称:it-tools项目地址url:https://github.com/CorentinTh/it-tools项目语言:Vue历史star数:25298今日star数:212项目维护者:CorentinTh,apps/renovate,cgoIT,sharevb,marvin-j97项目简介:为开发者提供一系列方便的在线工具,具有优秀的用户体验。项目名称:Reactive-Resume项目
- Vue 82 ,process.env 管理 Vue 项目的环境变量Vue项目中环境变量的配置及调用
北城笑笑
Vue前端vue.js
目录前言在构建Vue应用时,管理配置是开发中的一个重要部分。不同的环境,如开发、测试和生产,往往需要不同的配置,例如API、基础URL、第三方服务的密钥等。这时使用环境变量,可以帮助我们更好地管理这些配置。这里分享记录,如何在Vue项目中使用process.env来管理环境变量。一.介绍二.作用三.使用四.配置变量1.在.env.development中:2.在.env.test中:3.在.env
- Selenium学习笔记--Webdriver API 2--常用方法
jiang_guo
自动化测试笔记selenium
Webdriver重用方法浏览器控制控制浏览器窗口大小控制浏览器后退、前进切换标签页(窗口切换)switch方法获取url使用get方法模拟浏览器刷新关闭浏览器常用方法clearsend_keysclicksubmitsizetextget_attributeis_displayedtitlecurrent_url鼠标操作键盘操作元素等待显示等待隐式等待切换iframe单表单切换嵌套表单切换平行表
- el-input限制只能输入数字
Orange301511
大前端vue.jselementuijavascript
el-input限制只能输入数字问题:vue项目使用el-input限制只能输入数字1.当我们通过设置type="number"时,在中文输入法输入的时候;当失去焦点时会录入英文字符。所以该方案不是最佳方案2.当我们使用vue的修饰符v-model.number约束为number时;此时字母e依然可以输入。所以该方案不是最佳解决方案3.在el-input的v-on:input="value=val
- 在 Vue 3 中,怎么管理环境变量
&白帝&
vue3vue.js前端javascript
在Vue3中,环境变量管理是通过.env文件来进行的,利用这些文件可以让开发者根据不同的环境(开发、生产、测试等)配置不同的变量。这一机制由Vite构建工具支持,它帮助开发者根据不同的环境需求做出相应配置。1.环境变量的基本概念在前端开发中,环境变量通常用于存储配置信息、密钥、API地址等,这些信息可能会因不同的部署环境而有所不同。通过.env文件,开发者可以确保在开发环境、生产环境等不同环境下使
- Android Studio打包时不显示“Generate Signed APK”提示信息
YunFeiDong
Androidandroidstudioandroidide
AndroidStudio打包时,默认显示“GenerateSignedAPK”提示信息,如下图所示:如果在打包时不显示“GenerateSignedAPK”提示信息,解决办法是:AndroidStudio菜单栏,“File->Settings->Appearance&Behavior->Notifications”选项界面,如下图所示:勾选“Displayballoonnotifications
- android studio接口调用,Android Studio调用系统隐藏接口EthernetManager
高江Takae
androidstudio接口调用
googlesource签名文件参考:https://android.googlesource.com/platform/build/+/donut-release/target/product/security/pem转jks来实现系统签名文件:https://blog.csdn.net/cxq234843654/article/details/51557025项目需要实现以太网的管理功能,查阅
- Android Studio 打包APK方法
爱桃酥的沐晨
AndroidAndroidStudio打包apk打包
AndroidStudio是谷歌推出一个Android集成开发工具,基于IntelliJIDEA。它类似于EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。那么今天我们就来讲讲如何通过AndroidStudio打包APK文件,相信有很多用户还不是非常了解,下面通过这篇文章给大家介绍一下。前面一直使用的是out文件夹里面的那个apk文件(debug版本
- android studio flutter代理设置问题classpath 'com.android.tools.build:gradle:3.2.1'
同名公众号 - 人生代码
androidstudio安卓开发androidstudio
前提初次安装flutter,通过代理设置加快速度安装首次更新数据,但在添加设备并开始打包编译时出现classpath找不到的情况1.在初次启动IDE的时候会提示更新各种SDK包,此时一般会直接设置代理,我的系统时Ubuntu18.04,所以直接代理了本地,127.0.0.1端口10802.在编译打包的时候出现了找不到相关的包,原因是flutter三个默认配置的地方采用了Google路径的包切换ma
- 项目集成Nacos
S-X-S
javaNacos
文章目录1.环境搭建1.创建模块sunrays-common-cloud-nacos-starter2.目录结构3.pom.xml4.自动配置1.NacosAutoConfiguration.java2.spring.factories5.引入cloud模块通用依赖2.测试1.创建模块sunrays-common-cloud-nacos-starter-demo2.目录结构3.pom.xml4.a
- python从文件外部调用参数
just_easy
pythonpythonimportlist测试
python从文件外部调用参数#!/usr/bin/python#FileName:GetArgvOutside.pyif__name__=="__main__":importsysiflen(sys.argv)==1:print"needargv"else:printsys.argvforiinsys.argv:printi测试E:\>pythonGetArgvOutside.pyarg1arg
- 常用的前端4种请求方式
紫水木鱼
前端
文章目录一、GET请求1.1使用方式1.2优缺点1.3应用场景二、POST请求2.1使用方式2.2优缺点2.3应用场景三、PUT请求3.1使用方式3.2优缺点3.3应用场景四、DELETE请求4.1使用方式4.2优缺点4.3应用场景五.总结一、GET请求GET请求用于向指定资源发出请求,请求中包含了资源的URL和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态。1.1使用
- /opt安装软件,就可以使用man xx命令是为什么
翻滚吧键盘
linux运维服务器
引言以neovim的安装过程为例下载curl-LOhttps://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gzsudorm-rf/opt/nvimsudotar-C/opt-xzfnvim-linux64.tar.gz添加环境变量前,是无法使用mannvim的Thenaddthistoyourshellc
- Android Studio APK打包(签名),【大牛系列教学】
2401_84150187
程序员androidstudiojavaandroid
release版本的未签名的apk文件,在某些手机上无法安装,比如OPPOdebug版和release版的区别:debug版包含调试信息,往往没有任何优化,适合程序调试release版是发布版,供用户使用,往往进行了各种优化一、新建项目本着实践的态度,新建一个GenerateAPK项目创建完成后,你可以运行一下,运行在趁机或者虚拟机都可以二、生成Debug和Release包当你看到这个页面的时候,
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,