- 安卓将本地日志上传到服务器
胡子洲
Androidandroid服务器
在安卓开发中,将本地日志上传到服务器是一个常见的需求,特别是在开发需要远程监控或调试的应用时。以下是一个基本的步骤和示例,说明如何实现这一功能:1本地日志上传到服务器1.1准备服务器首先,你需要在服务器上设置一个接口,用于接收上传的日志文件。这个接口可以是RESTfulAPI,使用HTTPPOST方法接收文件。你可以使用各种后端技术栈来实现这个接口,如Node.js、Python(Flask或Dj
- 零基础安卓开发起步(二)
zhyuzh3d
本文介绍从零开始进行安卓APP的开发,MaterialDesign的使用。记录学习过程,仅供新手参考。引入MaterialDesignMaterialDesign是谷歌发布的一套安卓界面元素模板。首先我们把它引入到项目里面。首先从项目列表中打开【GradleScripts-Build.gradle(module:app)】文件。如果没有这个文件,不要着急,注意AndroidStudio底部的文字,
- 2020年是做安卓开发人员的绝佳时机,android开发面试自我介绍
m0_66144765
程序员架构移动开发android
你这样做仅仅是准备好一个开发环境去构建安卓App,但是你还得去准备好基础和基本知识来理解安卓开发和大多数教程使用的通用术语你现在也可以在安卓系统上构建基本的App,并且可以开发一些功能。随意使用空白画布,用你的想象力填充它。当你玩完创意后,2020年你的下一个目标是加快游戏进度,推动自己成为一名为数十亿人构建应用的开发者。我们现在去第二层!提升自己-作为一个安卓开发者Level2这个列表将作为你学
- 【安卓面试】
木啊木啊木
android面试职场和发展
百度-APP相关安卓开发数组排序view流程和surfaceViewrecycleViewview绘制流程停止一个线程停止线程的场景输入一个url观察者模式观察者模式的基本流程:安卓内存共享JNISQLkotlin与java混用的问题Linux命令及原理app启动流程小程序原理加密算法对称加密非对称加密安卓持久化存储方式启动模式和场景ANR以及如何避免数组排序八大排序-及复杂度viewView是用
- 程式语言区分
白总Server
htmlpythonjavac++开发语言
程序语言有很多种,每种都有其特定的用途和特点。以下是一些广泛使用的编程语言:1.Python:易于学习,广泛用于数据科学、机器学习、网络开发、自动化等领域。2.Java:广泛应用于企业级应用、安卓开发、大型系统开发等。3.C:一种基础语言,广泛用于系统编程、嵌入式开发、操作系统等领域。4.C++:C语言的扩展,支持面向对象编程,用于游戏开发、高性能应用等。5.JavaScript:主要用于网页前端
- Android逆向抓包技巧-不走系统代理
象野VH
Android逆向基础爬虫
前言不走代理,即NoProxy抓包问题,这种情况是在使用代理之后抓包工具并未捕获到数据,而且无论是开启还是关闭抓包工具,都不影响App正常的数据加载。因为Android系统设置的代理并不是强制对所有App生效,App可以在网络请求类库中通过自定义代理设置,选择是否要走系统代理。举例:在安卓开发中,OkHttp发送请求时,设置Proxy.NO_PROXY,让手机不走系统代理,此时基于系统代理抓不到包
- 在Android应用中使用Clean架构
赤耳A狼
自从开始开发安卓应用,我一直感觉我可以做得更好。我看过不少烂代码,其中当然有我写的。安卓系统的复杂性加上烂代码势必酿成灾祸,所以从错误中成长就很重要。我Google了如何更好地开发应用,发现了这个叫做Clean架构的东西。于是我尝试将它应用于安卓开发,根据我在类似项目中的经验做了一些改善,写出了这篇我觉得较为实用、值得分享的文章。我会在这篇文章中手把手教你在Android应用中使用Clean架构。
- 【安卓开发】发送广播报错One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED...
Zheng113
someproblemsandroidjavaandroidstudio安卓
在备课准备下午去给学生上实验课,本来教材提供了源码,但为了不出意外,还是在自己电脑上完整跑一遍代码,但对着书核对了每行代码,androidstudio中还是报错,能在模拟机上安装app,但点开闪退,查了一些资料,有几种说法:1.没有开广播权限,没有开通知权限等等权限问题;2.由于安卓版本升级,安全等级变高,需要设置专门的通道但是在尝试完上述两种对应解决办法后,无果,遂仔细去看了控制台的两个报错er
- Android开发基础
xiranmoo
android
介绍1.安卓开发简介2.App的运行环境3.Android四大基本组件4.Activity生命周期5.创建新项目6.Android开发工具7.AndroidApp中Activity的生命周期总结1.安卓开发简介android开发是指android平台上应用的制作,Android早期由“Android之父”之称的AndyRubin创办,Google于2005年并购了成立仅22个月的高科技企业Andr
- 安卓开发使用seekBar改变ImageView中图片的色彩
我要最优解
android
前提:ColorMatrix类想要改变ImageView中图片的参数,我们需要先了解ColorMatrix类:ColorMatrix是Android中的一个类,它属于android.graphics包。它用于对图像进行颜色变换,包括但不限于亮度、对比度、饱和度、色调和色相的调整。ColorMatrix通过一个4x5的矩阵来定义线性变换,这个矩阵可以对图像的RGB颜色空间进行操作。他有以下几种常用操
- 安卓开发中的Glide库的使用
我要最优解
androidglide
Glide是一个功能强大的Android图片加载库,它支持加载多种类型的图片格式。以下是Glide可以处理的一些常见图片类型:JPEG:支持加载JPEG格式的图片。PNG:支持加载PNG格式的图片,包括具有透明背景的图片。GIF:支持加载GIF动画,并能够播放动画或将其作为静态帧显示。WebP:支持加载Google的WebP格式图片,包括无损和有损压缩的变体。Bitmap:可以直接加载Androi
- .net maui安卓开发中使用明文传输(一)
A_nanda
.netmauiC#开源架构分析androidmaui.net
背景:最近在做一个pad上的项目,目的是执行每日点检功能(就是检查设备的各项保养指标);前期用HBuilder做了一个,但是现场的触摸屏选用的是TouchPie安卓版本是6.0版本,上次开发的软件可以在安卓7.0上完美兼容,但由于触摸屏安卓版本太低不能兼容;询问厂商才知道这款触摸屏主板是rk3288,安卓版本不能兼容;因此想升级安卓版本是不可能的。因此用.netmaui重新开发了个每日点检的小功能
- jetpack mvvm架构
问心所求
架构androidandroidjetpack
JetpackMVVM理解参考文档Jetpack模式是mvvm在安卓开发下的一个具体实现,是官方推荐的用法,通过数据驱动完成解耦,兼备控制试图的生命周期,Lifecycle能够妥善处理页面的周期,避免view的空指针问题,ViewModel是的UI重建时无需向后台请求数据,节省开销,让试图重建时更快的展现数据,下图展示了mvvm下所有模块如何交互。各模块对应MVVM架构View层:Activity
- Flutter Android开发 梳理Google Material Design颜色体系
夏目艾拉
flutterandroid前端
前言做安卓开发(Kotlin语言),Flutter开发的人员应该都听说过谷歌一直推崇的MaterialDesign,而MaterialDesignColor是其推崇的颜色体系,具体来说,MaterialDesignColor是一套旨在帮助设计师和开发者创建视觉吸引力和一致性界面的指南。它不仅包括了丰富的颜色选择,还提供了如何有效使用这些颜色的建议正文而我们深入了解MaterialDesignCol
- 把Activity当做dialog对话框使用
?。。!
androidactivity类型对话框
1、引言在安卓开发中对话框的使用是不可避免的,但是原生的对话框用起来总感觉差点意思,而且位置不好控制,在与界面的交互上也不够灵活,没有像activity那样的生命周期方法,以至于某些特殊的功能无法实现。此时我们就希望有一种组件能代替对话框的作用,并且有各式各样的生命周期方法,便于控制,针对这种情况我们可以考虑把activity转化为对话框,接下来就以此为例,简单演示如何使用activity类型的对
- QT开发安卓程序初识
无聊的阿乐
代码调试嵌入式QTqt开发语言
Qt|QtForAndroid、Qt5.14.2安卓开发环境搭建详细步骤备注:安装QT时需要选上Android组件测试结果如下:
- ide使用技巧
勤于奋
idejavaintellij-idea
ide平时使用最多的一个开发工具,以前做安卓开发使用过,后来做后端开发也在使用,今天分享一些技巧给大家。在IntelliJIDEA中,输入psvm可以生成publicstaticvoidmain(String[]args)的代码块;在VisualStudio中,输入prop可以生成属性的代码块。IDE通常提供代码模板功能,可以预先定义一些常见的代码块,包括变量声明。您可以通过输入相关的代码模板快捷
- 安卓逆向能做什么|APP自动化执行
爱因斯坦爱编程
“安卓逆向”不是一个新名词,它伴随着安卓开发而生,但是一直以来,仅限于技术圈内流行,对于非技术圈人士,往往把“APP破解”和“安卓逆向”划等号。这篇文章是写给非技术圈人士看的,在于普及安卓逆向的概念及其应用场景。一、安卓逆向是什么?目前百度知道都没有收录安卓逆向这个词条,大部分能搜索到的资料都是技术人员写的偏技术类的文章,往往充斥着代码和各类工具集合,非技术人员一看就比较懵逼。简单地来说,安卓逆向
- 嵌入式面经111道面试题全解析C/C++可参考
爱打球的程小员许乔丹
嵌入式面试c++
高级系列专栏:嵌入式想通关嵌入式面试,请看:《111道嵌入式面试题目录及答案链接》想多掌握几个嵌入式项目,请看:《6个嵌入式项目交流分享(附源码)》安卓(安卓系统开发也要掌握)想通关安卓面试,请看:《150道安卓高频面试题目录及答案链接》想通关安卓系统面试,请看:《140道安卓系统Framework面试题目录及答案链接》想进阶安卓开发,请看:《Android进阶知识体系解析_15大安卓进阶必备知识
- Android开发入门经典实例 - My notes
程序猪小羊
/*Android开发入门经典实例*/Mynoteshttps://www.tianmaying.com/tutorial/a-simple-sample-for-android-development/repo/*安卓开发入门*/涉及到了Android开发中的一些关键知识,比如:配置开发环境App中一个屏幕的抽象:Activity屏幕之间的跳转:Intent构成屏幕展示的视图组件:显示图片的Im
- 你的安卓项目编译要花 10 分钟,如何缩短到 1 分钟?
JFrog
痛点如果项目的代码库较大,例如大型的安卓开发项目,在构建的时候耗时较长,达到数十分钟甚至更长,分析其原因,其中一部分时间是花在构建上。在大规模开发团队中,例如上百人的开发团队,如果每个人构建一次需要花费数十分钟,那么团队每天浪费的时间是非常惊人的。除了构建时间,执行GradleBuild的时候很大一部分时间是花在单元测试用例的执行上,这样的问题也困扰着大规模Gradle的用户。方案为了让构建提升速
- 【Qt】Android上运行keeps stopping, Desktop上正常
七夕先生
qtandroid开发语言安卓
文章目录问题&背景背景问题解决方案OneMoreThingTakeAway问题&背景背景在文章【Qt】最详细教程,如何从零配置QtAndroid安卓环境中,我们在Qt中配置了安卓开发环境,并且能够正常运行。但笔者在成功配置并完成上述文章之前,也参考过其他博主的配置方案,有些方案中是要求手动下载NDK的。所以笔者的电脑中是有手动下载的Android-NDK-r20b的。问题在某次开发中,新建的项目在
- Mac模拟器无法联网问题
资本家大恶人
作为一枚安卓开发者,免不了使用模拟器来开发调试(毕竟它比手机方便太多)。但是因为适配需要,我们会更多的使用真机开发调试,那么当模拟器遇到这样那样的问题,我们往往会无从下手,其中最烦的就是网络问题。我最近图方便,又重新用起了模拟器,但是发现联网失败,用模拟器内置的浏览器也打不开网页,于是百度上一通找,毫无效果,各种说用cmd命令行设置模拟器dns的都没用,显示没有什么dns文件啥的,后来我觉得是不是
- 【原创】基于Qt5.14的一站式安卓开发环境搭建
Jamie.T
Qt安卓开发C/C++qtandroid
一、前言为了学吉他,本博主用C#开发了一个吉他指板音名训练器,奈何PC版不能随时随地记忆指板音,要开发一个安卓版才能满足当下人的现实需求哇!用Java或Kotlin开发安卓App固然好,但本王不想学,只能研究用Qt去开发一个安卓版的App,那么话不多说咱们开动吧。二、材料1.Windows10(专业版)2.Qt5.14.2(qt-opensource-windows-x86-5.14.2.exe)
- 安卓开发解决Could not find method versionName() for arguments [1.0] 问题
笑对浮华
项目中导入一个模块后编译报错CouldnotfindmethodversionName()forarguments[1.0].........根据提示显示下图中所示那一行报错:图一build.gradle(Module:app)打开build.gradle(Module:Project)发现vname的值为1.0,是int类型,正确应该是String类型,加上""后编译通过。更改前如图:图二bui
- 安卓开发界面代码
guwei666666
安卓开发androidandroidstudio
今天写一篇安卓登录代码,包括界面布局以及简单密码验证,适合完成作业的同学。这是.xml文件内代码。packagecom.example.myapp.activity;importandroid.content.Intent;importandroid.util.Log;importandroid.view.View;importandroid.widget.Button;importandroid
- Flutter的MVP开发框架搭建
小小小小朋友_
写给读者本人是一名安卓开发工程师(兼职IOS),最近学习了一下Flutter,整理了一套MVP开发框架。该框架我是基于Android的mvp思想编写的,还没在正式项目上使用,供大家参考。项目介绍包含mvp基础类,网络层封装(RxDart+Dio),数据解析等相关类的封装。项目结构image.pngcommonapplication.dart项目全局属性base项目基类constants常量netw
- 2018安卓巴士开发者大会大咖齐聚共享技术盛会
皮皮酱ye
再过20天-8月25日,2018安卓巴士开发者大会就要在上海东方万国宴会中心举行了,安卓巴士作为源码分享的技术社区,持续组织线下技术活动是我们一直以来坚持在做的事,过去我们每年会去不同的城市举办巡回沙龙。2018年,我的野心是想要举办一场让安卓开发者拍手称赞的全天500人技术大会,一场真正让开发者受益的好活动。本次会议主题是“技术之声改变世界”,与其说这是一场技术大会,我们更愿意称之为一场开发者的
- 安卓开发面试题
qq_42431718
android
什么是Android的四大组件?请简要介绍每个组件的作用。答案:活动(Activity):用于实现应用程序的用户界面,处理用户交互以及展示数据。服务(Service):在后台执行长时间运行的操作,不与用户进行直接交互。广播接收器(BroadcastReceiver):监听系统广播事件或应用内自定义广播事件,并做出相应的操作。内容提供者(ContentProvider):用于应用程序之间共享数据,提
- 安卓开发面试题
qq_42431718
android
请解释一下Android中的MVC和MVVM架构模式有什么区别?答案:MVC(Model-View-Controller)是一种架构模式,将应用程序分为三个主要部分:模型(数据),视图(用户界面)和控制器(逻辑处理)。视图负责展示数据,模型负责存储和处理数据,控制器负责协调视图和模型之间的交互。MVVM(Model-View-ViewModel)是一种架构模式,类似于MVC,但引入了ViewMod
- 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