• Play Framework 2.8.2 学习系列二------ Web基本应用


      采用的是前后端分开开发的方式进行的,但是在登录等特殊地方也是要做一些交互动作

      1、从html页面访问action。

       Form中的action属性可以这样设置,action="@pc.routes.LoginController.loginSys()",其中pc是controller目录下的一个子目录,他的包名为package controllers.pc。要求form的action路由至controllers.pc目录下的LoginController的loginSys,指向很明确。

      2、CSRF设定。在配置中启用了CSRF功能,所以在每次的请求中需要添加一个csrfToken参数。在html页面的body中添加:

      运行后会自动生成一个csrfToken的隐藏区域,只要获取这个token并且在每次的请求中添加进去就可以在csrf过滤器开启的情况下实现get以外的请求

      3、html解析。如果有后端的html代码需要推送到前端显示,正常情况下都会被浏览器解析而不再是正常的html代码。如何解决这个问题呢->@Html(htmlStr),即可展现原生的html信息

      4、访问静态资源。指定一个img可采用这样的方式<img src='@routes.Assets.versioned("images/files/test.png")'/>,但是同时在css中需要添加html页面生成的地址信息,比如background:url(/assets/images/files/test.png) no-repeat #fff; 当前之前的img也可以这样添加目录。添加js库的引用均需如此。在此之前需要在routes中配置静态资源路径“GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)“

         5、获取js提交的post数据。对于一个control里面的action获取js数据如果通过form提交可以通过DynamicForm获取。如果通过ajax的httprequest可以通过request.queryString("userName")获取。如果是json数据可以直接request.body().asJson()获取

      6、登录控制。在登录时可以通过addingToSession(request,"userName", userName)这样的方式添加,在注销的时候用withNewSession()销毁。在用户存活期间可以在想要验证的时候获取req.session().get("userName"),以验证登录合法性。

  • 相关阅读:
    python信息收集(二)
    python信息收集(一)
    'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
    Loadruner 之 controller 负载生成器与场景运行——性能测试
    chromedriver 在pycharm 中的使用
    selenium 安装
    在Linux 中搭建 Mysql
    前端攻略
    2020-5-22 第二期——拖延症
    2020-5-15 第一期
  • 原文地址:https://www.cnblogs.com/ershoushouji/p/13265104.html
Copyright © 2020-2023  润新知