- Linux基础2
Lfei5120
linux
文章目录RHCSA课程回顾注:自动化的前提是标准化、规范化。1.网卡命令的步骤:2.ifconfig命令操作3.IP命令及操作4.ss命令操作5.网卡的配置6.硬盘命令7.fdisk命令及操作8.格式化9挂载10.永久挂载11.计划任务12.日志服务与管理13.httpd编译安装apr-util安装http安装http安装RHCSA课程回顾注:自动化的前提是标准化、规范化。网卡回归传统命名一般是:
- arm linux gcc 6.1,安装gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi交叉编译器
Maple丿锋
armlinuxgcc6.1
TheLinaroToolchainWorkingGroupispleasedtoannouncethisquarter’sreleaseoftheLinaroToolchainBinaries,apre-builtversionofLinaroGCCandLinaroGDBthatrunsongenericLinuxorWindowsandtargetstheglibcLinaroEnginee
- ubuntu下 arm-linux-gcc-4.5.1安装v1.0(未经整理版本)
南棱笑笑生
全志
http://astute11.blog.51cto.com/4404646/1048756ubuntu下arm-linux-gcc-4.5.1安装0、rootroot@rootroot-virtual-machine:~$arm-linux-gccarm-linux-gcc:commandnotfoundrootroot@rootroot-virtual-machine:~$gccgcc:fat
- Shell - timeout命令
夜流冰
GNU/Linuxlinux
timeout是一个命令行工具,它运行一个指定的命令,如果在给定的时间后仍在运行,则终止该命令。换句话说,timeout命令允许你运行一个有时间限制的命令。timeout命令是GNU核心实用程序包的一部分(GNUcoreutilitiespackage),几乎所有的Linux发行版都安装了该包。当你想运行一个没有内置超时选项的命令时,它就很方便。在这篇文章中,我们将解释如何使用Linux超时命令。
- aarch64-linux-gnu 交叉编译 libpcap
苍蝇小黑
嵌入式libpcap
文章目录aarch64-linux-gnu交叉编译libpcap1.交叉编译工具下载2.交叉编译工具安装3.配置交叉编译工具环境变量4.libpcap源码下载和编译5.libpcap测试aarch64-linux-gnu交叉编译libpcap1.交叉编译工具下载首先确认交叉编译工具的版本,不同的开发板自带的GLIBC版本可能不同,因此可能出现最新的交叉编译工具编译出的软件不能运行的问题,例如编译后
- Linux - 如何根据名字杀掉一个进程
夜流冰
GNU/Linuxlinux
Linux提供了许多工具来管理系统中的进程。你可以用它们来创建、克隆、甚至销毁进程(create,clone,destroy)。有时你可能需要在Linux中按名称杀死所有进程。在Linux中,有多种方法可以做到这一点。你可以使用pkill、pgrep、pidof和killall中的任何一个函数。在这篇文章中,我们将详细介绍它们。现在的例子都是在Ubuntu中运行的。1,使用pkill命令pkill
- 一、交叉编译工具链-宿主机linux ubuntu 64位-目标机ARMv8 aarch64/系统ubuntu64位
Star__dust
交叉编译交叉编译ARMV8aarch64
交叉编译使用别人做好的交叉编译工具准备工作:安装ubuntu(我是虚拟机),写一个helloword,并gcc成可执行程序运行成功确认你的目标机类型,一定要别弄错了,我的架构是armv8aarch64,怎么确认的?我问同学的去下载一个交叉编译工具链参考链接:link下载链接:linaro我下载的是gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.t
- 产品灵魂
咸叔说
和实物产品功用性不同,互联网作为虚拟产品,直接建立精神联系。产品的灵魂性不是一般要求,而是根本要求,本质要求,是起点。
- Ubuntu安装交叉编译工具链(gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu)
不会创建对象
日常生活小难题linuxubuntu运维aarch
1:首先把压缩包解压出来2:我是把文件名字进行了修改,这个看个人需求。终端输入:sudovim.bashrc在文件最末尾输入:exportPATH=$PATH:/home/the/aarch64-linux-gnu/binexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/the/aarch64-linux-gnu/lib这里解释一下:“/home/the/a
- Linux内核编程(十四)IIC总线驱动FT5X06触摸屏
小仇学长
LinuxlinuxIIC驱动FT5X06
本文目录前述:一、IIC子系统框架二、I2C设备驱动层1.i2c_client编写(C语言版-旧内核)2.i2c_client编写(设备树版-新内核) 前述:对于IIC的基础知识,这里不做过多的介绍,详细情况查看下面的两篇文章。文章一:超详细!新手必看!STM32基础-IIC串行通信协议-IO口模拟IIC操作BMP180。文章二:Linux应用编程(四)IIC(获取BMP180温度/气压数据)。
- 10086端口占用 虚拟机vmnat.exe Windows查看端口占用
tanzongbiao
windows
10086端口占用是虚拟机的vmnat.exeWindows查看端口占用netstat-ano|findstr"10086"taskkill/f/t/im"19716"杀不掉,提示:错误:无法终止PID19716(属于PID1104子进程)的进程。查看是什么程序占用的此端口号
- 在 macOS 的 VMware Fusion 上为 Ubuntu 虚拟机设置稳定的静态 IP 地址
heromps
操作系统macosubuntutcp/ip
1.了解基础知识在局域网中,静态IP地址可以避免每次虚拟机重启时IP地址变化的问题。通常使用C类地址(192.168.0.0~192.168.255.255)来避免与公网IP冲突。2.配置静态IP地址2.1查看VMwareFusion网络配置在VMwareFusion中,虚拟机默认通过NAT模式与外界通信。你可以通过以下步骤查看NAT网络配置:打开终端:在macOS中,打开终端应用程序。进入VMw
- Linux基础
奋斗的小花生
linux
目录Linux基础知识:Linux基础指令:问题:重启虚拟机后共享文件丢失编辑配置文件:sudovi/etc/fstab末尾添加新代码:.host://mnt/hgfsfuse.vmhgfs-fuseallow_other00重启虚拟机:rebootLinux快捷键:ctrl+alt+t:打开Linux终端ctrl+shift++:终端显示文本放大ctrl+-:终端显示文本缩小ctrl+L==cl
- Linux用户/用户组以及权限
奋斗的小花生
linux运维服务器
目录Linux用户:Linux用户组:Linux权限:Linux用户:添加新用户:理解:-m创建一个组,-d仅仅代表指定的是目录home下创建(映射)一个对应的目录信息格式:useradd[选项]用户名如:useradd-d/home/lucy(目录)-m(省略lucy组)lucy(新用户)创建一个用户lucy,并且在home目录下分配一个同名目录(映射)。注意:创建新用户时没有指定组,则会创建一
- linux每个memory cgroup的lru链表是什么创建的
nginux
内存子系统linux服务器内核android
1.概述对Linuxmemory子系统有基本了解的都知道,linux内核通过LRU管理物理内存,不知道是否有思考过如下问题:LRU是全局一套,还是说每个memorycgroup拥有单独的一套LRU链表?直接揭晓答案:每个memorycgroup都会单独的LRU链表2.怎么查到memcg对应的LRU链表内核通过mem_cgroup_lruvec->mem_cgroup_nodeinfo函数获取到me
- Git基本使用
unhurried人生——冕临
版本控制git
Git简介Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。是现代软件开发中不可或缺的工具之一,它通过其强大的分支管理、快速的操作和高效的协作能力,极大地促进了团队的开发效率和代码管理的便利性。Git易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存域和多个工作流分支等特性。由LinusTorvalds为了管理Linux内核开发而创建。Git下载安
- 批量文本文件内容替换之Linux sed命令
絔离
Shell脚本Linuxshelllinux
文章目录sed命令简介需求sed实现批量替换sed命令简介Linuxsed命令可以使用shell脚本进行文件的批量处理,如批量替换、修改等等,尤其是在需要对大量文本文件进行批量操作时,使用sed命令会起到事半功倍的效果。关于详细语法介绍,请参考菜鸟教程Linuxsed命令。需求现在需要对特定目录下的某个xml文件进行指定内容替换操作,目录下的内容如下:每个DAFront_目录下都有一个cfg/.x
- docker安装实验和docker容器的使用,云计算技术与应用报告
不自律的自律_input
云计算docker
题目:Docker的安装和使用实验环境:ubuntu16.04,虚拟机的网络模式设为NAT模式,IP地址通过虚拟DHCP服务器自动分配。实验内容和要求:安装Docker并进行相关实验,熟悉Docker的相关操作。实验包括Docker的安装、镜像和容器的使用、容器的连接、容器间的通信和Nginx的使用。实验原理和机制:Docker是一种构建在LXC之上,基于进程容器的轻量级虚拟化解决方案,实现了应用
- Linux环境 - 部署mysql
奔跑的大头菜
Mysql部署步骤数据库是用来组织、存储和管理数据的仓库1.安装数据库,执行命令:yum-yinstallmysql-server2.启动数据库,安装完毕,执行命令:servicemysqldstart3.登录数据库:mysql-uroot-p回车后输入密码(mysql的默认用户名是root密码为空,直接回车就ok)4.使用数据库,登录成功切换到mysql数据库,输入:usemysql5.连接数据
- Linux下快速判断当前终端使用的是bash or csh
絔离
LinuxShell脚本linuxbash运维
在Linux下设置环境变量的时候,可能你也遇到过export:Commandnotfound一类的错误。这是因为当前终端使用的不是bash,如何快速判断当前终端使用的是哪种类型的shell呢?echo$0判断shell类型最简单的方法就是在终端输入echo$0,根据回显结果来判断。注意:是$0(数字0,不是字母o)如果输出的内容带有bash,则表示你使用的是bash;如果输出的内容带有csh,则表
- 云计算实训38——docker网络、跨主机容器之间的通讯
是小赵鸭.
云计算docker网络linux深度学习学习方法容器
一、docker⽹络1.桥接--bridge所有容器连接到桥就可以使⽤外⽹,使⽤nat让容器可以访问外⽹使⽤ipas指令查看桥,所有容器连接到此桥,ip地址都是172.17.0.0/16⽹段,桥是启动docker服务后出现,在centos使⽤bridge-utils安装1.下载bridge-utilsyum-yinstallbridge-utils.x86_642.查看桥⽂件yumprovides
- 【Handler】Spring MVC控制器详解
科马
javaspringmvcjava
SpringMVC控制器Handler具体流程项目依赖快速入门参数接收请求参数获取servletAPI返回值注解静态资源访问SpringMVC对JSON的支持@RequestBody@ResponseBody拦截器(filter)创建拦截器配置拦截器实现Handler在SpringMVC中,Handler是一个用来处理HTTP请求的对象。它通常是一个控制器(Controller)类中的方法。当用户
- linux脚本中怎么退出tee模式,Linux Shell脚本入门:tee命令
EHOME电子竞技俱乐部
用途说明在执行Linux命令时,我们可以把输出重定向到文件中,比如ls>a.txt,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了。tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中(readfromstandardinputandwritetostandardoutputandfiles.Copystandardinp
- Docker
张小胡
docker容器运维
Docker容器化技术Docker基础Docker是什么?docker原意为“码头工人”,可能会用到集装箱,而docker相当于it行业的集装箱,使用go语言开发实现的。(go语言09年)Docker是一个容器引擎。是一个管理容器的软件。(镜像->容器)(相当于程序->进程之间的关系)Docker并非时一个通用的容器工具,它依赖于已存在并运行的Linux内核环境;Docker实质上是在已运行的Li
- Shell脚本入门:多命令处理
1.01^1000
[000-01].Java笔记linux
我的后端学习大纲我的Linux学习大纲1.什么是多命令处理1.多命令处理就是在Shell脚本文件中编写多个Shell命令2.入门案例:2.1.需求介绍:1.在已知目录/root/itheima目录,执行batch.sh脚本,实现在/root/itheima/目录下创建一个one.txt,在one.txt文件中增加内容“HelloShell”2.2.步骤分析:1.使用mkdir创建/root/ith
- Linux下TCP编程
AI+程序员在路上
嵌入式软件开发linux系列linuxtcp/ipc语言开发语言
一.概念介绍1.socket是什么?socket(套接字)本质上是一个抽象的概念,它是一组用于网络通信的API,提供了一种统一的接口,使得应用程序可以通过网络进行通信。在不同的操作系统中,socket的实现方式可能不同,但它们都遵循相同的规范和协议,可以实现跨平台的网络通信。2.socket实现通信的原理是基于网络协议栈。协议栈是一个由多个层次协议组成的网络协议体系结构,它负责对数据进行封装和解封
- 重头开始嵌入式第二十七天(Linux系统编程 信号通信)
FLPGYH
Linux系统高级编程c语言linuxvim
目录进程间通信===》1.信号通信1.信号的五种类型:2.kill1、信号kill-l==>前32个有具体含义的信号3.信号注册函数原型:1.自定义信号处理:2、在所有的信号中有如下两个特列:2.共享内存信号量集1.key创建方式有三种:共享内存===》效率最高的进程间通信方式1、申请对象:2.映射对象:shmat()3.读写共享内存:类似堆区内存的直接读写:4.撤销映射:shmdt5.删除对象:
- 重头开始嵌入式第二十八天(Linux系统编程 网络通信 套接字)
FLPGYH
linuxvimc语言
目录1.网络编程1.OSI(OpenSystemInterconnection)模型即开放式系统互联通信参考模型。TFTP(TrivialFileTransferProtocol)即简单文件传输协议。2.TCP/IP模型也叫网际互联模型共分为4层:也叫协议栈3、TCP/IP协议族:4.DNS(DomainNameSystem,域名系统)是互联网的一项重要服务。4、网络基础(ABCDE类)5.网络相
- 重头开始嵌入式第二十一天(Linux系统编程 文件相关函数)
FLPGYH
vimlinuxc语言
目录1.getpwuid2.getpwnam3.getgrgid4.symlink在Linux和类Unix系统中,创建软链接(符号链接)的常用指令是ln-s。5.remove6.rename7.link8.truncate9.perror10.strerror11.error1.makefile2.gdbstrtok1.getpwuidgetpwuid函数是C语言标准库中的一个函数,用于通过用户I
- 在Windows中,杀死端口占用
小丁学Java
计算机网络windows命令行windows
要杀死占用某个端口的进程,可以按照以下步骤进行操作:进程ID就是PID打开命令提示符窗口(Windows)或终端(Linux/macOS)。输入命令netstat-ano|findstr"端口号",其中“端口号”是要查找的端口号。例如,如果要查找占用端口8080的进程,可以输入netstat-ano|findstr"8080"。这个命令会列出所有占用该端口的进程及其对应的PID(进程号)。Micr
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include