如果您对JSP三种指令感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于JSP三种指令的详细内容,我们还将为您解答jsp三种指令元素的相关问题,并且为您提供关于8app三种类型
如果您对JSP三种指令感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于JSP三种指令的详细内容,我们还将为您解答jsp三种指令元素的相关问题,并且为您提供关于8 app三种类型、DHCP三种配置、FTP三种访问模式、get post jsonp三种数据交互形式实例详解的有价值信息。
本文目录一览:JSP三种指令(jsp三种指令元素)
起始符号: <%@ 终止符号: %>
这表示指令,主要用来提供整个JSP网页相关的信息,并且用来设定JSP网页的相关属性,例如:网页的编码方式、语言、信息等.
1.page指令:
最复杂的JSP指令,它的主要功能为设定整个JSP网页的属性和相关功能.
例如:
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
2.include指令:
在JSP编译时插入一个包含文本或代码的文件,包含的过程是静态的,而包含的文件可以是JSP网页、HTML网页、文本文件或者是一段JAVA程序.
例如:
<%@ include file="_paginate.jsp"%>
<jsp:include Page="_paginate.jsp"></jsp:include>一样的功能,只不过一个是指令(静态),一个是动作(动态).
3.taglib指令:
能够让用户自定义新的标签.
例如:
<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>jstl标签
Remark:
这三种指令只要是开发都会用到,切记!
补充:
<!-- 引入system标签 -->
<%@ taglib prefix="system" tagdir="/WEB-INF/tags/system"%>
<!-- 标签引用 -->
<sysware:mainView id="multiApprovalTaskMainView"></sysware:mainView>
<!-- 引入java类 -->
<%@ page import="com.sysware.p2m.core.event.OperationContext"%>
<!-- 设置变量 -->
<%
request.setAttribute("userId",OperationContext.getInstance().getOperator().getUserId());
%>
<!-- 取出变量 -->
<input id="userId" type="hidden" value="${userId}">
8 app三种类型
1 appium官网
http://appium.io/docs/en/about-appium/intro/
2 app类型与UI自动化测试
- Native:使用appium
- Hybrid(Native+Webview):切换appium和selenium
- H5(Webview):使用selenium
3 Hybrid自动化测试
- debug模式
- 模拟器:不需要开发开启webview debug模式
- 真机:需要开发开启webview debug模式
- debug模式开启代码
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {WebView.setWebContentsDebuggingEnabled(true);}
-
- webview自动化测试需要指定chromedriver版本
- 查看手机chrome内核
- adb shell am start -a android.intent.action.VIEW -d
https://liulanmi.com/labs/core.html - 以此来确定caps中chromedriverExecutableDir版本
- chromedriver下载:
https://npm.taobao.org/mirrors/chromedriver
- adb shell am start -a android.intent.action.VIEW -d
- webbiew标识:
- android.webkit.WebView
- Hybrid自动化测试需要切换context
- 查看上下文:driver.contexts
- 切换到webview:driver.switch_to.context('WEBVIEW_com.kaikeba.android')
- 当前上下文:driver.current_context
- 切换到native:driver.switch_to.context('NATIVE_APP')
- 查看手机chrome内核
DHCP三种配置
一 DHCP分配客户机IP地址
[[email protected] ~]# rpm -q dhcp //检查dhcp服务是否安装
[[email protected] ~]# mount /dev/cdron /media
[[email protected] ~]# cd /media/Packages
[[email protected] ~]# rpm -ivh dhcp-4.2.5-36.e17.centos.x86_64.rpm
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcP*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
~ [[email protected] ~]# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >
/etc/dhcp/dhcpd.conf [[email protected] ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "localhost";
option domain-name-servers 202.106.0.20,8.8.8.8; //DNS解析
default-lease-time 360; //IP地址默认租约
max-lease-time 7200; //IP最大租约时间
subnet 192.168.200.0 netmask 255.255.255.0 { //网段 和子网掩码
range 192.168.200.180 192.168.200.200; //分配IP地址地址池
option routers 192.168.200.1; //网关
}
[[email protected] ~]# systemctl start dhcpd //开启dhcp服务
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=dhcp //修改
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
DEVICE=eno16777728
ONBOOT=yes //可以改
IPADDR=192.168.200.101
NETMASK=255.255.255.0
GATEWAY=192.168.200.1
DNS1=202.106.0.20
[[email protected] ~]# systemctl restart network //重启服务
二DHCP固定IP地址
[
[email protected] ~]# cat /var/lib/dhcpd/dhcpd.leases //查看租约信息并获取网卡信息
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
lease 192.168.200.15 {
starts 5 2019/08/16 07:37:52;
ends 5 2019/08/16 07:47:52;
tstp 5 2019/08/16 07:47:52;
cltt 5 2019/08/16 07:37:52;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:93:3e:e3;
添加
host win7 {
hardware ethernet 00:0c:29:93:3e:e3;
fixed-address 192.168.200.99; //固定IP地址
若是win7客户机不成功
cmd命令中输入 ipconfig /release 释放IP
ipconfig /renew 获取IP
三 DHCP中继配置
需要 DHCP服务器一个 和两个网卡的DHCP中继
中继器的配置情况如下 :
[[email protected] ~]# mount /dev/cdron /media
[[email protected] ~]# cd /media/Packages
[[email protected] ~]# rpm -ivh dhcp-4.2.5-36.e17.centos.x86_64.rpm
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
[[email protected] ~]#cp /etc/sysconfig/network-scripts/ifcfg-eno16777728 /etc/sysconfig/network-scripts/ifcfg-eno33554960
[[email protected] ~]#vim /etc/sysconfig/network-scripts/ifcfg-eno33554960
修改并删除
[[email protected] ~]# systemctl restart network
[[email protected] ~]# dhcrelay 192.168.200.100 //开启本机中继服务
在DHCP服务器的配置:
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
添加这四行命令
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.15 192.168.100.40;
option routers 192.168.100.1;
}
[[email protected] ~]# systemctl restart dhcpd
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
在中继器中ping
若要ping通 window 需要关闭防火墙
[[email protected] ~]# systemctl disable firewalld.service
rm ‘/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service‘ //关闭中继的防火墙
rm ‘/etc/systemd/system/basic.target.wants/firewalld.service‘
FTP三种访问模式
FTP匿名访问模式是比较不安全的服务模式,尤其在真实的工作环境中千万不要存放敏感的数据,以免泄露。
vsftpd程序默认已经允许匿名访问模式,我们要做的就是开启匿名用户的上传和写入权限,写入下面的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
参数
作用
anonymous_enable=YES
允许匿名访问模式。
anon_umask=022
匿名用户上传文件的umask值。
anon_upload_enable=YES
允许匿名用户上传文件
anon_mkdir_write_enable=YES
允许匿名用户创建目录
anon_other_write_enable=YES
允许匿名用户修改目录名或删除目录
确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
systemctl restart vsftpd
systemctl enable vsftpd
匿名用户没有写入权限,那我们将所有者修改为ftp
chown ftp /var/ftp/pub(访问的文件)
在客户端尝试登入FTP服务:
首先安装ftp客户端:yum install ftp -y
虚拟机登陆:
ftp 192.168.10.10
物理机登陆
本地用户模式
既然要使用本地用户模式,而本地用户模式确实要比匿名访问模式更加的安全,所以本实验中会关闭匿名访问模式。
vsftpd服务程序默认已经允许本地用户模式,我们要做的是添加设置本地用户模式权限的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
参数
作用
anonymous_enable=NO
禁止匿名访问模式。
local_enable=YES
允许本地用户模式。
write_enable=YES
设置可写入权限。
local_umask=022
本地用户模式创建文件的umask值。
userlist_deny=YES
参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。
userlist_enable=YES
允许“禁止登陆名单”,名单文件为ftpusers与user_list。
确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
systemctl restart vsftpd
systemctl enable vsftpd
ftpusers或user_list文件中禁止登陆用户名单:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服务为了让FTP服务更加的安全,默认禁止登入root,那么创建个普通用户吧:
useradd hzk
为hzk用户设置密码:
passwd hzk
在客户端尝试登入FTP服务:
ftp 192.168.5.100
虚拟机登入:
虚拟用户模式
因为虚拟用户模式的帐号口令都不是真实系统中存在的,所以只要配置妥当虚拟用户模式会比本地用户模式更加安全,但是Vsftpd服务配置虚拟用户模式的操作步骤相对复杂一些,具体流程如下:
第1步:建立虚拟FTP用户数据库文件。
第2步:创建FTP根目录及虚拟用户映射的系统用户。
第3步:建立支持虚拟用户的PAM认证文件。
第4步:在vsftpd.conf文件中添加支持配置。
第5步:为虚拟用户设置不同的权限。
第6步:重启vsftpd服务,验证实验效果。
第1步:建立虚拟FTP用户数据库文件。
切换至vsftpd程序目录:
cd /etc/vsftpd/
创建用于生成FTP用户数据库的原始帐号和密码文件:
vim vuser.list
//单数行为帐号,双数行为密码。
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db:
db_load -T -t hash -f vuser.list vuser.db
查看数据库文件的类型:
file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
FTP用户数据库内容很敏感,所以权限给小一些:
[root@linuxprobe vsftpd]# chmod 600 vuser.db
删除原始的帐号和密码文件:
rm -f vuser.list
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:
useradd -d /var/ftproot -s /sbin/nologin virtual
查看该用户的家目录权限:
ls -ld /var/ftproot/
drwx------. 3 virtual virtual 74 Jul 14 17:50 /var/ftproot/
为保证其他用户可以访问,给予rwxr-xr-x权限:
chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件:
vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
既然要使用虚拟用户模式,而虚拟用户模式确实要比匿名访问模式更加的安全,配置的同时也关闭匿名开放模式。
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
参数
作用
anonymous_enable=NO
禁止匿名开放模式。
local_enable=YES
允许本地用户模式。
guest_enable=YES
开启虚拟用户模式。
guest_username=virtual
指定虚拟用户帐号。
pam_service_name=vsftpd.vu
指定pam文件。
allow_writeable_chroot=YES
允许禁锢的FTP根目录可写而不拒绝用户登入请求。
第5步:为虚拟用户设置不同的权限
现在不论是linuxprobe还是blackshield帐户,他们的权限都是相同的——默认不能上传、创建、修改文件,如果希望用户blackshield能够完全的管理FTP内的资料,就需要让FTP程序支持独立的用户权限配置文件了:
指定用户独立的权限配置文件存放的目录:
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
创建用户独立的权限配置文件存放的目录:
mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:
cd /etc/vsftpd/vusers_dir/
创建空白的linuxprobe1的配置文件:
touch linuxprobe1
指定linuxprobe1用户的具体权限:
vim linuxprobe1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第6步:重启vsftpd服务,验证实验效果。
确认填写正确后保存并退出vsftpd.conf文件,重启vsftpd程序并设置为开机后自动启用:
systemctl restart vsftpd
systemctl enable vsftpd
ln -s ''/usr/lib/systemd/system/vsftpd.service'' ''/etc/systemd/system/multi-user.target.wants/vsftpd.service
虚拟机/客户机登入:
mkdir files
get post jsonp三种数据交互形式实例详解
一、get请求
1.引入 vue.js 和 vue-resource.js,准备一个按钮
2.准备一个txt文件
3.编写js代码
二、post请求
1.引入 vue.js 和 vue-resource.js,准备一个按钮
2.准备一个PHP文件
3.编写js代码
三、jsonp——百度下拉列表实例
1.引入 vue.js 和 vue-resource.js,准备基础样式代码
- Now}">{{value}} //循环myData数据 绑定样式同时添加条件,下标值此时为几时,背景为灰
//当数据长度为0时,显示暂无数据...
2、编写js代码
3、类似百度搜索了。。。
总结
以上所述是小编给大家介绍的三种数据交互形式get post jsonp实例详解。小编 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得小编不错,可分享给好友!感谢支持。
关于JSP三种指令和jsp三种指令元素的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于8 app三种类型、DHCP三种配置、FTP三种访问模式、get post jsonp三种数据交互形式实例详解等相关内容,可以在本站寻找。
本文标签: