精华内容
下载资源
问答
  • 下面分为两部分内容,一部分是url.py中的结构和每行的详细含义,第二部分介绍url的配置以及与视图的关系。 第一部分: 我的url文件内容: from django.conf.urls.defaults import * urlpatterns = patterns( ...

    前面已经讲完django的基本环境搭建,下面给大家介绍一下url配置。

    下面分为两部分内容,一部分是url.py中的结构和每行的详细含义,第二部分介绍url的配置以及与视图的关系。

    第一部分:

    我的url文件内容:

    from django.conf.urls.defaults import *

      urlpatterns = patterns(
          url(r'^hello/$','hello')
          url(r'^admin/', include(admin.site.urls))
    )

    第一行中内容表示:第一行导入django.conf.urls.defaults下的所有模块,它们是Django URLconf的基本构造。 这包含了一个patterns函数。

    第二行内容表示第二行调用 patterns() 函数并将返回结果保存到 urlpatterns 变量。

    第三行中的url是一个函数,元组中第一个元素是模式匹配字符串(正则表达式),表示只有url以hello开头或者结尾才能访问第二个参数中指定的试图函数;第二个元素是那个模式将使用的视图函数。

    有关正则表达式,访问:点击打开链接

    第四行中的url中包含include,主要是用于映射其他的url,主要用于当所需添加的url太多时。

    第二部分:

    url与视图的关系:

    未完待续。。。。。。

    展开全文
  • JavaWeb项目中用Servlet实现学生签到下载文件功能,过程中遇到了一些路径上问题,做个总结。目录结构:学生签到实验(将从前端收到学生签到信息记录在指定文件中,向login.txt中记录学生签到信息):1、多次试验...

    JavaWeb项目中用Servlet实现学生签到和下载文件功能,过程中遇到了一些路径上的问题,做个总结。

    目录结构:

    8efd20287f1d0bf5be324c06d8980524.png

    学生签到实验(将从前端收到的学生签到信息记录在指定文件中,向login.txt中记录学生签到信息):1、多次试验发现,用相对路径(String path="/login.txt")可以找到文件,但是写不进去内容;2、用String path=this.getServletContext().getRealPath("/login.txt")方法获取绝对路径,可以写入,但是内容是记录在部署目录中,原因如下:

    输出this.getServletContext().getRealPath("/login.txt")(或去掉斜杠)语句,得到:D:\myapps\my-ideaworksapce\JavaWebProject\out\artifacts\testServlet_war_exploded\StudentLoginServlet

    可以看到,绝对路径被定位到了部署路径中。因为tomcat上运行的项目是编译、部署完成的项目

    3、指定绝对路径D:\myapps\my-ideaworkspace\JavaWebProject\web\login.txt,可以在该目录下的文件中写入内容,而且部署路径out/artifacts/testServlet_war_exploded/WEB-INF/classes/login.txt会与之同步4、tomcat重启时会重新部署目录,因此之前的记录信息在tomcat重启后会不复存在

    5、在web中的反斜杠/

    ① 和网页跳转相关的'/'代表从服务器根路径(locallost:8080/)开始定位

    比如跳转

    再比如重定向中的response.sendRedirect("/JavaWebProject/index.jsp");

    注:请求转发的跳转页面是从项目根路径开始寻找的request.getRequestDispatcher("/index.jsp").forward(request, response);因为请求转发相当于已经在当前项目中的网页,现在要跳转到该项目中的另一个网页,所以是从当前项目的根目录寻找要跳转的页面。请求转发和重定向的区别需要清楚。

    ② java中的'/'代表从项目部署后的项目根路径(localhost:8080//JavaWebProject)开始定位

    下载文件实验:

    InputStream fin=this.getServletContext().getResourceAsStream("/downloads/"+filename);//成功!

    InputStream fin=new FileInputStream("/downloads/"+filename);//不起作用!

    第一条语句可以将downloads中的文件作为字节流输出,并通过设置消息头提供下载功能,而二条语句却没有作用(无法在浏览器下载内容)。联系前面的实验结果“用相对路径(String path="/login.txt")可以找到文件,但是写不进去内容”。推测:Web项目无法直接通过相对路径进行流的操作

    代码:

    学生签到实验:

    @WebServlet(urlPatterns = "/StudentLoginServlet" )

    public class StudentLoginServlet extends HttpServlet {//直接继承Servlet类的话,this.getServletConfig.getServletContext.getRealPath()似乎有点问题

    PrintWriter fout=null;//输出流,用于将从前端收到的学生签到信息记录在指定文件中。全局变量,供整个对象使用

    ArrayList idCheck=new ArrayList<>();//记录历史签到id

    ArrayList ipCheck=new ArrayList<>();//记录历史签到ip

    @Override

    public void init() throws ServletException {

    String path="/login.txt";//文件路径

    File file=new File(this.getServletContext().getRealPath(path));

    try {

    fout=new PrintWriter(file);

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    }

    }

    @Override

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    //解决乱码问题

    req.setCharacterEncoding("utf-8");

    resp.setContentType("text/html;charset=utf-8");

    //获取表单数据

    String stuId=req.getParameter("stuId");

    String stuName=req.getParameter("stuName");

    String stuAge=req.getParameter("stuAge");

    //获取客户端的IP地址、签到时间

    String IP=req.getRemoteAddr();

    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    String loginTime=format.format(new Date());

    //将登陆信息记录到日志文件中

    int index1=0;//判定id是否重复,0代表不重复,1代表重复

    int index2=0;//判定ip是否重复,0代表不重复,1代表重复

    if(fout!=null){

    synchronized (this){

    if(!idCheck.contains(stuId)&&!ipCheck.contains(IP)){

    idCheck.add(stuId);

    ipCheck.add(IP);

    fout.println("学号为:"+stuId+",姓名是:"+stuName+",年龄是:"+stuAge+",IP地址为:"+IP+",签到时间为:"+loginTime);

    fout.flush();

    }else if(idCheck.contains((stuId))){

    index1=1;

    }else if(ipCheck.contains(IP)){

    index2=1;

    }

    }

    }

    PrintWriter out=resp.getWriter();

    if(index1==0&&index2==0){

    out.println("签到成功!");

    }else if(index1==1){

    out.println("请勿重复签到!");

    }else{

    out.println("同一台机器只能签到一名同学!");

    }

    }

    @Override

    public void destroy() {

    if(fout!=null){

    fout.close();

    }

    }

    }

    下载文件实验:

    public class ContextDownloadServlet extends HttpServlet {

    @Override

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    //设置相应头信息

    String filename=req.getParameter("filename");//接收文件名

    resp.setHeader("Content-Disposition","attachment;filename="+filename);

    //获取绝对路径

    String realpath=this.getServletContext().getRealPath("/downloads/" +filename);

    System.out.println(realpath);

    //发送文件

    InputStream fin=this.getServletContext().getResourceAsStream("/downloads/" +filename);//成功!

    //        InputStream fin=new FileInputStream("/downloads/"+filename);//不起作用!

    OutputStream out=resp.getOutputStream();

    byte[] buff=new byte[1024];

    int len=-1;

    while ((len=fin.read(buff))!=-1){

    out.write(buff,0,len);

    }

    fin.close();

    out.close();

    }

    }

    展开全文
  • 说说node.js中一些数据结构和使用方法第一个:url类型转化为对象1,urlLib.parse()就是专门处理url地址信息,传来数据当然是get方法啦2,urlLib.parse(参数1,参数2),第一个参数是地址信息,第二个是true,...

    说说node.js中的一些数据结构和使用方法

    第一个:url类型的转化为对象



    1,urlLib.parse()就是专门处理url地址信息的,传来的数据当然是get方法啦

    2,urlLib.parse(参数1,参数2),第一个参数是地址信息,第二个是true,含义是解析成对象,若为false则是字符串

    3,.pathname就是获取?前面的地址,如下图。.query就是将解析为对象,&为分割符,=左边的是键,右边的是值。

    下图解释:下图就是req.url传来的数据信息


    下图解释:下图就是.pathname获取的内容


    下图解释,这就是对象访问username的访问结果


    第二个:将后台数据转化为对象


    后台string数据是这样的


    第三个:对象转化为string类型并存储


    JSON.stringify(一个对象)这就转化为字符串了,toString()不行,因为他会变成[object,object]这样的

    第四个:数组的长度与组合

    var keys = [];

    console.log(keys.length);    //而不是keys.length()

    返回两个数组的合并



    展开全文
  • 功能树形结构 RecyclerView支持滑动删除支持长按拖拽支持单个 view 点击或长按时拖拽可开启并更改滑动删除背景色可自由指定滑动删除拖拽操作方向展开关闭全部分组下载Demo:下载截图使用方法添加jitpack库//...
  • URL欺骗

    2017-11-15 16:47:00
    URL结构我们来仔细看看URLs与其有关安全含义。一种“有趣”的URL利用方式已被垃圾广告投递者发现很长时间了,不过现在“KB”(Knowledge Base)欺骗二月发表于Crypto-Gram文章,已经使得URL可以做更多事。...
    URL结构 
    我们来仔细看看URLs和与其有关的安全含义。一种“有趣”的URL利用方式已被垃 
    圾广告投递者发现很长时间了,不过现在“KB”(Knowledge Base)欺骗和二月发 
    表于Crypto-Gram的文章,已经使得URL可以做更多的事。 

    虽然大部分Internet用户把WWW地址或FTP同URLs联系起来,但Uniform Resource 
    Locators(URL,统一资源定位器)使用的更普遍一些。URLs的标准在RFC1738中规 
    定,其中最普通的形式定义为: 

    部分是网络协议名称,部分被定义为: 
    //:@:/ 
    其中只有部分是必须的。":"和"@"字符具有特殊的含义,从而服务器可以解 
    析完整的字符串.如果用户名和密码包含在URL中,部分只是从"@"字符后开始 
    .看看在KB欺骗论及的例子:[url]http://www.microsoft.com&;item=q209354@www.[/url] 
    hwnd.net/pub/mskb/Q209354.asp 
    其中真正的主机是"www.hwnd.net"."www.microsoft.com"在这个URL中不过是个假 
    的用户名,服务器会忽略它. 

    信任 

    虽然上面的例子是合乎语法的,但是却可能引起同安全相关的问题.在Internet节点 
    的终端,不是网卡、Modems或计算机,而是人.他们有意识或无意识都应该考虑到屏 
    幕上出现的东西是否值得信任. 

    信任是最基本的安全评价.像上面例子那样的带有欺骗性的URL,利用了我们对常识 
    中URLs格式的信任.这种欺骗还利用了我们把主要注意力都集中到主要内容而不是 
    URL地址(虽然有时URL可以帮助我们判断可信度)这个事实.SSL保护的站点,把一部 
    分对可信度的判断工作交给浏览器,浏览器会比较带有SSL认证信息的域;另一方面 
    ,如果目的主机是虚构的,那么仅仅依靠加密技术并不能提供太多有用的评价. 

    隐藏 

    上面关于URL的分析只是简单的隐藏了它的真实目的地.我们可以用更好的方法来进 
    行隐藏.由于某些原因(有可能是内部处理引起的),有的操作系统对IP地址的操作并 
    不是通过我们常用的格式,就象是:aaa.bbb.ccc.ddd,而是相应的十进制数. 

    上面这类地址可以改写成十进制的值:aaa*256^3+bbb*256^2+cccc*256+ddd.这样, 
    3633633987就是216.148.218.195(属于[url]www.redhat.com[/url]红帽子公司).你可以在浏览 
    器中输入3633633987,你会发现你已经来到了REDHAT公司的网站上.上面的操作可以 
    使用IE5.X或者是Linux下的Lynx,但并没对其他操作系统进行测试,可能会相差很多 
    .一些软件会对你的输入提示"非法的URLs",但你只要用很少的软件(包括常用的工 
    具,如ping)进行测试,你就可以判断出这个操作系统是否支持这种URLs的使用方式. 


    如果该操作系统支持这种使用,那么就可以通过构造如下的URL来制造更大的迷惑: 
    [url]http://www.toronto.com:ontario@3633633987/[/url],这个URL仍然指到REDHAT.因为很 
    多的网站都把HTTP的SessionID存在URL中,来代替使用Cookie,所以Internet使用者 
    并不会注意URL中的数字值,这样上面构造的URL不会带来任何怀疑.密码部分可以省 
    略,这[url]http://www.toronto.com@3633633987/[/url]的迷惑性更强. 

    现在,我们可以使用一些HTTP知识:anchor(锚)标记允许显示的文本指到一个不是文 
    本本身的连接上,这样我们可以把连接写[url]http://www.toronto.com[/url],然后把连接的 
    文字设成锚,再把这个锚连接[url]http://www.toronto.com@3633633987/[/url]上,是不是很 
    危险,如果你点击这个连接,依旧会把你带到REDHAT公司. 

    另一个对信任的利用是可信站点的间接寻址提供的.很多知名网站通过如下格式的 
    连接来记录引导访问者来此的网址:"http://www.thisisarespectablesite. 
    com/outsidelinks [url]http://externalsite[/url]",在服务器端捕获请求信息后,再把用户 
    重定向到目标网站上. 

    这就使任何人都可以使用这种间接寻址服务,通过与URL困惑组合使用,给欺诈性的 
    URLs提供更多的合法性.可以限制HTTP提交区域的输入值,来避免非法的输入,但很 
    少有网站这么做. 

    如果你觉着以上说的还不够,哪你还可以利用Unicode编码,把真实目的URL通过 
    Unicode码写出,再解析时会还原成真实目的. 

    上面的这些对于"知识渊博"的垃圾广告制造者来说都不是新东西,但对于用来攻击 
    一般不会起疑的用户来说,还是非常有用的. 
    One-click 攻击 

    下面,我们对URL安全问题进一步讨论. 

    很多"标准"的攻击都可以从缓冲区溢出开始,但是现在这种溢出却不好找到.那么, 
    我们怎么办呢? 

    在注册表中,有如下的键值: 
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PROTOCOLS\Handler,在 
    HKEY_CLASSES_ROOT\Shell下还有"URL Protocol"这个子键(你可以使用查找来搜索 
    这些键).其中你可以找到ftp://, http://, https://, mailto://, news://, 
    pnm://和其他协议.这里面有很多协议都是以前没见过的,比如msee://.通过快速的 
    试验,发现msee://是"微软大百科"使用的,可能是用来查阅内部文章用的."微软大 
    百科"是否会引起缓冲区溢出呢,如果是,那么是否可以实际利用呢?这些都要进行更 
    深的研究. 
    HKEY_LOCAL_MACHI阿瑟OFTWARE\Classes\PROTOCOLS\Handler,在 
    HKEY_CLASSES_ROOT\Shell下还有"URL Protocol"这个子键(你可以使用查找来搜索 
    这些键).其中你可以找到ftp://, http://, https://, mailto://, news://, 
    pnm://和其他协议.这里面有很多协议都是以前没见过的,比如msee://.通过快速的 
    试验,发现msee://是"微软大百科"使用的,可能是用来查阅内部文章用的."微软大 
    百科"是否会引起缓冲区溢出呢,如果是,那么是否可以实际利用呢?这些都要进行更 
    深的研究. 

    我们可以找到很多在安装软件时添加的URL构造(比如copernic://就是copernic搜 
    索工具生成的).另外,还可以使用脚本语言修改受害机注册表来添加我们的URL结构 
    ,脚本语言可以用vbs编制,然后通过email发送过去,在然后.........你就可以使用 
    这个URL结构来引起缓冲区溢出了.虽然这看起来同URL联系不大,但多少还有些联系 

    ,所以就一起说了.

















    本文转自starger51CTO博客,原文链接:http://blog.51cto.com/starger/19656 ,如需转载请自行联系原作者

    展开全文
  • 这样,只要消费者能够通过向以前请求响应中未提供的URL发出请求来绕过此责任,它实际上就会破坏超媒体API所代表的含义。 为了防止URL被“黑客攻击”(或可猜测),我们将其遮盖起来。 常见方法包括采用正常...
  • 理解 Rewrite指令 使用 该指令是通过正则表达式...rewrite的含义:该指令是实现URL重写指令。regex的含义:用于匹配URI正则表达式。replacement:将regex正则匹配到内容替换成 replacement。flag: flag标记。 f
  • # URL与资源 本章将介绍: - URL语法,以及各种URL组件的含义及其所做的...- URL的未来 1. 浏览因特网资源 大多数URL都有同样的:“方案://服务器位置/路径“结构 URL未用户以及他们的浏览器提供了找到信息所需的
  • 大多数 url 都建立在以下 9 部分组成的结构上: <p><code><scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag></code></...
  • URL欺骗-安全加密

    2008-07-22 23:25:31
    我们来仔细看看URLs与其有关安全含义。一种“有趣”的URL利用方式已被垃圾广告投递者发现很长时间了,不过现在“KB”(Knowledge Base)欺骗二月发表于Crypto-Gram文章,已经使得URL可以做更多事。 虽然大...
  • URI 通用资源标识符 ...你大概能看懂其中的结构和含义,但请不必深究,实际上URI是一个相对复杂的框架,想更深入了解可以参阅 RFC3986 URI 的设计非常完善,它可以适应很多种类型的应用,很多应用也采用了 U
  • 超文本是一种结构文本,在包含文本节点之间使用逻辑链接(也叫超链接)。 二、概述 HTTP是基于TCP/IP协议应用层协议。HTTP允许进行客户端服务器之间通信。通过HTTP或HTTPS请求资源由URI(统一资源...
  • 有关此数据的元数据的URL(解释其含义的页面) 研究目的,研究目的或假设 源数据的内容 抓取数据的结构及其所有属性 对用于创建从源到整理后的数据的工具的说明 如何安装使用这些工具 这些工具的贡献者作者的...
  • 目录 ... 1、创建连接数据库公共文件conn.php ... 3、分页原理 4、仿百度分页 ...1、B/S网络结构 ...3、HTTP协议特点 ...HTTP协议之URL ...2、HTTPWatch安装授权 3、HTTPWatch简单使用 4、Firefox抓包
  • 1.1.2 XML描述结构和语义,而不是格式化 10 1.2 为什么开发人员对XML感到激动 13 1.2.1 设计与特定领域有关标记语言 13 1.2.2 自描述数据 13 1.2.3 应用间交换数据 14 1.2.4 结构化和集成数据 14 1.3 XML...
  • 现在Retrofit2.0使用已经非常普遍了,我们先来了解连个问题。...首先,Retrofit使用注解方式,大大简化了我们的URL拼写形式,而且注解含义一目了然,简单易懂; 其次,Retrofit使用简单,结构层次
  • 作为艺术品庇护所 该文档提供了插图庇护所即艺术品清单,以及涉及庇护所... 这些结构“窃取”建筑物排出空气,并附着在建筑物出气管道上,这些管道作为“主机”,从中散发出加热膨胀建筑物暖空气。 ( )
  • 相对,XML则没有固定标记,XML不能描述网页具体外观,内容,它只是描述内容数据形式和结构。 这是一个质区别:网页将数据显示混在一起,而XML则将数据显示分开来。 我们看上面例子,在myfile.htm...
  • JSP系统性教材

    2014-09-16 22:22:02
    ☆表格的结构 ★表单的应用 ☆form标记 ☆input标记 ☆列表与文本区 ★框架 ☆框架集与框架 ☆浮动框架 ☆框架链接 HTML的英文全称是Hyper Text Markup Language,即网页超文本标记语言,它是Internet上用于编写...
  • URL的含义: 统一资源定位符,结构URL的格式由三部分组成: ①第一部分是协议(或称为服务方式)。 ②第二部分是存有该资源的主机IP地址(有时也包括端口号)。 ③第三部分是主机资源的具体地址,如目录...
  • HTTP05--HTML常用知识

    2017-01-22 16:24:00
    需要搞清URL和URI的差别,以及QueryString的含义。 二、GETPOST的区别 详细介绍可参考文章:http://zengrong.net/post/1802.htm 1. HTTP请求头的结构 一个HTTP请求,包含以下四部分,即request line,header...

空空如也

空空如也

1 2 3 4 5 6
收藏数 108
精华内容 43
关键字:

url的结构和含义