- Thymeleaf在前台无法显示页面
蹦跑的蜗牛
Springbootjavaspring
在SpringBoot把我搞了两个小时,真的是笨到家了。通过控制器显示在界面这在thinkphp中是多么简单的一个问题。注解在Spring中真的是用神了。tp中应用就用一个use加命名空间就ok,阿西吧~~~~Spring中有点转不过来呀!言归正传Thymeleaf不能跳转到html页面,首先检查是否安装Thymeleaf依赖,一定要是spring-boot-starter-thymeleaf而不
- 如何在 Vue3 + ThinkPHP6 项目中集成微信公众号功能
虎王科技
uni-app小程序编辑器前端
在当今数字化时代,微信公众号已成为企业与用户互动的重要平台。将微信公众号功能集成到基于Vue3和ThinkPHP6的项目中,不仅可以提升用户体验,还能拓展业务渠道。以下是一个详细的解决方案,帮助你实现微信公众号的集成。一、项目背景与需求假设你正在开发一个基于Vue3和ThinkPHP6的电商平台,希望通过微信公众号实现用户登录、支付、分享等功能。微信公众号的集成将为用户提供更便捷的访问方式,并通过
- thinkphp(thinkcmf)前端 “加载更多功能“ 知识点
$(function(){ //点击加载更多 varendNum=0; $("#getMore").click(function(){ varstartNum=endNum; vardisNum=2 endNum=startNum+disNum; $.ajax({ url:"__ROOT__/api/blog/life/do
- ThinkPHP 如何在生产环境中配置日志?
深山技术宅
PHP经验数据库php后端ThinkPHP
在ThinkPHP生产环境中配置日志时,需要重点关注稳定性、性能和安全。以下是最佳实践配置方案:生产环境推荐配置(config/log.php)return['default'=>env('log.channel','stack'),'channels'=>[//组合通道(核心配置)'stack'=>['type'=>'stack','channels'=>['daily','error_file
- thinkphp中行锁(Lock)操作跟事务的关系以及用法
mysql事务数据库
事务跟行锁(Lock)的关系首先解释下事务和锁各自的作用事务的作用事务主要保证一组数据库操作(增删改)的原子性,即要么全部执行成功,要么全部失败,避免出现数据不一致的中间状态.加锁的作用加锁主要解决并发场景下的数据竞争问题,比如多个请求同时修改同一条数据时,可能导致"脏读""不可重复读"等问题.如果仅仅使用事务不用锁的局限性事务操作虽然能保证原子性,但是但是无法阻止并发场景下的数据竞争问题.以'库
- windows本地使用docker-compose构建nginx+php访问thinkphp5
星芯ya
Docker学习docker容器运维
前言:继上一篇windows本地使用docker+nginx+mysql部署thinkphp5https://blog.csdn.net/hmx089674/article/details/136683679本期使用docker-compose搭建环境访问thinkphp5程序。第一步:准备工作检查本地是否安装docker-compose(cmd终端输入docker-compose-v检测,安装D
- thinkphp5.0项目配置多MySQL数据库连接
thinkphp5mysql
公司项目需要连接2个MySQL数据库背景介绍:公司项目是基于fastadmin1.4.0.20230711开发的,里面用到的thinkphp版本是5.0.25,项目涉及到小程序端和设备端,之前做的是两个项目,但是部署在同一台服务器上,分别对应两个数据库,之前两个项目之间的交互是通过互相调用对方接口的方式实现的,优化的时候就想通过在一个项目中连接两个MySQL数据库的方式,避免互相调用带来的性能开销
- ThinkPHP中的日志通道配置
深山技术宅
PHP经验ThinkPHPphp后端日志
在ThinkPHP中配置日志通道主要通过config/log.php文件实现。以下是详细配置说明和示例:1.基础配置结构//config/log.phpreturn['default'=>'file',//默认使用的通道'channels'=>[//通道1:文件日志(默认)'file'=>['type'=>'file','path'=>runtime_path('log'),'level'=>['
- 网络语言系列&php系列【仅供参考】:ThinkPHP6的ORM模型
坦笑&&life
网络php开发语言
ThinkPHP6的ORM模型ThinkPHP6的ORM模型1.ORM简介2.ThinkPHP6ORM使用2.1数据库配置2.2创建模型2.3使用模型3.复杂查询4.事务处理ThinkPHP6的ORM模型ThinkPHP6是一个广泛使用的PHP框架,其ORM(对象关系映射)模型是其核心功能之一。ORM模型允许开发者通过面向对象的方式来操作数据库,极大地简化了数据库操作代码,提高了开发效率。1.OR
- 【thinkphp5】Session和Cache记录微信accesstoken
hj1043
fastadminPHP微信java开发语言
记录一个项目实际遇到的坑,不要把token存放在session,要存在在cache里面!!因为Session并不能设置expire过期时间,Session::set()方法第三个参数是作用域,而非过期时间!!!因此不能混用cache的用法。session的set方法/***session设置*@paramstring$namesession名称*@parammixed$valuesession值*
- ThinkPHP6.0 如何使用日志
小叔哥哥
问题PHPthinkphp
日志遵循PSR-3规范,除非是实时写入的日志,其它日志都是在当前请求结束的时候统一写入的所以不要在日志写入之后使用exit等中断操作会导致日志写入失败。一.写入日志的几种方法1.助手函数trace/***记录日志信息*@parammixed$loglog信息支持字符串和数组*@paramstring$level日志级别(error/info/notice)*@returnarray|void*/t
- ThinkPHP 6 数据库查询,where 、or、and
小叔哥哥
PHPthinkphp
1.查询数据库的方式三种数据库查询(Db类)Db::name()->where()->select()实例化模型查询(建立模型model)$userModel=newuserModel();$userModel->where()->select()使用查询构造器(调用数据库链式操作和查询方法)UserModel::where()->select()俩种查询方式返回的数据格式也不一样。一种是数组,一
- 二次开发源码 借贷系统uniapp/借贷认证系统/小额信贷系统/工薪贷APP/资金贷系统h5
csdndddsd
uniapp借贷系统开发小额贷系统app工薪贷系统安装搭建信用贷认证系统h5资金贷系统安装搭建教程借贷系统安装搭建借贷系统二次开发
前端:UNIAPP后端:ThinkPHP数据库:Mysql前端使用的uniapp可以打包APPH5小程序系统提供了完善的网络借贷体系,为金融中介平台提供从获客到贷后管理全流程服务,解决了借贷手续繁琐、流程缓慢等问题此源码为运营中版本,具有极高稳定性,防注入,防攻击,修复全部已知后门漏洞仅供学习演示、二次开发专用,禁止一切违法行为的利用!可提现金额(元)¥{{qbMoney}}充值提现余额明细余额变
- ThinkPHP框架深入解析与实战技巧
weixin_42613017
本文还有配套的精品资源,点击获取简介:《深入理解ThinkPHP框架》一文深入探讨了ThinkPHP这一广泛使用的PHPWeb开发框架。文章详细阐述了ThinkPHP的核心概念、设计模式、主要特点以及核心组件。此外,还提供了基于ThinkPHP的开发实践案例,包括常见应用场景、开发流程以及进阶话题,如模块化开发、错误处理、RESTfulAPI实现和调试工具的使用。读者将通过本文全面学习到如何高效运
- 宝塔+fastadmin:给项目添加定时任务+log日志自定义添加
25号底片~
php后端配置(宝塔)php
一、定时任务脚本编写1.使用shebang声明执行器#!/usr/bin/envphp这是Unix/Linux系统中脚本文件的标准开头。表示这个脚本使用系统环境变量中的php来执行。2.定义ThinkPHP入口路径并加载框架define('APP_PATH',__DIR__.'/../../application/');require__DIR__.'/../../thinkphp/start.p
- thinkphp8 模型-一对一,一对多,多对多 学习
TO_WebNow
学习android
thinkphp命令创建模型(和laravel基本一样)phpthinkmake:modelUser在模型里创建字段protected$table='User';protected$pk='id';//定义返回哪些字段protected$field=['id','name'];//返回字段的类型protected$schema=['id'=>'int']模型一对一定义模型Idcard,和模型Use
- CRMEB 开源商城开发:ThinkPHP6 业务接口模块详解(微信 / APP 等适配)
在CRMEB开源商城系统中,其基于ThinkPHP6+elementUI+Uni-app框架开发,全开源无加密,支持微信小程序、公众号、H5、APP、PC端适配,且能实现数据同步,为开发者提供了极大的便利。系统的app目录下设有adminapi(后台业务接口模块)、api(应用端业务接口模块)、kefuapi(客服系统业务接口模块)以及outapi(对外接口业务接口模块)。这些模块虽功能各异,但目
- 知识付费源码搭建全攻略:从0到1打造在线教育平台 | 附源码+部署指南
perks
javapip
在知识经济时代,在线教育平台已成为内容创作者、教育机构实现知识变现的核心工具。本文将以ThinkPHP6.0+Vue3.0+MySQL8.0技术栈为例,详细拆解知识付费系统的核心功能开发流程,提供可复用的源码框架及部署方案,助力开发者7天内完成从0到1的MVP搭建。源码:zs.xcxyms.top一、系统架构设计1.1技术选型模块技术方案优势说明后端框架ThinkPHP6.0+Swoole高性能O
- CRMEB 开源商城安装详解:基于 ThinkPHP6+Uni-app 的实操步骤
CRMEB定制开发
开源uni-app微信商城php商城源码
一、创建数据库并导入数据数据库文件预处理:CRMEB开源商城的数据库配置文件位于/crmeb/public/install/crmeb.sql。在导入数据库之前,需要仔细打开该文件,将其中所有的demo.crmeb.com统一替换为您实际使用的域名(注意此处仅填写域名部分,无需添加http)。这一步骤至关重要,它确保了商城系统在后续运行中能够准确识别和关联您的站点。数据库创建与导入:首先,创建一个
- ThinkPHP结合使用PHPConsole向Chrome 控制台输出SQL
少湖说
编程实践chromesqlandroid
在Chrome中安装PHPConsole插件下载PHPConsole服务器端程序包到ThinkPHP的Vendor目录下例如/ThinkPHP/Extend/Vendor/PhpConsole编写Behaviour行为类PhpConsoleBehavior.classfalse,);publicfunctionrun(&$params){if(C('PHP_CONSOLE')){if(APP_DE
- 推客小程序源码定制——联盟分销返利现成源码搭建开发
hedian116
javascript
一、开发模式选择1.**源码定制流程**-基于成熟商业源码二次开发-技术栈要求:```markdown•前端:Uni-app/Taro+Vue.js/React•后端:SpringBoot/ThinkPHP/Node.js•数据库:MySQL5.7+•部署环境:Linux+Nginx+Docker(推荐)```**二、核心定制模块**|模块|可定制内容|技术实现要点||--------------
- 基于ThinkPhp6+Vue+AntDesign前后端分离解决方案
理查德.克莱德曼
ThinkPhp6AntDesignVuevue.js前端ui
项目介绍一款PHP语言基于ThinkPhp6、Vue、AntDesign等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,目前框架已集成了完整的RBAC权限架构和常规基础模块,前端Vue端支持多主题切换,可以根据自己喜欢的风格选择想一个的主题,实现了个性化呈现的需求;为了敏捷快速开发,提升研发效率,框架内
- thinkphp5.1升级thinkphp6遇到的坑
程序员君常笑
thinkphpphp
想着将就项目从tp5.1升级到tp6,哪知道遇到这么多坑,因为tp6不是写给MVC结构,记录下默认安装thinkphp6有问题如果使用指令composercreate-projecttopthink/thinktp安装,不能完全安装。需要添加--ignore-platform-reqs。//安装composercreate-projecttopthink/thinkrent6--ignore-pl
- PHP设备巡检系统小程序源码
设备巡检系统:智能高效,全方位守护您的资产安全基于前沿的ThinkPHP框架与Uniapp技术深度融合,我们匠心独运,打造出一款专为电力、水利、物业等关键巡检领域精心设计的设备巡检系统。它不仅支持轻松编译为微信小程序,让巡检工作随时随地尽在掌握,更以无加密源码的形式开放,支持私有化部署,确保您的数据安全与业务运营自主可控,为您的资产安全筑起一道坚不可摧的数字长城。部门管理:组织架构尽在掌握,调度高
- thinkOrm的批量更新,会把其他的值都更新成默认值
两个人的幸福online
php学习workermanthinkphp8phpthinkphpwebman开发语言
thinkphp里面的批量更新saveAll用的是replace我现在使用webman引入thinkOrm4.0一直有问题,其他未指定的数据也会更新成为默认值,不知道其他版本有没有问题ps:先解释一下replace,这个是insert和update的结合体,他会根据主键更新,找不到是插入数据,这个是mysql的原生语法决定自己更新补充thinkOrm的语法1,添加自定义文件,这个是核心这里解释一下
- Niushop商城系统
木子金光军
uniappphpthinkphp6
Niushop商城系统项目简介Niushop是一个基于ThinkPHP6开发的开源电商系统,采用现代化的技术栈和完善的插件开发机制,为用户提供全方位的电商解决方案。niushop单商户V5版Niushop官网niushop单商户V5版操作手册核心特性商品管理支持普通商品管理支持虚拟商品管理完善的商品分类体系灵活的商品规格设置营销功能拼团活动积分兑换系统分销功能多门店砍价丰富的促销工具配送系统物流配
- 沃德预约派单系统小程序维修派单家政派单小区物业派单家教派单ThinkPHP+Uniapp
博纳软云
全行业源码saaskw博纳miui52086嗖微miui52086小程序uni-app微信公众平台前端微信小程序
预约派单系统为维修团队提供全套的技术系统及运营的方案(目前仅适配微信小程序),可以更好的帮助你打造自己的线上预约派单平台,适用于维修派单,家政派单,小区物业派单,家教派单等多种场景,采用用户下单,代理或者负责人给师傅派单模式,实现代理,师傅,平台收益共享。功能特性用户服务功能预约服务:用户在小程序中输入地址、服务需求等信息,服务师傅为用户提供了一个上门服务。合作伙伴管理功能城市代理:城市服务合作伙
- 教育培训系统小程序ThinkPHP+UniApp
源码库saaskw
嗖微miui52086小程序uni-app微信公众平台微信小程序
一款适用于企业或组织的教育培训微信小程序系统,基于ThinkPHP+Unipp开发,为继续教育、企业培训、考试学习等场景提供一站式学习资料平台,支持课程购买、VIP会员等方式进行在线付费学习。提供前后台无加密源代码,支持私有化部署。功能特性:课程购买:支持购买自己喜欢的课程实战营(专题板块):支持创建多个实战营,精选课程为你推荐VIP模式:开通VIP可以免费学习限定课程卡密模式:支持批量生成卡密,
- 旅游门票预订系统小程序ThinkPHP+UniApp
源码库saaskw
嗖微miui52086旅游uni-app
ThinkPHP+Uniapp开发的旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统,提供前后台无加密源码,支持私有化部署。更新日志V1.3.6修复已知问题!
- Thinkphp5.0读取自定义配置文件
zhao_teng
tp5
//新建配置文件,位置application/extra/user.php//文件内容格式return["name"=>"xiaoli","age"=>15];//先引用usethink\Config;//读取自定义拓展配置dump(config('user'));dump(config('user.name'));————————————————
- 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