Home | 简体中文 | 繁体中文 | 杂文 | Search | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | 作品与服务 | Email

Netkiller Java 手札

Java, Servlet, JavaBean, Struts, Spring ...

Mr. Neo Chan, 陈景峯(BG7NYT)


中国广东省深圳市龙华新区民治街道溪山美地
518131
+86 13113668890


文档始创于2015-11-10

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

文档出处:
http://netkiller.github.io
http://netkiller.sourceforge.net

微信扫描二维码进入 Netkiller 微信订阅号

QQ群:128659835 请注明“读者”

$Date: 2013-04-10 15:03:49 +0800 (Wed, 10 Apr 2013) $

关于《Netkiller Java 手札》

作者2002年开始在项目中使用Java,各种原因没有留下Java文档,2015因工作需要重新拾起Java并整理本文档。

我的系列文档

网络设备及其他

Netkiller Network 手札 Netkiller Cisco IOS 手札 Netkiller H3C 手札 Netkiller Amateur Radio 手札   

您可以使用 iBook 阅读当前文档


目录

1. 自述
1.1. 系列文档
1.2. 作者简介
1.3. 写给读者
1.4. 文档下载
1. Java
1.1. JVM
1.1.1. 安装 Java 6
1.1.1.1. HeapDumpOnOutOfMemoryError
1.1.2. java-1.8.0-openjdk
1.1.3. java - Launches a Java application.
1.1.3.1. -verbose:class 显示载入jar文件
1.1.3.2. java.io.tmpdir
1.1.4. jdeps - Java class dependency analyzer.
1.2. System
1.2.1. user.dir
1.2.2. java.io.tmpdir
1.2.3. 自定义
1.3. exec 运行shell
1.4. 类型
1.4.1. String
1.4.1.1. 随机字符串
1.4.1.2. 字符串替换处理
1.4.1.3. substring
1.4.1.4. string to timestamp
1.4.2. 类型转换
1.4.2.1. Long to String
1.4.3. Date
1.4.3.1. SimpleDateFormat
1.4.3.2. Timestamp
1.4.3.3. TimeZone
1.4.3.4. String to Date
1.4.3.5. 比较两个日期与时间
1.4.3.6. Calendar
1.4.4. Array
1.4.4.1. for each
1.4.4.2. Array to String
1.4.5. float
1.4.6. double
1.5. 数据结构
1.5.1. Collection
1.5.2. ArrayList
1.5.2.1. ArrayList to String
1.5.2.2. Array to List
1.5.3. HashMap
1.6. Network
1.6.1. URL
1.6.2. java.io.tmpdir
1.7. JDBC
1.7.1. 安装 JDBC 包
1.7.2. MySQL
1.7.3. Oracle
1.7.3.1. SID
1.7.3.2. SERVICE_NAME
1.7.3.3. TNS
1.7.3.4. Oracle RAC Cluster
1.7.3.5. Oracle JDBC Demo
1.7.4. FAQ
1.7.4.1. java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
1.7.4.2. Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
1.8. Util
1.8.1. *.properties
1.8.1.1. propertyNames()
1.8.1.2. keySet()
1.8.1.3. entrySet()
1.8.1.4. 方法中返回 Properties
1.8.1.5.
1.8.1.6. getResourceAsStream()
1.8.1.7. store
1.8.2. Logging
1.8.2.1. console
1.8.3. BASE64
1.9. Reflection 反射
1.9.1. 获得所有变量
1.9.2. 批量赋值
1.9.3. 方法操作
1.9.3.1. 获得所有方法
1.9.3.2. set/get 方法
1.9.3.3. static 方法调用
2. Build Tools
2.1. Apache Ant
2.1.1. Project
2.1.1.1. property
2.1.1.2. ant
2.1.1.3. environment
2.1.2. path
2.1.3. copy
2.1.4. javac
2.1.5. condition
2.1.6. exec
2.1.6.1. sshexec
2.1.7. if
2.1.8. macrodef
2.1.8.1. Git
2.1.8.2. Rsync
2.1.8.3. SSH
2.1.8.4. maven
2.1.9. Javascript
2.1.10. FAQ
2.1.10.1. warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
2.2. Apache Ivy
2.2.1. Ivy Install
2.2.1.1. source code
2.2.1.2. apt-get
2.2.2. Test example
2.3. maven
2.3.1. 安装
2.3.1.1. Ubuntu
2.3.1.2. 源码安装
2.3.2. Maven 仓库
2.3.3. pom.xml
2.3.3.1. properties
2.3.3.2. dependencies
2.3.3.3. build
2.3.3.4. plugins
2.3.4. Maven 命令
2.3.4.1. clean
2.3.4.2. compile
2.3.4.3. test
2.3.4.4. package
2.3.4.5. install
2.3.4.6. war
2.3.4.7. exec
2.3.5. dependency
2.3.5.1. build-classpath
2.3.5.2. dependency:tree 显示包依赖树
2.3.5.3. copy-dependencies 导出依赖包
2.3.5.4. analyze 查看未被使用的包
2.3.5.5. sources 下载源码
2.3.6. help
2.3.7. resources 文件处理
2.3.8. plugins
2.3.8.1. maven-antrun-plugin
2.4. Gradle
2.4.1. gradle 命令
2.4.1.1. tasks 列出任务
2.4.2. build.gradle
2.4.2.1. repositories
2.4.2.2. dependencies
2.4.2.3. jar
2.4.3. gradle.properties
2.4.3.1. 列出 properties
2.4.3.2. 自定义 gradle.properties
2.4.3.3.
2.4.3.4. System.properties
2.4.4. Example
3. Servlet
3.1. Example
3.2. Session
3.3. HttpServletRequest
3.4. Filter
3.4.1. web.xml
3.4.2. Filter 类
3.5. Listener
3.5.1. web.xml
3.5.2. NewsListener 类
3.5.3. NewsTask 类
3.5.4. JSP 中心显示
3.6. JSP
3.6.1. 注释
3.6.2. pageContext
3.6.2.1. queryString
3.6.3. request
3.6.3.1. Form
3.6.4.
3.6.4.1. sendRedirect
3.6.5. page
3.6.5.1. Session
3.6.6. trimDirectiveWhitespaces
3.6.7. include
3.6.8. jsp
3.6.8.1. jsp:forward
3.6.9. error-page
3.6.10. FAQ
3.6.10.1. http://www.netkiller.cn/test.html;jsessionid=7D25CE666FF437F2094AA945E97CEB37
3.7. JSTL(JavaServer Pages Standard Tag Library)
3.7.1. c:set
3.7.2. c:out
3.7.3. c:url
3.7.4. c:remove
3.7.5. c:import
3.7.6. c:if
3.7.7. c:choose
3.7.8. c:forEach
3.7.8.1. List 处理
3.7.8.2. Map 处理
3.7.9. JSTL fmt Tag setBundle Example
3.7.9.1. fmt:message
3.7.9.2.
3.8. WebSocket
3.8.1. Server
3.8.2. Client
I. Spring Framework
4. Spring Tool Suite
4.1. 安装
4.2. Dashboard
5. Spring Boot
5.1. Spring Boot Quick start
5.1.1. pom.xml
5.1.2. Controller
5.2. 运行
5.2.1. Linux systemd
5.3. application.properties
5.3.1. server
5.3.2. charset
5.3.3. JSON
5.3.4. SMTP 相关配置
5.4. SpringApplication
5.4.1. @SpringBootApplication
5.4.2. @EnableAutoConfiguration
5.4.3. @ComponentScan
5.4.4. CharacterEncodingFilter
5.4.5. 隐藏 Banner
5.4.6. CORS 跨域请求
5.4.7. 列出 Beans
5.5. 编译用于Tomcat的 War
5.6. Properties
5.6.1. Application
5.6.2. spring.profiles.active 参数切换配置文件
5.7. Service
5.8. ViewResolver
5.8.1. application.properties
5.8.2. Application
5.8.3. IndexController
5.8.4. src/main/webapp/WEB-INF/jsp/index.jsp
5.8.5. 集成模板引擎
5.9. Spring boot mongodb
5.9.1. Maven
5.9.2. Application
5.9.3. MongoTemplate
5.9.4. Repository
5.10. Spring boot with MySQL
5.10.1. Maven
5.10.2. Resource
5.10.3. Application
5.10.4. JdbcTemplate
5.10.5. CrudRepository
5.11. Spring boot with Oracle
5.11.1. Maven
5.11.2. application.properties
5.11.3. Application
5.11.4. CrudRepository
5.11.5. JdbcTemplate
5.11.6. Controller
5.12. Spring boot with Email
5.12.1. Maven
5.12.2. Resource
5.12.3. POJO
5.12.4. RestController
5.12.5. Test
5.13. Spring boot with Velocity template
5.13.1. Maven
5.13.2. Resource
5.13.3. Application
5.13.4. RestController
5.13.5. Test
5.14. Logging
5.14.1. 禁止控制台输出日志
5.14.2. 日志输出级别
5.15. Spring boot with Spring security
5.15.1. Maven
5.15.2. Reource
5.15.3. Application
5.15.4. WebSecurityConfigurer
5.15.5. RestController
5.15.6. 测试
5.15.7. Spring + Security + MongoDB
5.16. Connection and Statement Pooling
5.16.1. org.apache.tomcat.jdbc.pool.DataSource
5.16.2. druid
5.16.3. c3p0 - JDBC3 Connection and Statement Pooling
5.16.4. dbcp2
5.16.5. bonecp
5.16.6. dbcp2
5.17. Spring boot with Scheduling
5.17.1. Application.java
5.17.2. Component
5.17.3. 查看日志
5.18. Spring boot with Cache
5.18.1. Spring boot with Redis
5.18.2. @Cacheable
5.19. Session
5.19.1. Redis
5.19.2. 测试 Session
5.19.3. JDBC
5.20. FAQ
5.20.1. application.properties 参考
5.20.2. org.hibernate.dialect.Oracle10gDialect does not support identity key generation
5.20.3. No identifier specified for entity
5.20.4. Could not read document: Invalid UTF-8 middle byte 0xd0
5.20.5. java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
5.20.6. Field javaMailSender in cn.netkiller.rest.EmailRestController required a bean of type 'org.springframework.mail.javamail.JavaMailSender' that could not be found.
6. Spring MVC
6.1. Maven
6.2. Spring Boot Quick start
6.2.1. pom.xml
6.2.2. Controller
6.3. Spring MVC configuration
6.4. Tomcat
6.5. Thymeleaf
6.5.1. Maven pom.xml
6.5.2. Spring 配置
6.5.3. controller
6.5.4. HTML5 Template
6.6. 集成 Mybatis
6.6.1. pom.xml
6.6.2. properties
6.6.3. dataSource
6.6.4. SqlSessionFactory
6.6.5. Mapper 扫描
6.6.6. Mapper 单一class映射
6.6.7. Service
6.6.8. 测试实例
6.7. Properties
6.7.1. 载入*.properties文件
6.7.2. @Value 注解
6.7.3. @PropertySource 注解
6.8. @Controller
6.8.1. @RequestMapping
6.8.2. @ResponseBody
6.8.3. RequestMapping with Path Variables - @PathVariable
6.8.4. RequestMapping with Request Parameters - @RequestParam
6.8.5. @ModelAttribute
6.8.6. ModelAndView
6.8.7. @Scheduled
6.8.8. HttpServletRequest / HttpServletResponse
6.9. Spring4 Restful
6.9.1. pom.xml
6.9.2. web.xml
6.9.3. springframework.xml
6.9.4. RestController
6.9.5. POJO
6.9.6. 测试
6.9.7. RestTemplate
6.9.8. HTTP Auth
6.10. Using Spring’s form tag library
6.10.1. css
6.10.2. cssClass
6.11. FreeMarker
6.12. FAQ
6.12.1. o.s.web.servlet.PageNotFound
6.12.2. HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
6.12.3. 同时使用 Thymeleaf 与 JSP
6.12.4. 排除静态内容
6.12.5. HTTP Status 406
7. Spring Data
7.1. JdbcTemplate
7.1.1. execute
7.1.2. queryForInt
7.1.3. queryForObject
7.1.4. queryForList
7.2. Example
7.2.1. Redis
7.2.2. Spring Data MongoDB
7.3. MongoRepository
7.3.1. findAll()
7.3.2. deleteAll()
7.3.3. save()
7.3.4. count()
7.3.5. PageRequest
7.4. @Entity
7.4.1. @NotNull 不能为空声明
7.4.2. 处理日期时间
7.5. Query
7.6. FAQ
7.6.1. No identifier specified for entity
7.6.2. Oracle Date 类型显示日期和时间
8. Spring Security
8.1. EnableWebSecurity
8.1.1. 访问控制列表(Access Control List,ACL)
8.1.2. HTTP Auth
8.1.3. Rest
8.1.4.
8.1.5. Add User
8.2.
8.3.
9. MyBatis
9.1. Mybatis 入门
9.2. 接口注解
10. Apache Struts
10.1. struts.xml
10.1.1. include
10.2. Struts Tags
10.2.1. property
10.2.2. set
10.2.3. url
10.2.4. s:include
10.2.5. s:action
10.2.6. HTML Form
10.2.6.1. form
10.2.6.2. textfield
10.2.6.3. s:hidden
10.2.6.4. select
10.2.7. iterator
10.2.8. if elseif else
10.3. Action
10.3.1. redirect
10.3.2. redirectAction
10.3.3. JSON
10.3.3.1. enableGZIP 压缩传输
10.3.3.2. excludeProperties 排除 Properties
10.3.3.3.
10.3.4. 传递 Timestamp 变量
10.4. Ajax + JSON
10.4.1. GET/POST JSON
10.5. Json 内容展示
10.5.1. 禁止方法
10.5.2. 格式化日期
10.5.3. 重命名变量名
10.5.4. org.apache.struts2.json
10.6. Interceptor
10.6.1. Session
10.7. Action 中使用线程
10.8. FAQ
10.8.1. Struts 怎样判断用户来自电脑还是移动设备
11. Apache Tiles
11.1. 配置 Tiles
11.1.1. Maven
11.1.2. web.xml
11.2. Template 配置模板
11.3. Struts tiles
12. Play
13. Log
13.1. Logback
13.2. slf4j
13.3. log4j
13.3.1. 安装 Log4j
13.3.1.1. 手工安装
13.3.1.2. Maven
13.3.2. log4j 环境变量
13.3.3. Log4j Example
13.3.4. log4j.properties
14. java 脚本引擎
14.1. Maven
14.2. Helloworld
14.3. 运行脚本文件
14.4. 变量传递
14.5. 全局变量与局部变量定义
14.6. 调用脚本中的函数或方法
14.7. 脚本编译
14.8. jjs - Invokes the Nashorn engine.
15. JSON (JavaScript Object Notation)
15.1. javax.json.*
15.1.1. Json 编码
15.1.2. Json 解码
15.1.3. URL获取Json
15.2. com.google.gson
15.2.1. map 处理
15.2.2. POJO
15.2.3. toJson
15.2.4. fromJson
15.2.5. JsonParser
16. AMQP(Advanced Message Queuing Protocol)
16.1. Send and Recv
16.2. direct
17. NoSQL
17.1. MongoDB
17.1.1. pom.xml
17.1.2. 插入操作
17.1.3. 读取操作
18. Jersey - RESTful Web Services in Java.
18.1. Client
18.1.1. Maven 版本
18.1.2. GET 操作
18.1.3. GET + Auth 用户认证
19. Apache HttpComponents
19.1. Apache HttpClient
19.1.1. Maven
19.1.2. POST to Restfull
19.1.3. HTTPS
19.1.3.1. Get https 接口
19.1.3.2. POST json 数据
19.1.4. Host name 'api.netkiller.cn' does not match the certificate subject provided
20. Cache
20.1. java memcached client
20.2. Jedis
20.2.1. 认证
20.2.2. jedis.keys
20.3. Ehcache
21. Software Development Kit
21.1. Hessian
21.2. quartz-scheduler
21.3. Redisson
II. Search Engine
22. Solr
22.1. 安装
22.2. Core Admin
22.2.1. Schema
22.3. 索引
22.3.1. Indexing a directory of "rich" files
22.3.2. Indexing Solr XML
22.3.3. Indexing JSON
22.3.4. Deleting Data
22.4. 接口
22.4.1. 查询
22.5. FAQ
22.5.1. NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.
22.6. Solr 1.3.0
22.6.1. Embedded Jetty
22.6.2. Jetty
22.6.3. Tomcat
22.6.4. solr-php-client
22.6.5. multicore
22.6.6. 中文分词
23. Elasticsearch
23.1. 安装 Elasticsearch
23.1.1. RPM 安装
23.1.2. YUM 安装
23.1.3. 测试安装是否正常
23.2. 文档API
23.2.1. 快速上手
23.2.2. 写入 PUT/POST
23.2.3. 获取 GET
23.2.4. 检查记录是否存在
23.2.5. 删除 Delete
23.2.6. 参数
23.3. 搜索
23.3.1. 分页
23.3.2. 字符串搜索
23.3.3. Query DSL
23.4. Plugin 插件管理
23.4.1. 手工安装插件
23.4.2. plugin 命令
23.4.3. 插件测试
23.5. 映射
23.5.1. 查看 _mapping
23.5.2. 删除 _mapping
23.5.3. 创建 _mapping
23.5.4. 修改 _mapping
23.5.5. 数据类型
23.6. Alias management 别名管理
23.6.1. 查看索引别名
23.6.2. 创建索引别名
23.6.3. 修改别名
23.6.4. 删除别名
23.7. Example
23.7.1. 新闻资讯应用案例
23.8. FAQ
23.8.1. Plugin [analysis-ik] is incompatible with Elasticsearch [2.3.5]. Was designed for version [2.3.4]
23.8.2. mapper_parsing_exception: failed to parse [ctime]
24. Nutch
25. Sphinx
26. Lucene
27. MG4J
28. PhpDig
29. Mahout

范例清单

1.1. /etc/profile.d/java.sh
2.1. Maven properties
5.1. Example Spring boot with Oracle
5.2. Spring boot with Email (pom.xml)
5.3. Spring boot with Velocity template (pom.xml)
5.4. RedisTemplate
6.1. MyBatis
7.1. Spring Data Redis Example
7.2. Spring Data MongoDB - springframework-servlet.xml
20.1. memcached.java
22.1. Solr - schema.xml
22.2. /etc/profile.d/java.sh
comments powered by Disqus