精华内容
下载资源
问答
  • 提示:文章写完后,目录可以自动生成,...我们在使用jsp开发web网站时,我们知道jsp页面经过服务器的编译之后生成了对应的java类文件和字节码class文件哪里查看它们呢?本文就教大家学会查看jsp编译之后生成的java

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    我们在使用jsp开发web网站时,我们知道jsp页面经过服务器的编译之后生成了对应的java类文件和字节码class文件,在哪里查看它们呢?本文就教大家学会查看jsp编译之后生成的java类文件,一起来学习吧!


    一、使用步骤

    1.在项目上右键,“Run as”->“Run config”

    在这里插入图片描述

    2.切换到Arguments选项卡

    在这里插入图片描述

    3.复制如图所示的路径,并粘贴到我的电脑中

    在这里插入图片描述
    在这里插入图片描述

    4.进入work目录,并一直打开,直到看到相对应的.java格式文件为止。

    在这里插入图片描述
    在这里插入图片描述
    上图中的.java文件就是jsp文件通过服务器转化之后生成的类文件,.class文件是类文件经过编译生成的字节码文件,打开类文件,我们看看,如下图
    在这里插入图片描述


    总结

    以上就是jsp通过服务器转化并生成java类文件,并查看该类文件的方法@TOC

    展开全文
  • Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。 Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为...

    Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
    Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
    知道这个背景后,可以总结一下结论:
    (1)浏览器地址栏网址使用 斜杆/ ;
    (2)windows文件浏览器上使用 反斜杠\ ;
    (3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;
    (4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;
    斜杆/ 和 反斜杠\ 的区别基本上就是这些了,下面再讨论一下相对路径和绝对路径。
    ./SRC/ 这样写表示,当前目录中的SRC文件夹;
    ../SRC/ 这样写表示,当前目录的上一层目录中SRC文件夹;
    /SRC/ 这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)

    但是由于 \ 也是转义字符的起始字符,
    所以, 路径中的 \ 通常需要使用 \\如果是 / 就不需要使用转义了
    如C中文件操作,c:\\kkk\\dd.txt c:/kkk/dd.txt一样

    展开全文
  • 什么文件包含漏洞

    千次阅读 2019-08-12 10:06:42
    File inclusion(文件包含漏洞)是一种常见的依赖于脚本运行而影响web应用程序的漏洞,许多脚本语言支持使用包含文件(include file),这种功能允许开发者把可使用的代码插入到单个文件中,需要的时候将他们包含特殊...

    漏洞解释:

    File inclusion(文件包含漏洞)是一种常见的依赖于脚本运行而影响web应用程序的漏洞,许多脚本语言支持使用包含文件(include file),这种功能允许开发者把可使用的代码插入到单个文件中,在需要的时候将他们包含在特殊功能的代码中,然后,包含文件中的代码被解释,就好像它们插入到包含指令的位置一样,当应用程序使用攻击者控制的变量建立一个可执行代码的路径,允许攻击者在运行时执行那个文件时,就会导致文件包含漏洞

    漏洞分类:

    本地文件包含:

    本地文件包含(LFI Local File Inclusion)

    有时,应用程序根据用户可控制的数据加载包含文件,但这时不可能给外部服务器上的文件指定url.例如,如果用户可控制的数据被提交给ASP函数Server.Execute,那么攻击者就可以就可以执行任意一段ASP脚本,只要这段脚本属于调用这个函数的相同应用程序

    可以造成的危害:

    1. 访问一些通过正常途径无法访问的敏感文件
    2. 敏感信息泄露

    远程文件包含:

    远程文件包含(RFI Remote File Inclusion)

    PHP语言特别容易出现文件包含漏洞,因为它的包含函数接受远程文件路径

    以一个向不同位置的人传送各种内容的应用程序为例,用户选择他们的位置后,这个信息通过一个请求参数传送给服务器,代码如下:

    //请求如下:
    //https://www.test.com/main.php?Country=US
    //应用程序通过以下方式处理Country参数
    $country=$_GET['Country'];
    include($country . '.php');

    这使执行环境加载位于web服务器文件系统中的US.php文件,然后,这个文件的内容被复制到main.php文件中,并得以执行.

    攻击者能够以各种方式利用这种行为,最严重的情况是指定一个外部的url作为包含文件的位,php包含函数接受这个位置作为输入,接着,执行环境将获取指定的文件并执行内容.

    漏洞危害:

    1:web服务器的文件被外界浏览导致信息泄露

    2:

    脚本被任意执行所造成的影响,典型影响如下:

    1. 篡改网站
    2. 执行非法操作
    3. 攻击其他网站

    参考链接:文件包含漏洞

    展开全文
  • tidylypom 使用Go编写的用于托管自己的Web应用程序。 这是为实现服务器的尝试。 想法是您可以自己的... 这有点不友好,您需要Web应用程序执行文件相同的文件夹创建两个文件:1).config和2)users.gob。
  • 前言(时光飞逝,转眼又偷懒了一个多月)什么是DLLDLL(Dynamic Link Library)文件为动态链接库文件,Windows,许多应用程序并不是一个完整的执行文件,它们分割成一些相对独立的动态链接库,即DLL文件,放置于...

    前言

    (时光飞逝,转眼又偷懒了一个多月)

    什么是DLL

    DLL(Dynamic Link Library)文件为动态链接库文件,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。

    举个例子:很多产品都用到螺丝,但是工厂在生产不同产品时,不需要每次连带着把螺丝也生产出来,因为螺丝可以单独生产,并给多种产品使用。在这里螺丝的作用就可以理解为是dll。

    为什么要使用Dll

    通常来说,我们的代码都可以至少简单区分成业务代码和第三方库。如果不做处理,每次构建时都需要把所有的代码重新构建一次,耗费大量的时间。然后大部分情况下,很多第三方库的代码并不会发生变更(除非是版本升级),这时就可以用到dll:把复用性较高的第三方模块打包到动态链接库中,在不升级这些库的情况下,动态库不需要重新打包,每次构建只重新打包业务代码。

    还是上面的例子:把每次构建,当做是生产产品的过程,我们把生产螺丝的过程先提取出来,之后我们不管调整产品的功能或者设计(对应于业务代码变更),都不必重复生产螺丝(第三方模块不需要重复打包);除非是产品要使用新型号的螺丝(第三方模块需要升级),才需要去重新生产新的螺丝,然后接下来又可以专注于调整产品本身。

    基本用法

    使用dll时,可以把构建过程分成dll构建过程和主构建过程(实质也就是如此),所以需要两个构建配置文件,例如叫做webpack.config.js和webpack.dll.config.js。

    1. 使用DLLPlugin打包需要分离到动态库的模块

    DllPlugin是webpack内置的插件,不需要额外安装,直接配置webpack.dll.config.js文件:

    module.exports = {=

    entry: {

    // 第三方库

    react: ['react', 'react-dom', 'react-redux']

    },

    output: {

    // 输出的动态链接库的文件名称,[name] 代表当前动态链接库的名称,

    filename: '[name].dll.js',

    path: resolve('dist/dll'),

    // library必须和后面dllplugin中的name一致 后面会说明

    library: '[name]_dll_[hash]'

    },

    plugins: [

    // 接入 DllPlugin

    new webpack.DllPlugin({

    // 动态链接库的全局变量名称,需要和 output.library 中保持一致

    // 该字段的值也就是输出的 manifest.json 文件 中 name 字段的值

    name: '[name]_dll_[hash]',

    // 描述动态链接库的 manifest.json 文件输出时的文件名称

    path: path.join(__dirname, 'dist/dll', '[name].manifest.json')

    }),

    ]

    }

    我们先来看看,这一步到底做了什么。执行:webpack --config webpack.dll.config,然后到指定的输出文件夹查看输出:

    react.dll文件里是使用数组保存的模块,索引值就作为id;

    react.manifest.json文件里,是用来描述对应的dll文件里保存的模块

    里暴露出刚刚构建的所有模块,如下:

    {

    "name":"react_dll_553e24e2c44987d2578f",

    "content":{

    "./node_modules/webpack/node_modules/process/browser.js":{"id":0,"meta":{}},"./node_modules/react/node_modules/fbjs/lib/invariant.js":{"id":1,"meta":{}},"./node_modules/react/lib/Object.assign.js":{"id":2,"meta":{}},"./node_modules/react/node_modules/fbjs/lib/warning.js":{"id":3,"meta":{}}

    //省略相似代码

    }

    }

    2. 在主构建配置文件使用动态库文件

    在webpack.config中使用dll要用到DllReferencePlugin,这个插件通过引用 dll 的 manifest 文件来把依赖的名称映射到模块的 id 上,之后再在需要的时候通过内置的 webpack_require 函数来 require 他们.

    new webpack.DllReferencePlugin({

    context: __dirname,

    manifest: require('./dist/dll/react.manifest.json')

    }),

    第一步产出的manifest文件就用在这里,给主构建流程作为查找dll的依据:DllReferencePlugin去 manifest.json 文件读取 name 字段的值,把值的内容作为在从全局变量中获取动态链接库中内容时的全局变量名,因此:在 webpack_dll.config.js 文件中,DllPlugin 中的 name 参数必须和 output.library 中保持一致。

    3. 在入口文件引入dll文件。

    生成的dll暴露出的是全局函数,因此还需要在入口文件里面引入对应的dll文件。

    作用

    首先从前面的介绍,至少可以看出dll的两个作用

    分离代码,业务代码和第三方模块可以被打包到不同的文件里,这个有几个好处:

    避免打包出单个文件的大小太大,不利于调试

    将单个大文件拆成多个小文件之后,一定情况下有利于加载(不超出浏览器一次性请求的文件数情况下,并行下载肯定比串行快)

    提升构建速度。第三方库没有变更时,由于我们只构建业务相关代码,相比全部重新构建自然要快的多。

    注意事项

    从前面可以看到dll带来的优点,但并不意味着我们就应该把除业务代码外的所有代码全部都丢到dll中,举一个例子:

    1.对于lodash这种第三方库,正确的用法是只去import所需的函数(用什么引什么),例如:

    // 正确用法

    import isPlainObject from 'lodash/isPlainObject'

    //错误用法

    import { isPlainObject } from 'lodash'

    这两种写法的差别在于,打包时webpack会根据引用去打包依赖的内容,所以第一种写法,webpack只会打包lodash的isPlainObject库,第二种写法却会打包整个lodash。现在假设在项目中只是用到不同模块对lodash里的某几个函数并且没有对于某个函数重复使用非常多次,那么这时候把lodash添加到dll中,带来的收益就并不明显,反而导致2个问题:

    由于打包了整个lodash,而导致打包后的文件总大小(注意是总大小)比原先还要大

    在dll打包太多内容也需要耗费时间,虽然我们一般只在第三方模块更新之后才进行重新预编译(就是dll打包的过程),但是如果这个时间太长的话体验也不好、

    实践与反思

    放一张自己在一个比较大的项目中单纯使用dll之后的收益,提取的内容是 react相关的第三方库,和fish组件,构建时间从120s降低到80s左右(当然这个时间还是有点恐怖),构建前appjs的大小是680kb,拆分业务代码和第三方代码分别是400kb和380kb(这就是拆分后大小大于拆分前大小的例子),从这一点来看,对于常见第三方库是否要放进dll可能比较明确(比如react系列打包一般肯定不亏),但是还有一些就要结合具体的项目内容来进行判断和取舍。(强烈推荐使用webpack-bundle-analyzer插件进行性能分析)

    0ea2d17e96e48957da23cd7ab7a0a301.png

    f9538ba142a1eb7f58348f72d6944c85.png

    47b0d8d0e398c94f830e705c738a8703.png

    总结

    本文介绍了Dllplugin的思想,基本用法和应用场景(关于使用的部分更详细的内容可以看官方文档),结合个人的一些实践经验,对于常见第三方库是否要放进dll可能比较明确(比如react系列打包一般肯定不亏),但是还有一些就要结合具体的项目内容来判断,例如我上面的实践的例子就说明目前的拆分还不够好。这一块也欢迎大家一起探讨。如果内容有错误的地方欢迎指出(觉得看着不理解不舒服想吐槽也完全没问题);如果对你有帮助,欢迎点赞和收藏,转载请征得同意后著明出处,如果有问题也欢迎私信交流,主页有邮箱地址

    展开全文
  • 模型文件可从。 请参阅下面的功劳/属性 什么是新的? (这些项目是原创的,就我个人而言,最初的编码时我还没有看到它们。以下是我其他地方看到的内容的引文。) 模型架构: 实验:非线性模型体系结构使用...
  • 转自:https://www.jianshu.com/p/faef8a76d7c2Thymeleaf 的基本语法Thymeleaf是Web和独立环境的现代服务器端Java模板引擎...为了实现这一点,它建立自然模板的概念上,将其逻辑注入到模板文件中,不会影响模板...
  •  你对Web应用所执行的测试,安全测试可能是最重要的,但它却常常是最容易忽略的。本书的秘诀演示了开发和测试人员进行单元测试、回归测试或探索性测试的同时,如何去检查最常见的Web安全问题。与即兴的...
  • 您的设置中在BLUEPRINTS所有蓝图将导入并您的应用程序注册如果该蓝图是一个程序包,则其中包含名为models.py或views.py任何文件也将导入, 因此不再需要手动导入您的视图和模型如果您不按照正确的正确顺序进行...
  • 这些原则很多都是架构一开始的设计就要考虑进去的,这样出现任何问题时,我们都能够及时的处理,和把问题影响的范围有效的缩小。否则就像我现在的项目,一开始设计时,考虑的很少,出问题时,没有做到及时的...
  • Web Services 教程

    2011-09-18 15:31:13
    UDDI 如何被使用 23 谁支持 UDDI? 23 完整的 WSDL 语法 23 您已经学习了 WSDL,下一步呢? 26 WSDL 概要 26 您已经学习了 WSDL,下一步呢? 26 SOAP 教程 27 内容目录 27 SOAP 简介 28 您应当具备的基础知识 28 ...
  • 该存储库文件用于配置以下所示的网络。 这些文件已经过测试,并用于Azure上生成实时ELK部署。 它们用于重新创建上图所示的整个部署。 或者,选择[Filebeat Playbook]的某些部分用于仅安装某些文件,例如...
  • 文件包含漏洞

    2020-03-08 22:01:01
    程序开发人员通常会把重复使用的函数写到单个文件中在使用某些函数时,直接用此文件,而无需 再次编写,这种调用文件的过程一般称为包含。 一、原理和定义 为什么会产生文件包含漏洞? 程序开发人员都希望代码...
  • PHP和MySQL Web开发第4版

    热门讨论 2014-08-13 15:32:15
    17.5 Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...
  • SSO-WebDemo

    2013-08-12 20:25:57
    事实上,只要统一认证系统,统一ticket的产生和效验,无论用户信息存储在什么地方,都能实现单点登录。 统一的认证系统并不是说只有单个的认证服务器,如下图所示,整个系统可以存在两个以上的认证服务器,这些...
  • 17.5 Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 ...
  •  Tornado是使用python编写的一个强大的扩展的Web服务器,它处理严峻的网络流量时表现得足够强健,但是却创建和编写时有着足够的轻量级,并且能够应用大量的应用和工具。首先我们要明白,文件使用方法...
  • 《编写维护的JavaScript》向开发人员阐述了如何团队开发编写具备高可维护性的JavaScript代码,书详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...
  • 17.5 Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_auth_mysql 17.7 创建自定义身份验证 17.8 进一步学习 17.9 下一章 第18章 使用PHP和...
  • Tag文件的创建与应用

    千次阅读 2017-12-07 21:36:33
    Tag文件,几乎和JSP文件一模一样,可以JSP页面动态加载调用。...将JSP页面的关于数据处理的代码放在一个Tag文件中,让JSP页面只负责显示数据。即通过使用Tag文件将数据的处理和显示相分离,方便web项目的维护
  • 强调一点,这里的相对路径也是相对于访问页面的URL的路径,本质上与页面文件在项目的存储位置没直接关系,所以这里用相对路径时也存在由于访问URL不确定带来的问题(是不是这样呢?如文章开头说的,这里都是我自己...
  • 插件写声明文件的时候也就可以只给 egg 拓展也能在使用第三方框架的项目生效。 基本上上层框架的声明文件都可以这么写,当然,如果有更好的写法也欢迎提出。 插件 项目用到了很多 egg 插件ÿ...
  • 3.允许同台机器上并存钥匙盘版、sn版厂商端,2者安装位置、标题、菜单等界面显示,均区分开来,方便用户同一台机器上安装、使用2个版本web虎 4.完善客户安装,让厂商、客户安装同一部机器而不再有提示 2009-5-...
  • 该存储库文件用于配置以下所示的网络。 这些文件已经过测试,并用于Azure上生成实时ELK部署。 它们用于重新创建上图所示的整个部署。 或者,可以使用ELK Playbook文件的选定部分来仅安装其中的某些片段,...
  • 建议缓存DOM属性和元素、把DOM集合的长度缓存到变量迭代中使用。读变量比读DOM的速度要快很多。)</li><li>重排与重绘的代价非常昂贵。如果操作需要进行多次重排与重绘,建议先让元素脱离文档流&#...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 508
精华内容 203
关键字:

web文件可在什么中被使用