前言

曾几何时认为世界多么的美好,可事实上虽有美好,但糟粕也是很多的,近期我们的项目,终端系统要部署到客户那里,让人没想到的是作为国内某知名专家的项目团队几乎原样将我们的宣传材料、业务流程照搬过去,着实令人汗颜,所以对项目源码的保护必须提上日程。项目为web项目。

一、选择加密工具

经过筛选,最终选择了proguard加密工具。

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。

二、注意事项

具体的加密方法,这里不多做说明,网上资料还是很多的,可以参考一下,推荐文章:Android proguard 详解: http://blog.csdn.net/banketree/article/details/41928175 ,其实安卓与web很多地方都是差不多的。下面主要说明一下注意事项。

spring 及springmvc配置,尽可能采用注解形式,如果采用XML方式,类名方法名等将无法混淆,混淆后工程是无法启动的,实在无法改为注解的部分需要保留。

自定义listener、servlet,改为注解形式,Servlet 3.0 以上版本都是支持注解的,相信现在大家用JDK5或以前的版本没有了吧。

关于全局静态变量,可能很多JSP页面会有引用,这个需要注意放到keep class里面。

关于jpa 实体类,需要keep 保留。

参考资料

版权声明:除特殊说明,文章均为博主 久酷 原创文章,转载请注明来源

java web代码混淆_JAVA WEB 项目的代码混淆相关推荐

  1. java gui构造工具_Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具...

    1.下载jd-gui-windows-1.4.0. http://jd.benow.ca/ 2.通过jd-gui.exe查看.class文件,用于分析类编译过程. 3.源文件. // 加载相应的 He ...

  2. java web 许令波_Java Web——Web概述

    已经很久没有更新博客了,过年忙着吃喝玩乐,就怠惰了一小下下?幸好这学期新开的课程都比较有趣--Java Web和Android.至少对于我自己来说,既充满挑战,又富有趣味. --[1.Web概述]-- ...

  3. java web 打印图片_java web打印总结

    the contents you don't want to print 如果需要设置不打印区域,加入如下样式: 其实就是引用了noprint样式的控件不打印: 下面是media的相关 media类型 ...

  4. java web 监听器 例子_Java web技术应用---监听器

    监听器的定义 (专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生变化时,立即采取相应的行动) 定义:Servlet规范中定义的一种特殊的类,用于监听Servlet ...

  5. java web 初始化方法_Java Web(二) 类的初始化及初始化顺序

    1. 问题点 最近在写单例模式的时候碰到了@Autiwired注解注入为NULL的情况,研究一番,发现是和类的初始化顺序有关.先抛出我的问题: //异步处理 public class AsyncMan ...

  6. 白色flash模块代码_适用于MCU项目的代码框架BabyOS,工程师的好助手!

    来源:码云+嵌入式云IOT技术圈 一个好的代码架构直接影响项目的质量,今天为大家分享的是一个管理功能模块和外设驱动的框架:BabyOS. BabyOS是什么? BabyOS适用于MCU项目,它是一套管 ...

  7. java web 请求跟踪_java web 项目跟踪用户操作

    java web项目,就几个JSP页面,本人怎么跟踪用户什么时间点击了那个jsp页面,什么时候登录的,什么时候关闭jsp页面的,把跟踪用户的操作(基本上就上面这三个操作),存入数据库里面,什么时候干什 ...

  8. java web网上书店_java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇...

    一. 针对很多java web初学者入门困难的问题,笔者利用一个小型web项目,一步一步的展示java web开发方法,每一个章节引入一些java web开发的重点知识,让同学们可以将java web ...

  9. java jvm bind解决_java web项目启动的时候JVM_Bind,真的是tomcat端口被占用了吗?tomcat不同意...

    java web项目启动的时候JVM_Bind,真的是tomcat端口被占用了吗?tomcat不同意了 凯哥Java 凯哥java 记录帮朋友解决JVM_Bind错误. java web项目启动的时候 ...

  10. java导出excel 序号_java web将数据导出为Excel格式文件代码片段

    本文实例为大家分享了java web将数据导出为Excel格式文件的具体代码,供大家参考,具体内容如下 1.jsp代码 2.js代码 function getVerExcel() { window.l ...

最新文章

  1. break, continue, goto, return语句详解
  2. ie8恶心的bug--4个小时的教训
  3. “概率模型与计算机视觉”-林达华
  4. mysql 主从同步配置
  5. C++main函数的参数介绍以及如何在main函数前执行一段代码
  6. Llama-impala on yarn的中间协调服务
  7. matlab无法读取xls
  8. Redis数据类型:字符串
  9. POJ-10031004
  10. 如何确保分布式场景下的并发幂等性?
  11. R与Python手牵手:多格式文件导入与爬虫
  12. OFFICE2007 自编宏使用 以及 文件未找到 VBA6.DLL 错误处理
  13. X-Scan-v3.3 漏洞扫描工具使用
  14. 港股上市公司公告 API 数据接口
  15. 软件测试面试题整理(二)之测试用例集
  16. android 高度百分比,Android 屏幕适配-百分比布局适配
  17. 相似度系列8:unify-BARTSCORE: Evaluating Generated Text as Text Generation
  18. wire tox_Tox-rs的漫长旅程。 第1部分
  19. 字符串转换成对象的操作
  20. python批量发送工资条邮件

热门文章

  1. Django 1.9官方文档
  2. java学习之单件模式
  3. webstorm 配合IIS使用
  4. 解决启用GTID binlog新安装完的MySQL提示无法登录
  5. 应用chroot构建最小运行系统
  6. 【备份】golang开发环境搭建
  7. 用例子来学习正则表达式
  8. 微信小程序微商城(六):动态API实现新品特卖商品流式布局
  9. ajaxfileupload 返回值_Ajaxfileupload 上传文件后返回response的contentType错误问题
  10. C# Lamda中类似于SQL 中的 In 功能