美文网首页
2019-06-16 Java Web初探

2019-06-16 Java Web初探

作者: NoelleMu | 来源:发表于2019-06-16 23:08 被阅读0次

环境及工具

  • IDE:比较著名的有IntelliJ IDEA,eclipse,NetBeans等,这里我选择了IDEA,一个是因为用习惯了,还有一个是因为IDEA自带Java反编译,好像还挺好用的。
  • Java反编译工具:jd-gui,可以从GitHub上下载到;bytecode-viewer,也可以从GitHub下载;还有IDEA,装了个基于fernflower的反编译插件。
  • 代码编辑器:Visual Studio Code,正好微软在6月14日发布了VSCode的Java开发环境配置程序,就用它了。
  • JDK等环境:这个就不用说了。

在做Java Web代码审计的时候,一般拿到的都是class文件或者jar包。

Java的编译、运行过程

.java文件即为Java源代码,在命令行中使用javac命令进行编译时,它会被编译为字节码文件(后缀名为.class)。在执行时,字节码文件由Java虚拟机(JVM)解释并执行。

正因为Java有这样的编译和执行过程,所以它有良好的跨平台特性,也可以说Java是半编译半解释型的语言。

(不过貌似也是因为这种特性导致Java容易被反编译?)

一个简单的.java文件及其反编译后的字节码:

源码:

public class hello {
    public static void main(String []args) {
        sayHello();
    }
    private static void sayHello() {
        System.out.println("Hello, World!");
    }
}

字节码(使用IDEA反编译)

将它打成jar包

使用jd-gui反编译同样能看到与反编译后的字节码类似的代码:

Java Web

Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。

(转载自百度百科)

JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。

(转载自百度百科)

Java EE

Java EE(Java Platform,Enterprise Edition)以前称为 J2EE,主要用来开发服务器端 Java应用程序。

Servlet

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

(转载自百度百科)

Java Web分层思想

常见的Java Web项目分层:

视图层(View 视图)

控制层(Controller、Action 控制层)

服务层(Service)

业务逻辑层BO(business object)

实体层(entity 实体对象、VO(value object) 值对象 、模型层(bean)。

持久层(dao- Data Access Object 数据访问层、PO(persistant object) 持久对象)

相关文章

网友评论

      本文标题:2019-06-16 Java Web初探

      本文链接:https://www.haomeiwen.com/subject/ywsnfctx.html