如何快速读懂项目源码javaWeb

如何快速读懂项目源码javaWeb,第1张

一:学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml->mvc->db->spring

ioc->log->代码

1、先了解项目数据库的表结构,这个方面是最容易忘记 的,有时候我们只顾着看每一个方法是怎么进行的,却没

有去了解数据库之间的主外键关联。其实如果先了解数据 库表结构,再去看一个方法的实现会更加容易。

2、然后需要过一遍web.xml,知道项目中用到了什么拦

截器,监听器,过滤器,拥有哪些配置文件。如果是拦截 器,一般负责过滤请求,进行AOP 等如果是监 可能是定时任务,初始化任务配置文件有如使用了 spring

后的读取mvc 相关,db 相关,service 相关,aop 相关的文件。

3、查看拦截器,监听器代码,知道拦截了什么请求,这

个类完成了怎样的工作。有的人就是因为缺少了这一步, 自己写了一个action,配置文件也没有写错,但是却怎么

调试也无法进入这个action,直到别人告诉他,请求被拦

4、接下来,看配置文件,首先一定是mvc相关的,如 springmvc

中,要请求哪些请求是静态资源,使用了哪些 view 策略,controller 注解放在哪个包下等。 然后是db 相关配置文件,看使用了什么数据库,使用了

什么orm框架,是否开启了二级缓存,使用哪种产品作 为二级缓存,事务管理的处理,需要扫描的实体类放在什 么位置。最后是spring 核心的ioc

功能相关的配置文件, 知道接口与具体类的注入大致是怎样的。当然还有一些如 apectj 置文件,也是在这个步骤中完成

5、log

相关文件,日志的各个级别是如何处理的,在哪些 地方使用了log 记录日志

6、从上面几点后知道了整个开源项目的整体框架,阅读 每个方法就不再那么难了。

7、当然如果有项目配套的开发文档也是要阅读的。

package me.gacl.main

import java.util.Properties

import javax.mail.Message

import javax.mail.Session

import javax.mail.Transport

import javax.mail.internet.InternetAddress

import javax.mail.internet.MimeMessage

public class Sendmail {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

Properties prop = new Properties()

prop.setProperty("mail.host", "smtp.sohu.com")

prop.setProperty("mail.transport.protocol", "smtp")

prop.setProperty("mail.smtp.auth", "true")

//使用JavaMail发送邮件的5个步骤

//1、创建session

Session session = Session.getInstance(prop)

//开启Session的debug模式,这样就可以查看到程序发送Email的运行状态

session.setDebug(true)

//2、通过session得到transport对象

Transport ts = session.getTransport()

//3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。

ts.connect("smtp.sohu.com", "gacl", "邮箱密码")

//4、创建邮件

Message message = createSimpleMail(session)

//5、发送邮件

ts.sendMessage(message, message.getAllRecipients())

ts.close()

}

/**

* @Method: createSimpleMail

* @Description: 创建一封只包含文本的邮件

* @param session

* @return

* @throws Exception

*/

public static MimeMessage createSimpleMail(Session session)

throws Exception {

//创建邮件对象

MimeMessage message = new MimeMessage(session)

//指明邮件的发件人

message.setFrom(new InternetAddress("gacl@sohu.com"))

//指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发

message.setRecipient(Message.RecipientType.TO, new InternetAddress("gacl@sohu.com"))

//邮件的标题

message.setSubject("只包含文本的简单邮件")

//邮件的文本内容

message.setContent("你好啊!", "text/htmlcharset=UTF-8")

//返回创建好的邮件对象

return message

}

}

Java程序的源代码很容易被别人偷看,只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情况下,通过加密技术保护源代码。

一、为什么要加密?

对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取,但与此同时,它也使通过加密保护代码变得相对容易,我们唯一需要了解的就是Java的ClassLoader对象。当然,在加密过程中,有关Java Cryptography Extension(JCE)的知识也是必不可少的。

有几种技术可以“模糊”Java类文件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难事,所以不能简单地依赖模糊技术来保证源代码的安全。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8140214.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存