- SpringMVC访问路径正确但是一直报404问题
JadeHanLiang
框架Spring框架404错误
SpringMVC访问路径正确但是一直报404问题环境:eclipse霓虹灯版+jdk1.8+Tomcat9+jar是4.16版本目录结构如下:web.xml中的配置如下:springmvc-servlet.xml配置如下:hello.jsp页面部分代码访问路径:页面报错,jQuery路径找不到
- npm ERR! 安装依赖 errno: -4048,解决办法:
一条没有感情的鱼
vuevuenpm
1、最有效的解决办法:删除node_modules包重新下载依赖2、npmERR!codeEPERMnpmERR!syscallunlinknpmERR!pathD:\demo\vue\vuerobot\node_modules\core-js\internalsnpmERR!errno-4048npmERR!Error:EPERM:operationnotpermitted,unlink'D:\
- ajax和fetch哪个好,axios和ajax,fetch的区别
weixin_39547596
ajax和fetch哪个好
1,传统Ajax指的是XMLHttpRequest(XHR),最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱。JQueryajax是对原生XHR的封装,除此以外还增添了对JSONP的支持。经过多年的更新维护,真的已经是非常的方便了,优点无需多言;如果是硬要举出几个缺点,那可能只有:1.本身是针对MVC的编程,
- axios jquery.ajax fetch 区别
大大大石頭
JavaScriptajaxfetchaxios
最近项目在用axios,好像出现好久了,才开始学习。这三个都是发起http请求的东西,都算是对原生XHR的封装。从XHR->Jqueryajax()->fetch->axios现在来分别看一下这三个东西Jqueryajax它是对原生XHR的封装,支持JsonP,是MVC编程的一种请求方式,已经逐渐的不适应前端的MVVM框架的潮流了。而且,在项目中使用的时候,要使用ajax,就得把jquery都引进
- Jquery ajax 、axios、Fetch 区别
Ideaing~
1.Jqueryajax$.ajax({type:'POST',url:url,data:data,success:function(){},error:function(){}})Jqueryajax是对原生XHR的封装,此外还增添了对Jsonp的支持。缺点:针对MVC,不适合MVVMJquery整个项目太大,就只为引入ajax引入jquery很不合理2axiosaxios是Promise实现对
- SpringMVC--Converter(类型转换器)详解
吴声子夜歌
SpringMVCSpringMVCConverter
SpringMVCConverterSpringMVC框架的Converter是一个可以将一种数据类型转换成另一种数据类型的接口,这里S表示源类型,T表示目标类型。开发者在实际应用中使用框架内置的类型转换器基本上就够了,但有时需要编写具有特定功能的类型转换器。内置的类型转换器在SpringMVC框架中,对于常用的数据类型,开发者无须创建自己的类型转换器,因为SpringMVC框架有许多内置的类型转
- 5G NR CORESET
cuisidong1997
5G
先说个引子热场,对于无线接入网这部分来说,绝大多数情况下终端是从属于网络的,而PDCCH则是数据调度指挥的核心,也就是上下行的调度指令都是通过PDCCH下发给终端的,如果UE无法解码并获得PDCCH中携带的DCI信息,那么无论无线环境如何,UE都无法知道PDSCH/PUSCH的DL/ULgrant信息,也因此整个RAN侧的数据处理流程就会脱节。因此,最低要求是使UE应该能够解码PDCCH并得到PD
- CentOS8+MySQL8.0.26+Skywalking9.7.0数据清理机制
xiaozhanfeng
skywalking
(01)application.ymlcore:selector:${SW_CORE:default}default:#Mixed:Receiveagentdata,Level1aggregate,Level2aggregate#Receiver:Receiveagentdata,Level1aggregate#Aggregator:Level2aggregaterole:${SW_CORE_RO
- 使用阿里的EasyExcel导入数据
今天不学习明天变拉吉
java
工作遇到一种情况,在导入excel的时候数量过多,导致占用内存太大最终OOM.为了避免这样的情况再次出现,更换easyPoi为EasyExcel,它是一行一行读,非常节省内存且快速.首先依赖com.alibabaeasyexcel-core3.2.1然后java对象,注意该java对象的顺序要跟excel的列顺序完全一一对应,不需要@Excel注解,该注解是之前easyPoi的遗留,我删除了一些无
- 【ERPNext】Frappe、Bench、Bench CLI、 ERPNext、Desk
烟话6
python
文章目录Frappe:Bench:BenchCLI:ERPNext:Desk:Frappe:提示:就是一个开源的Web应用程序框架Frappe是一个开源的Web应用程序框架,用于构建数据驱动的应用。它的核心特点包括:MVC架构:Frappe基于模型-视图-控制器(MVC)架构,使代码结构清晰,便于维护和扩展。集成数据库:Frappe使用MariaDB/MySQL作为后端数据库,并提供ORM(对象关
- 应用程序启动配置方式
冰冰在努力
企业级技术c#asp.net架构.net学习
一、速通一图流二、AppStartup启动总结AppStartup是Furion框架中一种更加灵活的应用程序启动配置方式,它取代了传统的ASP.NETCoreStartup类,使得应用配置更易于管理和扩展。1.Startup类(传统方式).NET5的启动方式:通过Program.cs中的UseStartup()方法指定启动类。Startup类包含两个主要方法:ConfigureServices(I
- Spring学习笔记——开篇
weixin_30699741
整体架构Spring核心容器Beans包含访问配置文件,通过Spring容器创建和管理Bean,进行依赖注入和控制反转操作相关所有类。Core包含Spring框架的基本核心工具类,Spring其它组件均需要使用该包,是其它组件的基本核心。Context为Spring核心提供扩展,能够找到使用SpringApplicationContext特性时需要的所有类;JNDI特性时需要的所有类;UI方面模板
- JAVA Web学习(20)___第14章Struts2基础
岁月静好浅笑安然
第14章Struts2基础14.1Struts2概述14.1.1理解MVC原理14.1.2Struts2框架的产生14.1.3Struts2的结构体系14.2Struts2入门14.2.1Struts2的获取与放置开发struts项目必须添加的类库文件名称说明struts2-core-2.5.20.jarStruts2的核心类库xwork-core-2.1.6.jarXworkd的核心类库ognl
- SpringMVC 的 拦截器
春哥的魔法书
SpringSpringBootSpringMVCInterceptor拦截器
SpringMVC提供了一套拦截器(Interceptor)机制,主要用于处理Web请求到达控制器之前或响应离开控制器之后执行一些操作。拦截器可以用于执行预处理(如验证用户身份)和后处理(如清理资源或修改响应)。拦截器可以用来执行一系列的任务,如身份验证、权限检查、请求/响应处理、日志记录等。1.Handler拦截器Handler拦截器是SpringMVC中最常见的拦截器类型。Handler拦截器
- servlet中的过滤器filter 和 SpringMVC中的拦截器interceptor 两者的异同
HPU-haolemei
JavaSpringMVCinterceptor拦截器SpringMVCservletinterceptorfilter
今天被这个问题困扰了将近一个小时:将在SpringMVC的核心配置文件中配置的“释放静态资源”(配置标签为:)的根本原因误以为是因为释放拦截器interceptor拦截的资源,经过不断地查资料和测试,也更深刻地理解两者的异同:两者之间的相似点:都可用于对处理器进行预处理和后处理;两者之间的不同点:1、使用范围:过滤器filter:是servlet中的三大组件之一,任何Javaweb工程都可以使用;
- SpringMVC拦截器 和servlet过滤器 的使用
AUTO_K
springMVCspringjava后端
servlet过滤器1.什么是过滤器过滤器实际上就是对web资源进⾏拦截,做⼀些处理后再交给下⼀个过滤器或servlet处理,通常都是⽤来拦截request进⾏处理的,也可以对返回的response进⾏拦截处理,可以同时设置多个过滤器。过滤器依赖于servlet,一个过滤器可以加在多个servlet上,(多个过滤器也可以加在一个servlet上)2.过滤器的语法格式实现Javax.serlvet.
- Java面试八股文(2023最新)--Spring面试题
月月崽
面试javaspring面试
目录1.什么是Spring框架?2.Spring,SpringMVC,SpringBoot之间的关系?3.使用Spring框架的好处是什么?4.核心容器(ApplicationContext)应用上下文模块5.BeanFactory-BeanFactory实现举例6.IOC是什么?7.IOC有什么用?优点是什么?8.什么是AOP?9.为什么叫面向切面编程?10.什么是SpringBeans?11.
- servlet的过滤器filter和springmvc的拦截器Interceptor
后台技术汇
servlet
背景Servlet的过滤器(Filter)和SpringMVC的拦截器(Interceptor)都是用于在请求处理过程中对请求进行拦截和处理的组件。它们之间的主要区别在于它们的作用范围和使用方式。作用范围Filter:过滤器是基于Servlet规范的,它可以在整个Web应用程序中对所有请求进行拦截和处理。过滤器可以用于处理诸如身份验证、日志记录、数据压缩等通用任务。Interceptor:拦截器是
- package.json中对peerDependencies的理解
陌上烟雨寒
前端
peerDependencies只要是用来限制依赖的,最近在开发的时候有遇到这样的问题,所以研究了一下"peerDependencies":{"@vue/composition-api":"^1.0.5","@vue/runtime-core":"^3.0.0","echarts":"^5.4.1","vue":"^2.6.12||^3.1.1"},这张图片展示的是vue-echarts的pack
- SQL -- distinct 函数的用法
xingchensuiyue
MySQLmysqlsql数据库
文章目录1SQL中distinct的用法1.1作用于单列1.2作用于多列1.3COUNT统计1SQL中distinct的用法先准备一张具有重复分数的单表scoresidnamescore1张三882李四913王二884赵五945周一916吴八961.1作用于单列#DISTINCT查询单个字段SELECTDISTINCTscoreFROM`scores`;查询结果:score889194961.2作
- 【自用14.19】C++俄罗斯方块
.远_
Pro学习笔记C++c++java算法
该系列文章会根据项目的编写步骤来出由于设备问题,暂时出的代码是未进行运行检验的,后期会补上运行后的版本设计消除功能-check函数实现#include//C语言形式的输入输出#include//图形库的头文件#include#include//kbhit()intscore=0;//总分intrank=0;//等级#defineBLOCK_COUNT5#defineBLOCK_WIDTH5#def
- Android 12.0 App全屏时通过系统属性控制上划下拉是否显示虚拟导航栏和状态栏
VaporRuby
android
遇到问题厂测App触摸屏测试,需要全屏显示,禁止出现状态栏和导航栏,以免影响测试。参考资料https://zhuanlan.zhihu.com/p/440810585Android12系统源码_SystemUI(九)WindowInsetsController源码解析-CSDN博客解决方案1、framework修改点+++b/frameworks/base/services/core/java/c
- android11 状态栏导航栏控制显示隐藏
Optimus●Prime
androidframeworks状态栏控制statusbarnavigationbar导航栏控制
目录1.添加Intent广播2.设置全局KEY3.设置默认开关4.配置默认状态保存5.状态栏关闭时禁止下拉6.根据默认值设置显示隐藏7.配置广播控制8.使用方式通过自定义广播的形式将系统的状态栏,导航栏显示隐藏,分别控制,也可以在配置文件中默认设置显示隐藏。(效果图)1.添加Intent广播frameworks/base/core/java/android/content/Intent.java
- opencv学习(十一)之绘图函数
梧桐栖鸦
OpenCV基础opencv2/3基础教程opencv直线circleellipsefillpolyopencv绘图函数
opencv中提供了很多绘图函数,在进行图像处理,对感兴趣区域进行标定时,就需要利用这些绘图函数。现在集中做一个归纳介绍。1.PointPoint常用来指定一幅二维图像中的点。如Pointpt;pt.x=10;pt.y=8;或Pointpt=Point(10,8);其指向的是在图像中(10,8)位置的一个像素点。查找Point引用可以在”core.hpp”文件发现如下语句:typedefPoint
- Android12 添加设置控制导航栏显示和状态栏下拉
framework-coder
Android12系统修改与定制panelbarnavigationbar
添加key值位置:frameworks/base/core/java/android/provider/Settings.java/***Controlnavigationbarenabled*/@Readable@SuppressLint("NoSettingsProvider")publicstaticfinalStringNAVIGATIONBAR_ENABLED="navigationba
- MySQL数据库锁、MVCC与事务隔离级别的关系
join_a922
上一篇文章中讲了MySQL的事务隔离级别(mysql数据库事务的隔离级别),有个问题一直困扰了自己很长时间,MySQL的默认事务隔离级别(REPEATBLE-READ)个人理解通过MVCC就可以很好的实现,那MySQL的锁在RR隔离中起了什么作用?这段时间一直在翻查《高性能MySQL》和《MySQL技术内幕:Innodb存储引擎》两本书,有了一个基本的结论,写下来跟大家分享下,理解不到位的地方还请
- SpringMVC 的组件与基本使用
康康峰
SpringMVC源码解析springmvcjava后端
2.4SpringMVC对视图的支持2.4.1视图查找解析SpringMVC提供了ViewResolver接口用以通过视图名查找并解析视图。该接口有resolveViewName方法,返回View视图。接受String类型的视图名,以该视图名进行查找。还有Locale类型的地区参数,用于进行国际化。SpringMVC的控制器中支持多个ViewResolver,查找视图时进行遍历查找,直到找到相应的
- Spring MVC 的基本组件与使用
康康峰
SpringMVC源码解析springmvcjava
2.2SpringMVC对控制器的支持2.2.3处理器执行(常见的三种Handler)1.HttpRequestHandler这是一种比较简单的Handler,HttpRequestHandler接口只有一个handleRequest方法,传入HttpServletRequest和HttpServletResponse两个参数,没有返回值。这种Handler只为处理简单的HTTP请求,其中不涉及复
- SpringBoot+Vue疫苗接种管理系统 预约接种疫苗管理系统 疫苗接种查询系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SpringBoot(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆.png前端页面功能:首页、疫苗信息、健康科普、疫苗资讯、个人中心、后台管理、咨询服
- 转载:ASP.NET MVC+Layui数据分页的实现和说明
djk8888
asp.netlayui后端
原文地址:http://blog.csdn.net/qq_42077395/article/details/104667506带查询条件:http://blog.csdn.net/weixin_42128648/article/details/129611274
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http