- java 第十章 线程(1)
点纭
java开发语言网络
目录认识线程程序进程线程特点·:创建线程继承Thread类的方法实现Runnable接口的方法Tread类中的方法线程状态认识线程程序进程线程程序(program):是为完成特定任务,用某种语言编写的一组指令的集合。即指一段静态的代码。进程(process)正在内存中运行的应用程序,如运行中的QQ,运行中的音乐播放器。进程是操作系统进行资源分配的最小单位.线程(thread)进程可进一步细化为线程
- spring生命周期流程图
xaqw
笔记
Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解SpringBean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。转载请注明地址http://www.cnblogs
- PHP实现站内搜索的开源利器——WindSearch
rock365337
WindSearchphp开源搜索引擎
WindSearch是一个基于中文分词,由纯PHP开发全文检索引擎,可快速搭建PHP站点的站内搜索,他没有任何繁琐的安装配置、不需要维护调优、不占用服务器内存、可与PHP项目完美融合在一起。github地址:https://github.com/rock365/windsearch必须极速安装~使用composer安装:composerrequirerock365/windsearch或使用Git
- Web Worker终极优化指南:4秒卡顿→0延迟的实战蜕变
前端御书房
JavaScript前端性能优化javascript
导读:从4秒卡顿到丝滑响应真实痛点场景:当斐波那契数列计算量达10亿次时,页面完全冻结4.2秒!通过WebWorker优化后,UI响应时间降至16ms以内。本文手把手带您实现性能蜕变!一、WebWorker核心原理剖析1.浏览器线程架构解密主线程:UI渲染→事件监听→JS执行→网络请求→定时器↓WebWorker线程:纯计算任务→文件IO→大数据处理2.多线程通信机制//主线程constworke
- 前端性能优化:页面加载速度慢怎么办?
好运连连女士
面试题性能优化前端
文章目录前端性能优化如何识别页面加载速度慢的原因性能优化的方式提高资源的请求速度http缓存--提升二次访问的响应速度CDN缓存静态资源缓存webpack的hash策略-文件资源缓存减少资源请求量图片懒加载代码构建优化webpack资源压缩treesharking-js代码的精简分包按需加载浏览器渲染优化webworkerGPU加速前端性能优化如何识别页面加载速度慢的原因方式1:lighthous
- 贪心算法 -- 121. 买卖股票的最佳时机
沿着路走到底
leetcode动态规划股票交易最大利润算法编程
力扣给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,
- 交换机作为DHCP server的IP分发过程(冲突的产生)
香行子
tcp/ip网络网络协议
书接上回我在交换机中新建了2个环回口分别是loopback0:30.179.1.1loopback1:30.179.1.2用来模拟2个终端。此时,我再次接入PC去获取IP地址,这台PC是昨天获取过一次IP的,30.179.1.1。时间已经超过8小时租期。按照昨天的理解,dhcpserver会去发ICMP数据包去依次检测30.179.1.1以及30.179.1.2是否可用。很显然,环回口是可达的。因
- 在低功耗MCU上实现人工智能和机器学习
电子科技圈
SiliconLabs人工智能机器学习嵌入式硬件经验分享科技物联网mcu
作者:SiliconLabs人工智能(AI)和机器学习(ML)技术不仅正在快速发展,还逐渐被创新性地应用于低功耗的微控制器(MCU)中,从而实现边缘AI/ML解决方案。这些MCU是许多嵌入式系统不可或缺的一部分,凭借其成本效益、高能效以及可靠的性能,现在能够支持AI/ML应用。这种集成化在可穿戴电子产品、智能家居设备和工业自动化等应用领域中,从AI/ML功能中获得的效益尤为显著。具备AI优化功能的
- 第一章:认识Tailwind CSS - 第三节 - Tailwind CSS 开发环境搭建和工具链配置
1.必备环境准备Node.js(v14.0.0或更高版本)npm或yarn包管理器代码编辑器(推荐VSCode)2.项目初始化方式方式一:在新项目中使用#创建项目目录mkdirmy-tailwind-projectcdmy-tailwind-project#初始化package.jsonnpminit-y#安装必要依赖npminstall-Dtailwindcsspostcssautoprefix
- PHP实现站内搜索的开源利器——WindSearch
WindSearch是一个基于中文分词,由纯PHP开发全文检索引擎,可快速搭建PHP站点的站内搜索,他没有任何繁琐的安装配置、不需要维护调优、不占用服务器内存、可与PHP项目完美融合在一起。github地址:https://github.com/rock365/windsearch必须极速安装~使用composer安装:composerrequirerock365/windsearch或使用Git
- Ollama 服务配置-常用环境变量
zhangxiangweide
ollama
在Linux上设置环境变量1.通过调用systemctleditollama.service编辑systemd服务。这将打开一个编辑器。这边可以直接通过vim/etc/systemd/system/ollama.service,打开编辑。2.对于每个环境变量,在[Service]部分下添加一行Environment:vim/etc/systemd/system/ollama.serviceEnvi
- 堆垛机的节能方案
骞途
经验分享人工智能笔记
内堆垛机(自动化立体仓库中的核心设备)的节能技术主要通过以下几个路径实现,结合不同的应用场景,其实际效果显著。以下是详细分析:一、主要节能技术路径能量回收与再生制动技术原理:在堆垛机减速或下放货物时,通过变频器将机械动能转化为电能,回馈至电网或储存于储能装置(如超级电容、电池)。场景:适用于频繁启停、升降作业的仓储环境(如电商物流中心、制造业仓库)。效果:可降低能耗10%-20%,尤其在高频次作业
- MySQL常用指令
凌武贰玖
#MySQLSQL数据库mysqloracle数据库
1.登录数据库•mysql-uusername-p:-u指定用户名,-p表示需要输入密码来登录MySQL数据库。2.查看数据库列表•SHOWDATABASES;:用于列出MySQL服务器中的所有数据库。3.创建数据库•CREATEDATABASEdatabase_name;:例如CREATEDATABASEmydb;可以创建一个名为mydb的数据库。4.选择数据库•USEdatabase_name
- 最稳定的linux服务器选择
凌武贰玖
服务器linux运维
redhat>centos>ubuntu。最好用的是redhat,其次是centos。ubuntu做后台服务器经常会自己莫名崩溃。
- 从Swift桥接文件到Clang-LLVM
weixin_33671935
c/c++swift前端ViewUI
前言今天在Swift工程中不小心创建了一个OC文件,于是乎提示我创建一个桥接文件,那么为什么需要创建桥接文件呢,它的原理又是什么呢?打开百度一搜,全是教你怎么创建桥接文件的,似乎找不到答案~LVVM-LowLevelVirtualMachineClang-CLangeFamilyFrontendforLVVM编译器探究GCCGNU编译器套件(GNUCompilerCollection)包括C、C+
- 创建监听器报错“一个或多个listeners启动失败”
cccccchd
项目总结windows
问题:今天写一个需求,即当项目启动时,取出数据库的商品类型,供全局使用,但是出现了创建监听器报错“一个或多个listeners启动失败”。解决:错误示范:我创建了两个IOC容器@WebListenerpublicclassProductTypeListenerimplementsServletContextListener{@OverridepublicvoidcontextInitialized
- The target table my_view3 of the UPDATE is not updatable 怎么解决?
cccccchd
mysqlsql
检查视图是否基于单个表。如果没有,请考虑改为更新基础表。检查视图是否具有任何聚合,例如GROUPBY子句,并在可能的情况下将其删除。检查视图的定义中是否有任何子查询,并在可能的情况下简化或重写它们。检查视图是否包含任何计算列,例如使用表达式或函数创建的列,并考虑删除它们。请考虑在视图上创建一个INSTEADOF触发器来处理更新。确保您具有更新视图所需的权限。请务必注意,并非所有视图都是可更新的,尤
- vcpkg 安装 使用技巧 (详细-建议收藏)
Nsequence
开发语言
一、vcpkg简介vcpkg是一个用于管理C++库的开源工具,由微软推出。它可以帮助开发者轻松地获取、构建和安装大量的C++开源库,解决了在不同平台上编译和管理第三方库的复杂性问题,尤其在Windows平台下优势明显。二、vcpkg的安装(1)下载vcpkg从vcpkg的GitHub仓库()下载最新版本的vcpkg。你可以使用Git克隆仓库,命令如下:```gitgitclonehttps://g
- SWPU 2016 web 部分思路整理
Bendawang
WebWriteUpwebswpu2016ctfwriteup
本来早就该发了,一直以为上周发过了。。。事前吐槽下把,不知道是校网的原因还是服务器的原因,我用校园网连不上比赛服务器,挂上代理之后能够连上但是又很不方便做题,加上vps有点问题什么的,也就瞬间没了欲望。整理下一些题的思路把。由于连不上服务器,python脚本也写不了,所以有些题就只有思路,也不算wp。加上我个人对题目的理解和分析,由于没有实际做题,如果有问题希望大家指正web50源码里面拿到fla
- GTSAM 库详细介绍与使用指南
点云SLAM
点云数据优化工具GTSAMSLAM后端优化最小二乘法计算机视觉贝叶斯
GTSAM库详细介绍与使用指南一、GTSAM概述GTSAM(GeorgiaTechSmoothingandMapping)是由佐治亚理工学院开发的C++开源库,专注于概率图模型(尤其是因子图)的构建与优化,广泛应用于机器人定位与建图(SLAM)、传感器融合、运动规划等领域。其核心优势在于:高效的因子图优化:支持贝叶斯网络建模与非线性优化。增量式求解器(iSAM/iSAM2):适用于实时SLAM问题
- 用示例提升大语言模型的查询分析能力!
llzwxh888
语言模型windows人工智能python
引言随着查询分析的复杂性增加,大语言模型(LLM)在理解如何响应某些场景时可能会面临挑战。为了提高性能,我们可以在提示中添加示例,以便更好地引导模型。本文将详细介绍如何为我们在Quickstart中构建的LangChainYouTube视频查询分析器添加示例,以优化其响应准确性。主要内容设置环境安装依赖项我们需要安装langchain-core和langchain-openai库。#%pipins
- Vue3.0生命周期钩子(包含:Vue 2.0 和 Vue 3.0)
pan_junbiao
Vue我の原创javascript前端vue.js
1、Vue2.0生命周期钩子每个应用程序实例在创建时都有一系列的初始化步骤。例如,创建数据绑定、编译模板、将实例挂载到DOM并在数据变化时触发DOM更新、销毁实例等。在这个过程中会运行一些叫做生命周期钩子的函数,通过这些钩子函数可以定义业务逻辑。应用程序实例中几个主要的生命周期钩子函数的说明如下:钩子函数说明beforeCreate()在实例初始化之后且数据观测和事件/监听器配置之前调用。crea
- rust 实例化动态对象
heroboyluck
rustrust开发语言trait
在功能开发中,动态创建或获取某个对象的情况很多。在前端JS开发中,可以使用工厂函数,通过给定的类型标识创建不同的对象实例;还可以通过对象映射来实现动态创建对象。在Rust中,我们也可以使用这两种方式去创建对象实例,但实现书写的方式可能略有不同;rust还可以通过序列化JSON数据时进行枚举类型匹配。我们定义好需要测试的数据结构体、方法。小狗、小猫有自己的字段、方法,它们有相同的字段name,也有相
- Java Web开发:从入门到实战的技术之旅
计算机学长
java开发工具开发语言java
一、JavaWeb开发初印象在互联网技术飞速发展的当下,JavaWeb开发已成为构建各类网络应用的中流砥柱。简单来说,JavaWeb开发就是利用Java语言及其相关技术,开发出能够在Web服务器上运行,并通过浏览器等客户端进行访问的应用程序。这些应用程序可以是功能丰富的网站、交互性强的Web应用,也可以是复杂的企业级信息系统,广泛应用于电商、金融、教育、医疗等各个领域。当我们在淘宝上尽情购物、在支
- solenv:Solidity与Foundry的环境变量解决方案
武朵欢Nerissa
solenv:Solidity与Foundry的环境变量解决方案solenvDotenvparserforsolidity&foundry项目地址:https://gitcode.com/gh_mirrors/so/solenv项目介绍solenv是一个专为Solidity和Foundry设计的.env文件解析器,简化了在智能合约开发中管理配置变量的过程。此开源项目允许开发者在Solidity脚本
- VBA连接sql server数据库基本操作
OdooWizard
VBAVBA
不多说,直接看代码'连接数据库'定义数据链接对象,保存连接数据库信息Setcnn=CreateObject("ADODB.Connection")'定义记录集对象,保存数据表Setrs=CreateObject("ADODB.Recordset")'定义数据库链接字符串‘DataSource:数据库服务器IP地址‘InitialCatalog:数据库名称‘UserID:数据库登录用户名‘Passw
- Java-Mybatis-Spring配置详解
csdn_yasin
JavaSpringjavaspringMybatisMybatis-Spring
概念什么是MyBatis-Spring?MyBatis-Spring会帮助你将MyBatis代码无缝地整合到Spring中。它将允许MyBatis参与到Spring的事务管理之中,创建映射器mapper和SqlSession并注入到bean中,以及将Mybatis的异常转换为Spring的DataAccessException。最终,可以做到应用代码不依赖于MyBatis,Spring或MyBat
- 使用QPainter绘制饼状图,并显示所占百分比
芒果黑
QtPainter饼状图
绘制饼状图qt就有现成的函数来用,要在相应部分的弧形里显示百分比就需要做一点处理。做法就是在获取扇形二等分线的中点坐标,以这个中点坐标为中心的一个区域再绘制文字。获取中点坐标使用三角函数即可,半径懂,角度也有,很容易就算出距离,再根据所在的象限添加符号就是坐标了效果图:下面上代码头文件#include#include#includeclassArcWidget:publicQWidget{Q_OB
- Java Stream API
曾续缘
java大数据
“【曾续缘聊技术】专栏持续更新中!我是深耕计算机领域的曾续缘,专注用通俗语言讲透硬核知识。关注+星标,获取最新技术干货推送!”JavaStreamAPI是Java8中引入的一个强大特性,它提供了一种高效且易于理解的数据处理方式。在处理集合时,StreamAPI允许我们以声明式的方式表达复杂的数据处理操作,从而简化代码并提高效率。JavaStreamAPI基础创建Stream通过集合:任何集合都可以
- Android架构组件-App架构指南,Android面试基础技能罗列
2401_84149570
程序员android架构面试
通用架构原则推荐的App架构搭建用户界面获取数据关联ViewModel和repository缓存数据持久化数据测试最终的架构指导原则附录暴露网络状态本指南适用于那些已经拥有开发Android应用基础知识的开发人员,现在想了解能够开发出更加健壮、优质的应用程序架构。注意:本指南假定读者熟悉Android框架。如果你不熟悉Android应用程序开发,请查看Android入门培训教程,其中包含本指南的必
- 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