【引用】Oracle全文检索方面的研究(全10)

4、操作实例

4.1 单列与多列支持中文检索

Create table mytable1(id number primary key, doc1 varchar2(400),doc2 clob,doc3 clob);

 

Insert into mytable1 values(1,'今天的天气很不错,我想去逛街','今天是星期天,不用上班。天天好心情','明天是星期一,要上班。心情不好');

Insert into mytable1 values(2,'天是蓝色的,万里无云。天气非常好。','天是多云的,天气看起来要下雨了。不适宜出门','天正在下雨,大雨倾盆。不能出门。');

Insert into mytable1 values(3,'this is a text','this is a word','this is a pdf');

Commit;

 

--先删除引用

begin

ctx_ddl.drop_preference('my_chinese_vgram_lexer');

ctx_ddl.drop_preference('my_chinese_lexer');

end;

 

--支持中文分词

Begin

ctx_ddl.create_preference('my_chinese_vgram_lexer', 'chinese_vgram_lexer');

ctx_ddl.create_preference('my_chinese_lexer', 'chinese_lexer');

End;

 

--先删除引用

begin

ctx_ddl.drop_preference('my_multi');

end;

--多列查询,如果仅仅是单列,则不用设置这个类型

Begin

Ctx_ddl.create_preference('my_multi', 'multi_column_datastore');

Ctx_ddl.set_attribute('my_multi', 'columns', 'doc1, doc2, doc3');

End;

 

 

drop index myindex;

 

--单列查询,支持中文的索引建立

Create index myindex on mytable(docs)

indextype is ctxsys.context

parameters ('datastore ctxsys.default_datastore lexer foo.my_chinese_lexer')

 

drop index idx_mytable;

--多列查询,支持中文的索引的建立

Create index idx_mytable on mytable1(doc1)indextype is ctxsys.context

parameters('datastore my_multi lexer foo.my_chinese_lexer');

 

--chinese_lexer词法分析器下的结果,三列都可以查询

Select * from mytable1 where contains(doc1, '今天')>0;  --检索到第一条数据

Select * from mytable1 where contains(doc1, '不适宜')>0; --检索到第二条数据

Select * from mytable1 where contains(doc1, '适宜')>0; --检索不到数据,他的分词技术太简单,将‘不适宜’作为一个词了

Select * from mytable1 where contains(doc1, '出门')>0;  --检索到第二条数据

Select * from mytable1 where contains(doc1, 'this is a word')>0;  --检索到第三条数据,中英文适用

 

 

--chinese_vgram_lexer词法分析器下的结果,

--chinese_vgram_lexer词法分析器虽然没那么智能,但检索结果往往比较符合我们的要求,

--如:“不适宜”这个词语应该拆分为“不适宜”和“适宜”两个词语,而不是单独的作为一个词语,

--chinese_vgram_lexer可以查询的到,而chinese_lexer不可以。

drop index idx_mytable;

--多列查询,支持中文的索引的建立

Create index idx_mytable on mytable1(doc1)indextype is ctxsys.context

parameters('datastore my_multi lexer foo.my_chinese_vgram_lexer');

 

--chinese_vgram_lexer词法分析器下的结果,三列都可以查询

Select * from mytable1 where contains(doc1, '今天')>0;  --检索到第一条数据

Select * from mytable1 where contains(doc1, '不适宜')>0; --检索到第二条数据

Select * from mytable1 where contains(doc1, '适宜')>0; --检索到第二条数据,这个分词虽然效率低点,但检索结果还可以

Select * from mytable1 where contains(doc1, '出门')>0;  --检索到第二条数据

Select * from mytable1 where contains(doc1, 'this is a word')>0;  --检索到第三条数据,中英文适用

 

 

--对于多列查询,更新列操作

--只更新从表,看是否能查到更新的信息

Update mytable1 set doc2='adladlhadad this datastore when your text is stored test' where id=2;

 

--同步更新索引

Begin

Ctx_ddl.sync_index('idx_mytable');

End;

--可见,虽然你检索是三个列,但是你更新的不是索引对应的那列(doc1),同步了索引也是不起作用的

Select * from mytable1 where contains(doc1,'adladlhadad')>0; --没有记录

 

--更新与doc1列原来相同内容(实际内容不变,只有操作而已)

Update mytable1 set doc1='天是蓝色的,万里无云。天气非常好。' where id=2;

 

--再同步更新索引

Begin

Ctx_ddl.sync_index('idx_mytable');

End;

 

--再查询一次

Select * from mytable1 where contains(doc1,'adladlhadad')>0; --有结果,可见,对于其他查询的列(非索引对应的列)的更新操作,可以连同索引对应的列一起更新,只是不改变索引的内容即可做到同步索引就可以出现效果了。

4.2 本地磁盘检索

create table mytable3(id number primary key, docs varchar2(2000));

 

insert into mytable3 values(111555,'1.txt');

 

insert into mytable3 values(111556,'1.doc');

 

insert into mytable3 values(111557,'1.xls');

 

insert into mytable3 values(111558,'1.pdf');

 

insert into mytable3 values(111559,'2.txt');

 

insert into mytable3 values(111560,'2.doc');

 

insert into mytable3 values(111561,'2.xls');

 

insert into mytable3 values(111562,'2.pdf');

 

commit;

 

 

--先删除引用

begin

ctx_ddl.drop_preference('COMMON_DIR');

end;

 

--建立 file datastore

begin

ctx_ddl.create_preference('COMMON_DIR','FILE_DATASTORE');

ctx_ddl.set_attribute('COMMON_DIR','PATH','D:\search');

end;

 

--先删除索引

drop index myindex3;

--建立索引,8个文件,内容简单,耗时1.5s

create index myindex3 on mytable3(docs) indextype is ctxsys.context parameters ('datastore COMMON_DIR lexer foo.my_chinese_lexer');

 

select * from mytable3 where contains(docs,'text')>0; --查询,支持txt

select * from mytable3 where contains(docs,'pdf')>0; --查询,支持pdf

select * from mytable3 where contains(docs,'excel')>0; --查询,支持excel

select * from mytable3 where contains(docs,'word')>0; --查询,支持doc

select * from mytable3 where contains(docs,'文本')>0; --查询,支持中文

select * from mytable3 where contains(docs,'文档')>0; --查询,支持中文

select * from mytable3 where contains(docs,'阅读')>0; --查询,支持中文pdf

select * from mytable3 where contains(docs,'这是Excel')>0; --查询,支持中文

 

--暂时测试支持doc,txt,xls,pdf

 

--更新了文件内容2.txt

select * from mytable3 where contains(docs,'这个测试用的文本')>0; --查询无更新好数据

--不同步索引,无效

--同步更新索引

Begin

Ctx_ddl.sync_index('myindex3');

End;

--再次查询

select * from mytable3 where contains(docs,'测试')>0; --还是无效

 

--用相同的值取代2.txt然后再同步索引

Update mytable3 set docs='2.txt' where id=111559;

 

--再同步索引

--同步更新索引

Begin

Ctx_ddl.sync_index('myindex3');

End;

--再次查询

select * from mytable3 where contains(docs,'测试')>0; --结果出现,可见,单更新文件内容,同步索引是无效的,索引认的是数据库纪录,数据库纪录改变,索引才会更新

 

--新增加文件,结果雷同。关键是要更新数据库纪录,即使改了文件内容,也要用相同的值update数据库纪录一次。

4.3 检索结果高亮显示

Create table my_high (id number primary key, docs varchar2(1000));

insert into my_high values (1, 'this is a oracle text example. And oracle is the key word.');

insert into my_high values (2, 'oracle textthis is a oracle ctx_doc hightlight example.');

commit;

/

--建立索引

create index ind_m_high on my_high(docs) indextype is ctxsys.context;

--返回结果的偏移量

set serverout on

declare

v_restab ctx_doc.highlight_tab;

begin

ctx_doc.highlight('ind_m_high', 1, 'oracle', v_restab, true);

for i in 1..v_restab.count loop

dbms_output.put_line('begin with: ' || v_restab(i).offset || ' length: ' || v_restab(i).length);

end loop;

end;

/

begin with: 11 length: 6

begin with: 36 length: 6

 

ctx_doc.highlight参数说明:

ctx_doc.highlight(索引,数据库中的ID, 搜索关键字, 指明返回的偏移量是针对纯文本格式还是针对HTML格式, true);

true or false: 对比PLAINTEXT设置为FALSE和TRUE的区别可以发现,对于HTML所有的标识部分,Oracle统一认为长度等于2。

对于True: oracle textthis is a oracle ctx_doc hightlight example.,认为是2个长度,false的话就全部纪录,认为总共有7个字符长度。</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">                要在sqlplus执行</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">4.4 具体测试</p> <p style="text-indent:2em;">                </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">4.4.1 基本的全文检索</p> <p style="text-indent:2em;">--先删除引用</p> <p style="text-indent:2em;">begin</p> <p style="text-indent:2em;">ctx_ddl.drop_preference('my_chinese_vgram_lexer');</p> <p style="text-indent:2em;">ctx_ddl.drop_preference('my_chinese_lexer');</p> <p style="text-indent:2em;">end;</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--支持中文分词</p> <p style="text-indent:2em;">Begin</p> <p style="text-indent:2em;">ctx_ddl.create_preference('my_chinese_vgram_lexer', 'chinese_vgram_lexer');</p> <p style="text-indent:2em;">ctx_ddl.create_preference('my_chinese_lexer', 'chinese_lexer');</p> <p style="text-indent:2em;">End;</p> <p style="text-indent:2em;">Begin</p> <p style="text-indent:2em;">Ctx_ddl.create_preference('F_DOCNEWS_Preference', 'multi_column_datastore');</p> <p style="text-indent:2em;">Ctx_ddl.set_attribute('F_DOCNEWS_Preference', 'columns', 'F_CONTENT,F_DESCRIPTION,F_TITLE');</p> <p style="text-indent:2em;">End;</p> <p style="text-indent:2em;">drop index f_content_index;</p> <p style="text-indent:2em;">Create index f_content_index on T_DOCNEWS(F_CONTENT)</p> <p style="text-indent:2em;">indextype is ctxsys.context </p> <p style="text-indent:2em;">parameters('datastore F_DOCNEWS_Preference lexer foo.my_chinese_lexer');</p> <p style="text-indent:2em;">Select * from T_DOCNEWS where contains(F_CONTENT,'菲律宾')>0; --有结果,</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">4.4.2 带动态摘要的高亮全文检索</p> <p style="text-indent:2em;">--先删除引用</p> <p style="text-indent:2em;">begin</p> <p style="text-indent:2em;">ctx_ddl.drop_preference('my_chinese_vgram_lexer');</p> <p style="text-indent:2em;">ctx_ddl.drop_preference('my_chinese_lexer');</p> <p style="text-indent:2em;">end;</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--支持中文分词</p> <p style="text-indent:2em;">Begin</p> <p style="text-indent:2em;">ctx_ddl.create_preference('my_chinese_vgram_lexer', 'chinese_vgram_lexer');</p> <p style="text-indent:2em;">ctx_ddl.create_preference('my_chinese_lexer', 'chinese_lexer');</p> <p style="text-indent:2em;">End;</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--先删除索引</p> <p style="text-indent:2em;">drop index f_content_index;</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--新建索引,默认属性,无过滤器,支持中文高级分词</p> <p style="text-indent:2em;">Create index f_content_index on T_DOCNEWS(F_CONTENT)</p> <p style="text-indent:2em;">indextype is ctxsys.context </p> <p style="text-indent:2em;">parameters('datastore ctxsys.default_datastore filter ctxsys.null_filter section group </p> <p style="text-indent:2em;">ctxsys.html_section_group lexer foo.my_chinese_lexer');</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">?--以下开始准备建立存储过程,先定义数组类型</p> <p style="text-indent:2em;">CREATE or replace TYPE f_content_arr AS OBJECT( </p> <p style="text-indent:2em;">id NUMBER , </p> <p style="text-indent:2em;">url varchar2(255),</p> <p style="text-indent:2em;">title varchar2(255),</p> <p style="text-indent:2em;">abstractcontent varchar2(255)</p> <p style="text-indent:2em;">); </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--定义数组变量</p> <p style="text-indent:2em;">CREATE or replace type f_content_arr_re as table of f_content_arr; </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--定义存储过程</p> <p style="text-indent:2em;">create or replace procedure f_content_pro (keyword in varchar,v_cfjg out f_content_arr_re) is </p> <p style="text-indent:2em;">v_restab ctx_doc.highlight_tab;</p> <p style="text-indent:2em;">begin </p> <p style="text-indent:2em;">DECLARE </p> <p style="text-indent:2em;">i number; </p> <p style="text-indent:2em;">s clob;</p> <p style="text-indent:2em;">startnum number;</p> <p style="text-indent:2em;">endnum number;</p> <p style="text-indent:2em;">v_res_fun T_DOCNEWS%rowTYPE; </p> <p style="text-indent:2em;">cursor c_fun is </p> <p style="text-indent:2em;">select *  from T_DOCNEWS where contains(F_CONTENT,keyword)>0; </p> <p style="text-indent:2em;">BEGIN </p> <p style="text-indent:2em;">i := 0; </p> <p style="text-indent:2em;">v_cfjg := f_content_arr_re(); </p> <p style="text-indent:2em;">open c_fun; </p> <p style="text-indent:2em;">LOOP </p> <p style="text-indent:2em;">fetch c_fun </p> <p style="text-indent:2em;">into v_res_fun; </p> <p style="text-indent:2em;">EXIT WHEN c_fun%NOTFOUND; </p> <p style="text-indent:2em;">i := i + 1; </p> <p style="text-indent:2em;">s := v_res_fun.F_CONTENT;</p> <p style="text-indent:2em;">v_cfjg.EXTEND; </p> <p style="text-indent:2em;">ctx_doc.highlight('f_content_index', v_res_fun.F_ID, keyword, v_restab, false);</p> <p style="text-indent:2em;">--只取第一个,没有loop循环</p> <p style="text-indent:2em;">startnum:=v_restab(1).offset;</p> <p style="text-indent:2em;">if v_restab(1).offset > 30 then</p> <p style="text-indent:2em;">   begin</p> <p style="text-indent:2em;">        startnum := v_restab(1).offset-30 ;</p> <p style="text-indent:2em;">   end; </p> <p style="text-indent:2em;">end if;</p> <p style="text-indent:2em;">if v_restab(1).offset <= 30 then</p> <p style="text-indent:2em;">   begin</p> <p style="text-indent:2em;">        startnum := 1 ;</p> <p style="text-indent:2em;">   end; </p> <p style="text-indent:2em;">end if;</p> <p style="text-indent:2em;">if length(s)-v_restab(1).offset > 30 then</p> <p style="text-indent:2em;">   begin</p> <p style="text-indent:2em;">        endnum := v_restab(1).offset+30 ;</p> <p style="text-indent:2em;">   end; </p> <p style="text-indent:2em;">end if;</p> <p style="text-indent:2em;">if length(s)-v_restab(1).offset <= 30 then</p> <p style="text-indent:2em;">   begin</p> <p style="text-indent:2em;">        endnum := length(s) ;</p> <p style="text-indent:2em;">   end; </p> <p style="text-indent:2em;">end if;</p> <p style="text-indent:2em;">v_cfjg(v_cfjg.count) := f_content_arr(v_res_fun.F_ID,v_res_fun.F_URL,v_res_fun.F_TITLE,substr(s,startnum,endnum-startnum)); </p> <p style="text-indent:2em;">dbms_output.new_line(); </p> <p style="text-indent:2em;">END LOOP; </p> <p style="text-indent:2em;">end; </p> <p style="text-indent:2em;">EXCEPTION </p> <p style="text-indent:2em;">WHEN TOO_MANY_ROWS THEN </p> <p style="text-indent:2em;">DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS'); </p> <p style="text-indent:2em;">WHEN OTHERS THEN </p> <p style="text-indent:2em;">DBMS_OUTPUT.PUT_LINE(sqlerrm); </p> <p style="text-indent:2em;">end f_content_pro; </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--在此,全文检索存储过程定义完毕</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">--以下是sqlplus调用 </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">declare</p> <p style="text-indent:2em;">   s f_content_arr_re;</p> <p style="text-indent:2em;"> begin    </p> <p style="text-indent:2em;">   f_content_pro('菲律宾',s);     </p> <p style="text-indent:2em;"> END;  </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">       Java后台调用存储过程并返回参数代码:</p> <p style="text-indent:2em;">            public ArrayList<DocNews> search(String keyword) {</p> <p style="text-indent:2em;">                  ArrayList<DocNews> list = new ArrayList<DocNews>();</p> <p style="text-indent:2em;">                  Connection conn = null;</p> <p style="text-indent:2em;">                  ResultSet rs = null;</p> <p style="text-indent:2em;">                  CallableStatement stmt = null;</p> <p style="text-indent:2em;">                  DocNews docnews;</p> <p style="text-indent:2em;">                  try {</p> <p style="text-indent:2em;">                        conn = DBPool.getConnection();</p> <p style="text-indent:2em;">                        stmt = null;</p> <p style="text-indent:2em;">               String procName = new StringBuffer().append("{ call f_content_pro(?,?) } ").toString();</p> <p style="text-indent:2em;">                        stmt = conn.prepareCall(procName);</p> <p style="text-indent:2em;">                        stmt.setString(1, keyword);</p> <p style="text-indent:2em;">                        stmt.registerOutParameter(2, Types.ARRAY, "F_CONTENT_ARR_RE");</p> <p style="text-indent:2em;">                        stmt.execute();</p> <p style="text-indent:2em;">                        ARRAY arr = (ARRAY) stmt.getArray(2);</p> <p style="text-indent:2em;">                        rs = arr.getResultSet();</p> <p style="text-indent:2em;">                        while (rs.next()) {</p> <p style="text-indent:2em;">                              STRUCT struct = (STRUCT) rs.getObject(2);</p> <p style="text-indent:2em;">                              Object[] obs = struct.getAttributes();</p> <p style="text-indent:2em;">                              docnews = new DocNews();</p> <p style="text-indent:2em;">                              docnews.setId(((BigDecimal)obs[0]).longValue());</p> <p style="text-indent:2em;">                              docnews.setUrl((String)obs[1]);</p> <p style="text-indent:2em;">                              docnews.setTitle((String)obs[2]);</p> <p style="text-indent:2em;">                              docnews.setAbstractcontent((String)obs[3]);</p> <p style="text-indent:2em;">                              list.add(docnews);</p> <p style="text-indent:2em;">                        }</p> <p style="text-indent:2em;">                        if (stmt != null) {</p> <p style="text-indent:2em;">                              stmt.close();</p> <p style="text-indent:2em;">                        }</p> <p style="text-indent:2em;">                        if (conn != null) {</p> <p style="text-indent:2em;">                              conn.close();</p> <p style="text-indent:2em;">                        }</p> <p style="text-indent:2em;">                  } catch (Exception e) {</p> <p style="text-indent:2em;">                        e.printStackTrace();</p> <p style="text-indent:2em;">                  }</p> <p style="text-indent:2em;">                  return list;</p> <p style="text-indent:2em;">         }</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">       注:在java中调用方法,除了在项目里加入class12.jar包以外,还需要加入Oracle自带的orai18n.jar包,如果仅仅是执行main方面,则可以,但如果是web项目,则要将orai18n.jar包加入到jdk的%jdk%\jre\lib\ext目录中才行。如果没有orai18n.jar这个包会造成检索调用存储过程返回结果是乱码(???三个问号)。</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">4.4.3 检索简单界面图</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">5.检索性能</p> <p style="text-indent:2em;">                        执行以下索引</p> <p style="text-indent:2em;">Create index f_content_index on T_DOCNEWS(F_CONTENT)</p> <p style="text-indent:2em;">indextype is ctxsys.context </p> <p style="text-indent:2em;">parameters('datastore F_DOCNEWS_Preference lexer foo.my_chinese_lexer');</p> <p style="text-indent:2em;">总共5272条新闻,总耗时61s</p> <p style="text-indent:2em;">合计约一分钟5000条</p> <p style="text-indent:2em;"> </p> <p style="text-indent:2em;">查询仅需200多毫秒</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1287787841711026176"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(【引用】Oracle全文检索方面的研究(全10))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1892421754261925888.htm" title="2025年三个月自学手册 网络安全(黑客技术)" target="_blank">2025年三个月自学手册 网络安全(黑客技术)</a> <span class="text-muted">网安kk</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。如何成为一名黑客很多朋友在学习安全方面都会半路转行,因为不知如何去学,在这里,我将这个整份答案分为黑客(网络安全)入门必备、黑客(网络安全)职业指南、黑客(网络安全)学习导航</div> </li> <li><a href="/article/1892407250018955264.htm" title="自动化的抖音" target="_blank">自动化的抖音</a> <span class="text-muted">luckycoke</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>文件命名main.jsvaruiModule=require("ui_module.js");if(!auto.service){toast("请开启无障碍服务");auto.waitFor();}varisRunning=true;varswipeCount=0;vartargetSwipeCount=random(1,10);varwindow=uiModule.createUI();uiMo</div> </li> <li><a href="/article/1892403720109486080.htm" title="二进制、八进制、十进制和十六进制的相互转换" target="_blank">二进制、八进制、十进制和十六进制的相互转换</a> <span class="text-muted">前端熊猫</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E8%BF%9B%E5%88%B6/1.htm">二进制</a><a class="tag" taget="_blank" href="/search/%E5%85%AB%E8%BF%9B%E5%88%B6/1.htm">八进制</a><a class="tag" taget="_blank" href="/search/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6/1.htm">十六进制</a><a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a> <div>printf函数printf函数是C语言中用于将格式化的数据输出到标准输出(通常是屏幕)的函数。它位于stdio.h头文件中,因此在使用之前需要包含该头文件。printf函数的格式说明符格式说明符说明示例%d或%i输出或输入十进制有符号整数printf("%d",10);scanf("%d",&num);%u输出或输入十进制无符号整数printf("%u",10U);scanf("%u",&uns</div> </li> <li><a href="/article/1892403593798021120.htm" title="cesium 加载本地json、GeoJson数据" target="_blank">cesium 加载本地json、GeoJson数据</a> <span class="text-muted">前端熊猫</span> <a class="tag" taget="_blank" href="/search/Cesium/1.htm">Cesium</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>GeoJSON是一种用于编码地理数据结构的格式{"type":"Feature","geometry":{"type":"Point","coordinates":[125.6,10.1]},"properties":{"name":"某地点"}}一、直接加载GeoJSON文件//方式1:通过GeoJsonDataSource加载viewer.dataSources.add(Cesium.GeoJ</div> </li> <li><a href="/article/1892403467411058688.htm" title="网页中加载 SVG 的七大方式" target="_blank">网页中加载 SVG 的七大方式</a> <span class="text-muted">前端熊猫</span> <a class="tag" taget="_blank" href="/search/Svg/1.htm">Svg</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>一、直接使用标签加载外部SVG文件优点:简单易用:与加载其他图片格式(如PNG、JPEG)相同。浏览器支持良好:现代浏览器普遍支持。可缓存:SVG文件可以被浏览器缓存,减少重复请求。缺点:无法直接操作SVG内部元素:如果需要对SVG内部的元素进行交互或样式修改,这种方法不适用。适用场景:静态图像展示:仅需要展示SVG图像,不需要与之交互。二、将SVG作为CSS背景图片.icon{width:100</div> </li> <li><a href="/article/1892402708804071424.htm" title="LQB---基础练习---十六进制转八进制" target="_blank">LQB---基础练习---十六进制转八进制</a> <span class="text-muted">「已注销」</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a> <div>试题基础练习十六进制转八进制资源限制内存限制:512.0MBC/C++时间限制:1.0sJava时间限制:3.0sPython时间限制:5.0s问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式输入的第一行为一个正整数n(1<=n<=10)。接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为</div> </li> <li><a href="/article/1892400063376846848.htm" title="scoped作用原理及样式穿透的应用" target="_blank">scoped作用原理及样式穿透的应用</a> <span class="text-muted">太阳与星辰</span> <a class="tag" taget="_blank" href="/search/Vue2/1.htm">Vue2</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>scoped作用原理及样式穿透的应用(1)scoped作用原理(2)对第三条的详细解释(3)场景----微调第三方库样式(4)样式穿透(5)补充(1)scoped作用原理scoped是Vue样式作用域的一个特性,相信很多人经常在项目中用它来避免样式污染(即样式隔离)。当我们在一个组件中给style标签加上scoped时候,它会遵循以下三个规则,如下为组件实例生成一个唯一标识(可以称为文件指纹),给</div> </li> <li><a href="/article/1892395147325403136.htm" title="微信小程序之自定义轮播图实例 —— 微信小程序实战系列(3)" target="_blank">微信小程序之自定义轮播图实例 —— 微信小程序实战系列(3)</a> <span class="text-muted">2401_84910072</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>由于微信小程序,整个项目编译后的大小不能超过1M查看做轮播图功能的一张图片大小都已经有100+k了那么我们可以把图片放在服务器上,发送请求来获取。index.wxml:这里使用小程序提供的组件autoplay:自动播放interval:自动切换时间duration:滑动动画的时长current:当前所在的页面bindchange:current改变时会触发change事件由于组件提供的指示点样式比</div> </li> <li><a href="/article/1892395146029363200.htm" title="CTF学习法则——寒假篇 新手赶快收藏吧!" target="_blank">CTF学习法则——寒假篇 新手赶快收藏吧!</a> <span class="text-muted">网络安全技术分享</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/CTF/1.htm">CTF</a> <div>CTF(CapturetheFlag)是网络安全领域中的一种比赛形式,涵盖了漏洞利用、逆向工程、加密解密、编码解码等多方面的技术,参与者通过解决难题(称为“Flag”)获得积分。对于想要在寒假期间提升CTF技能的同学们,以下是一些有效的学习法则,可以帮助你高效地进行学习和提升:1.合理规划学习时间寒假时间有限,建议制定合理的学习计划:每天固定时间学习:保持稳定的学习节奏,避免临时抱佛脚。分阶段学习</div> </li> <li><a href="/article/1892388470647746560.htm" title="Failed to initialize editor" target="_blank">Failed to initialize editor</a> <span class="text-muted">Mac Zhu</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>今天遇到很奇葩的问题layout文件不能预览花了很长的时间处理,就是各种AndroidStudio相关的缓存文件的处理1.Invalidateandrestart2.删除Administrator下面的.android和.gradle3.删除Administrator\AppData\Local\Google\AndroidStudio2024.2目录4.重装AS5.升级降低AGPVersion和</div> </li> <li><a href="/article/1892387208879468544.htm" title="Android 10 创建不了文件夹" target="_blank">Android 10 创建不了文件夹</a> <span class="text-muted">燕满天</span> <div>Android10改变了文件的存储方式可以在Androidmainfest里面的application添加android:requestLegacyExternalStorage="true"使用原来的存储方式或者,不要自己创文件夹了AndroidQ为每个应用程序提供了一个独立的在外部存储设备的存储沙箱,没有其他应用可以直接访问您应用的沙盒文件。由于文件是私有的,因此访问这些文件不再需要任何权限。</div> </li> <li><a href="/article/1892386200312934400.htm" title="JavaScript——操作浏览器窗口" target="_blank">JavaScript——操作浏览器窗口</a> <span class="text-muted">yiqi_perss</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>学习内容:今天学习了alert提示框,提示框中的内容,就是alert后边小括号中的内容例如:alert('我要学JavaScript!');alert('我要学习!');学习总结:日常小总结例如:后面的分号;可以随便去掉,不影响运行效果。不能去掉小括号,否则会报错,不信你可以试试。必须是英文引号,否则会报错。课外扩展:历史渊源例如:ECMAScript是一种语言标准,而JavaScript是网景公</div> </li> <li><a href="/article/1892386200736559104.htm" title="C语言——算找零" target="_blank">C语言——算找零</a> <span class="text-muted">yiqi_perss</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>#includeintmain(){intprice=0;printf("请输入金额(元):");scanf("%d",&price);intchange=100-price;printf("找您%d元。\n",change);return0;}需要:1、有地方放输入的数字;2、有办法输入数字;3、输入的数字能参与计算。1.7读整数使用一个新的函数:scanf(“”);scanf("%d",&zh</div> </li> <li><a href="/article/1892385065640456192.htm" title="MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决" target="_blank">MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>个人博客地址:MapReduce读取HiveORCArrayIndexOutOfBoundsException:1024异常解决|一张假钞的真实世界在MR处理ORC的时候遇到如下异常:Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:1024atorg.apache.orc.impl.RunLengthIntegerRe</div> </li> <li><a href="/article/1892383167571095552.htm" title="cmake linux模板 多目录_【转载】CMake 简介和 CMake 模板" target="_blank">cmake linux模板 多目录_【转载】CMake 简介和 CMake 模板</a> <span class="text-muted">weixin_39790738</span> <a class="tag" taget="_blank" href="/search/cmake/1.htm">cmake</a><a class="tag" taget="_blank" href="/search/linux%E6%A8%A1%E6%9D%BF/1.htm">linux模板</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%9B%AE%E5%BD%95/1.htm">多目录</a> <div>如果你用Linux操作系统,使用cmake会简单很多,可以参考一个很好的教程:CMake入门实战|HaHack。如果你用Linux操作系统,而且只是运行一些小程序,可以看看我的另一篇博客:你就编译一个cpp,用CMake还不如用pkg-config呢。但如果你用Windows,很大的可能你会使用图形界面的CMake(cmake-gui.exe)和VisualStudio。本文先简单介绍使用CMak</div> </li> <li><a href="/article/1892381020796284928.htm" title="无需配置!深脑云一键启用DeepSeek全系AI模型" target="_blank">无需配置!深脑云一键启用DeepSeek全系AI模型</a> <span class="text-muted">小深ai硬件分享</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>解锁无限算力潜能,开启DeepSeek镜像云算力新征程!在人工智能风起云涌的时代,算力就是驱动创新的引擎,而优质的模型镜像则是引领变革的密钥。我们向您介绍一下我们的深脑云算力平台,这里汇聚了DeepSeek的各大版本镜像,为您的科研、开发与创新之路注入强大动力!强大的DeepSeek模型家族DeepSeek,作为AI领域的璀璨明星,以其卓越的性能和先进的技术架构闻名遐迩。我们的平台精心整合了Dee</div> </li> <li><a href="/article/1892375095628853248.htm" title="MXTU MAX 苹果cmsv10模板 仿毒舌自适应主题/短视X体验版完全开源" target="_blank">MXTU MAX 苹果cmsv10模板 仿毒舌自适应主题/短视X体验版完全开源</a> <span class="text-muted">希希分享</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E5%B8%8C%E7%BD%9158soho_cn/1.htm">软希网58soho_cn</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E8%B5%84%E6%BA%90/1.htm">源码资源</a><a class="tag" taget="_blank" href="/search/%E4%BB%BF%E6%AF%92%E8%88%8C%E8%87%AA%E9%80%82%E5%BA%94%E4%B8%BB%E9%A2%98%2F/1.htm">仿毒舌自适应主题/</a> <div>基于MxonePro二开的主题,全开源未加密。MXTUMAX仿毒舌苹果CMS影视自适应主题主题说明:1、将mxtheme目录放置根目录|将mxpro目录放置template文件夹中2、苹果cms后台-系统-网站参数配置-网站模板-选择mxpro模板目录填写html3、网站模板选择好之后一定要先访问前台,然后再进入后台设置4、主题后台地址:MXTUMAX图图主题,/admin.php/admin/m</div> </li> <li><a href="/article/1892374590043254784.htm" title="1002:方便记忆的电话号码" target="_blank">1002:方便记忆的电话号码</a> <span class="text-muted">努力的小Qin</span> <div>1002:方便记忆的电话号总时间限制:2000ms内存限制:65536kB描述英文字母(除Q和Z外)和电话号码存在着对应关系,如下所示:A,B,C->2D,E,F->3G,H,I->4J,K,L->5M,N,O->6P,R,S->7T,U,V->8W,X,Y->9标准的电话号码格式是xxx-xxxx,其中x表示0-9中的一个数字。有时为了方便记忆电话号码,我们会将电话号码的数字转变为英文字母,如把</div> </li> <li><a href="/article/1892372950242357248.htm" title="FastStone 10.x 注册码" target="_blank">FastStone 10.x 注册码</a> <span class="text-muted">一条晓鱼</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>简介FastStoneCapture是一款经典好用的屏幕截图软件,在屏幕截图领域具有广泛的应用和众多优势。软件基本信息FastStoneCapture体积小巧,占用内存少,这使得它在运行时不会给计算机系统带来过多的负担,即使在配置较低的电脑上也能流畅运行。例如,在一些老旧的办公电脑上,FastStoneCapture可以快速启动并进行截图操作,而不会出现明显的卡顿现象。它的界面简洁干净,操作相对简</div> </li> <li><a href="/article/1892372571739975680.htm" title="C语言/C++常见习题问答集锦(七十八)之数字流星雨" target="_blank">C语言/C++常见习题问答集锦(七十八)之数字流星雨</a> <span class="text-muted">五一编程</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/vc%2B%2B/1.htm">vc++</a> <div>C语言/C++常见习题问答集锦(七十八)之数字流星雨程序之美流星雨是在夜空中有许多的流星从天空中一个所谓的辐射点发射出来的天文现象。这些流星是宇宙中被称为流星体的碎片,在平行的轨道上运行时以极高速度投射进入地球大气层的流束。大部分的流星体都比沙砾还要小,因此几乎所有的流星体都会在大气层内被销毁,不会击中地球的表面;能够撞击到地球表面的碎片称为陨石。数量特别庞大或表现不寻常的流星雨会被称为“流星突出</div> </li> <li><a href="/article/1892372444673536000.htm" title="【分布式理论12】事务协调者高可用:分布式选举算法" target="_blank">【分布式理论12】事务协调者高可用:分布式选举算法</a> <span class="text-muted">roman_日积跬步-终至千里</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E6%9E%B6%E6%9E%84/1.htm">分布式架构</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>文章目录一、分布式系统中事务协调的问题二、分布式选举算法1.Bully算法2.Raft算法3.ZAB算法三、小结与比较一、分布式系统中事务协调的问题在分布式系统中,常常有多个节点(应用)共同处理不同的事务和资源。前文【分布式理论9】分布式协同:分布式系统进程互斥与互斥算法【分布式理论10】分布式协同:分布式互斥算法最佳实现:分布式锁的原理与实现【分布式理论11】分布式协同之分布式事务中介绍了分布式</div> </li> <li><a href="/article/1892371689220665344.htm" title="使用BLIP模型生成图像描述的可查询索引" target="_blank">使用BLIP模型生成图像描述的可查询索引</a> <span class="text-muted">dgay_hua</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在本篇文章中,我们将介绍如何使用预训练的SalesforceBLIP图像描述模型,生成一个可查询的图像描述索引。我们将使用ImageCaptionLoader来加载图像,并通过一系列步骤生成查询索引。使用示例代码进行演示,帮助读者理解和实践。技术背景介绍随着计算机视觉技术的发展,图像描述生成成为了重要的研究领域。通过对图像内容自动生成文字描述,可以大大提高对图像信息的检索和管理效率。Salesfo</div> </li> <li><a href="/article/1892370554577547264.htm" title="【python】懒人福利,通过Python的JIRA库操作JIRA,自动批量提交关闭bug,提高效率" target="_blank">【python】懒人福利,通过Python的JIRA库操作JIRA,自动批量提交关闭bug,提高效率</a> <span class="text-muted">bulabula2022</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/CI%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/1.htm">CI持续集成</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a> <div>简介:Jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支持),有开源代码,方便做二次开发(可扩展性)。Jira是一款功能非常强大的管理工具,广泛的用来缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理、项目计划管理等工作领域。python有支持操作Jira的第三方包,方便自定义一些自动化操作。需要安装jira库:pipinstalljiraJira认证fromjiraimp</div> </li> <li><a href="/article/1892368915095416832.htm" title="JVM调优 从Full GC报警到性能提升90%的调优实录" target="_blank">JVM调优 从Full GC报警到性能提升90%的调优实录</a> <span class="text-muted">C_V_Better</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">java性能优化</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>背景事故现场:某社交APP晚高峰突发服务卡顿,用户消息延迟飙升监控大屏:GC时间从50ms/次→5秒/次堆内存锯齿状波动(配Prometheus图表)“FullGC每分钟触发3次,但堆内存却越回收越少?”一、GC日志分析——JVM的“心电图”解读1.日志结构全解析[GC(AllocationFailure)[PSYoungGen:614400K->24064K(614400K)]614400K-></div> </li> <li><a href="/article/1892366269613666304.htm" title="【JavaSE】GUI编程(图形界面)" target="_blank">【JavaSE】GUI编程(图形界面)</a> <span class="text-muted">lil_侯昊</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>GUI(GraphicalUserInterface)图形用户界面-àjava提供的图形用户界面UI–用户界面Swing概述Javax.swing包此包中包含了java主要的图形界面的实现类●swing是一个为Java设计的GUI工具包javax.swing,该包中包括了图形用户界面的各种组件支持。●一个Java的图形界面,由各种不同类型的“元素”组成,这些“元素”被称为组件(Component)</div> </li> <li><a href="/article/1892363994723840000.htm" title="《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》" target="_blank">《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》</a> <span class="text-muted">进击的雷神</span> <a class="tag" taget="_blank" href="/search/%E6%AD%A6%E6%9E%97%E7%BB%9D%E5%AD%A6%EF%BC%9A%E6%8A%80%E6%9C%AF%E6%9D%82%E8%B0%88%E5%89%91%E5%BD%B1%E6%B5%81%E8%BD%AC/1.htm">武林绝学:技术杂谈剑影流转</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>目录智能运维革命:DeepSeek带来的范式转变DeepSeek核心运维能力全景解析分级实战场景与解决方案3.1初级工程师:自动化运维入门3.2中级工程师:复杂系统诊断与优化3.3高级工程师:架构级智能运维典型项目案例深度剖析4.1金融系统全链路监控体系构建4.2电商大促资源弹性调度实战4.3混合云环境下的安全加固分级能力提升路径效能提升数据验证挑战与演进方向构建智能运维体系行动指南1.智能运维革</div> </li> <li><a href="/article/1892362230264033280.htm" title="Python 基础-循环" target="_blank">Python 基础-循环</a> <span class="text-muted">赔罪</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E5%AD%A6%E4%B9%A0/1.htm">系统学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>目录简介breakcontinue小结简介要计算1+2+3,我们可以直接写表达式:>>>1+2+36要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:names=[</div> </li> <li><a href="/article/1892360084474884096.htm" title="前端超长列表,虚拟滚动实现" target="_blank">前端超长列表,虚拟滚动实现</a> <span class="text-muted">大橙子-</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>虚拟滚动.container{width:300px;height:500px;overflow:hidden;border:1pxsolid#ccc;margin-top:50px;}.scroll-box{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;position:relative;}.scroll-height-main</div> </li> <li><a href="/article/1892358066893025280.htm" title="钉钉酷应用开发" target="_blank">钉钉酷应用开发</a> <span class="text-muted">死神黑夜降临</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE/1.htm">项目</a><a class="tag" taget="_blank" href="/search/%E9%85%B7%E5%BA%94%E7%94%A8/1.htm">酷应用</a> <div>钉钉酷应用开发注意事项背景介绍注意事项1开发注意2授权注意3上线注意背景介绍钉钉针对应用进行微化的一种升级,与应用是绑定一起的。注意事项1开发注意钉钉应用分为三方应用和企业内部应用,酷应用依托于钉钉应用,故其也存在三方应用和内部应用的区分二者的不同点,三方酷应用想在手机端调试或者电脑端调试,需要提交发布申请,提交后,填写的访问地址链接不能修改;内部应用不存在这个问题,是可以随时修改的,这点很重要,</div> </li> <li><a href="/article/1892354539160399872.htm" title="【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑧】" target="_blank">【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑧】</a> <span class="text-muted">车端域控测试工程师</span> <a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B/1.htm">测试用例</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/CANoe/1.htm">CANoe</a><a class="tag" taget="_blank" href="/search/CAPL/1.htm">CAPL</a> <div>ISO14229-1:2023UDS诊断【ECU复位0x11服务】_TestCase08作者:车端域控测试工程师更新日期:2025年02月17日关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO14229-1:2023TC11-008测试用例用例ID测试场景验证要点参考条款预期结果TC11-008多复位请求冲突处理连续发送3次复位请求§8.4.1仅首次请求生效,后续返回NRC=0x78以</div> </li> <li><a href="/article/79.htm" title="基本数据类型和引用类型的初始值" target="_blank">基本数据类型和引用类型的初始值</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a> <div>package com.array; /** * @Description 测试初始值 * @author FuJianyong * 2015-1-22上午10:31:53 */ public class ArrayTest { ArrayTest at; String str; byte bt; short s; int i; long</div> </li> <li><a href="/article/206.htm" title="摘抄笔记--《编写高质量代码:改善Java程序的151个建议》" target="_blank">摘抄笔记--《编写高质量代码:改善Java程序的151个建议》</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E8%B4%A8%E9%87%8F%E4%BB%A3%E7%A0%81/1.htm">高质量代码</a> <div>        记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。           看完整本书,也记了不少笔记</div> </li> <li><a href="/article/333.htm" title="【备忘】Django 常用命令及最佳实践" target="_blank">【备忘】Django 常用命令及最佳实践</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>注意:本文基于 Django 1.8.2 版本   生成数据库迁移脚本(python 脚本) python manage.py makemigrations polls  说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整   查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上): python manage.p</div> </li> <li><a href="/article/460.htm" title="阶乘算法之一N! 末尾有多少个零" target="_blank">阶乘算法之一N! 末尾有多少个零</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%98%B6%E4%B9%98/1.htm">阶乘</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%95%88%E7%8E%87/1.htm">效率</a> <div>                                 &n</div> </li> <li><a href="/article/587.htm" title="spring注入servlet" target="_blank">spring注入servlet</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/Spring%E6%B3%A8%E5%85%A5/1.htm">Spring注入</a> <div>传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容: ServletContext application = getServletContext(); WebApplicationContext wac = WebApplicationContextUtil</div> </li> <li><a href="/article/714.htm" title="Jenkins 命令行操作说明文档" target="_blank">Jenkins 命令行操作说明文档</a> <span class="text-muted">510888780</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div> 假设Jenkins的URL为http://22.11.140.38:9080/jenkins/ 基本的格式为 java 基本的格式为 java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args] 下面具体介绍各个命令的作用及基本使用方法 1. &nb</div> </li> <li><a href="/article/841.htm" title="UnicodeBlock检测中文用法" target="_blank">UnicodeBlock检测中文用法</a> <span class="text-muted">布衣凌宇</span> <a class="tag" taget="_blank" href="/search/UnicodeBlock/1.htm">UnicodeBlock</a> <div>/**  * 判断输入的是汉字  */ public static boolean isChinese(char c) {        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);    </div> </li> <li><a href="/article/968.htm" title="java下实现调用oracle的存储过程和函数" target="_blank">java下实现调用oracle的存储过程和函数</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/orale/1.htm">orale</a> <div> 1.创建表:STOCK_PRICES     2.插入测试数据:     3.建立一个返回游标:  PKG_PUB_UTILS   4.创建和存储过程:P_GET_PRICE     5.创建函数:   6.JAVA调用存储过程返回结果集 JDBCoracle10G_INVO</div> </li> <li><a href="/article/1095.htm" title="Velocity Toolbox" target="_blank">Velocity Toolbox</a> <span class="text-muted">antlove</span> <a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%9D%BF/1.htm">模板</a><a class="tag" taget="_blank" href="/search/tool/1.htm">tool</a><a class="tag" taget="_blank" href="/search/box/1.htm">box</a><a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a> <div>velocity.VelocityUtil package velocity; import org.apache.velocity.Template; import org.apache.velocity.app.Velocity; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.c</div> </li> <li><a href="/article/1222.htm" title="JAVA正则表达式匹配基础" target="_blank">JAVA正则表达式匹配基础</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E5%8C%B9%E9%85%8D/1.htm">正则表达式的匹配</a> <div>  正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作   正则表达式的用途; 字符串的匹配 字符串的分割 字符串的查找 字符串的替换       正则表达式的验证语法     [a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一</div> </li> <li><a href="/article/1349.htm" title="是否使用EL表达式的配置" target="_blank">是否使用EL表达式的配置</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/EL/1.htm">EL</a><a class="tag" taget="_blank" href="/search/EasyTemplate/1.htm">EasyTemplate</a> <div>        今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。         网</div> </li> <li><a href="/article/1476.htm" title="精通Oracle10编程SQL(1-3)PLSQL基础" target="_blank">精通Oracle10编程SQL(1-3)PLSQL基础</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>--只包含执行部分的PL/SQL块 --set serveroutput off begin dbms_output.put_line('Hello,everyone!'); end; select * from emp; --包含定义部分和执行部分的PL/SQL块 declare v_ename varchar2(5); begin select </div> </li> <li><a href="/article/1603.htm" title="【Nginx三】Nginx作为反向代理服务器" target="_blank">【Nginx三】Nginx作为反向代理服务器</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:   接受客户端请求 将请求转发给被代理的服务器 从被代理的服务器获得响应结果 把响应结果返回给客户端 实例 本文把Nginx配置成一个简单的代理服务器 对于静态的html和图片,直接从Nginx获取 对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res</div> </li> <li><a href="/article/1730.htm" title="Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin" target="_blank">Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin</a> <span class="text-muted">blackproof</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E9%94%99/1.htm">报错</a> <div>转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin   maven报错: Plugin execution not covered by lifecycle configuration: </div> </li> <li><a href="/article/1857.htm" title="发布docker程序到marathon" target="_blank">发布docker程序到marathon</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/docker+%E5%8F%91%E5%B8%83%E5%BA%94%E7%94%A8/1.htm">docker 发布应用</a> <div>1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry docker pull docker-registry docker run -t -p 5000:5000 docker-registry 下载docker镜像并发布到私有registry docker pull consol/tomcat-8.0 </div> </li> <li><a href="/article/1984.htm" title="java-57-用两个栈实现队列&&用两个队列实现一个栈" target="_blank">java-57-用两个栈实现队列&&用两个队列实现一个栈</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Stack; /* * Q 57 用两个栈实现队列 */ public class QueueImplementByTwoStacks { private Stack<Integer> stack1; pr</div> </li> <li><a href="/article/2111.htm" title="Nginx配置性能优化" target="_blank">Nginx配置性能优化</a> <span class="text-muted">cfyme</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>转载地址:http://blog.csdn.net/xifeijian/article/details/20956605   大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必</div> </li> <li><a href="/article/2238.htm" title="[JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术" target="_blank">[JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>      对图形图像进行精确处理,需要大量的数学工具,即使是从底层硬件模拟层开始设计,也离不开大量的数学工具包,因为我认为,JAVA语言体系在图形图像处理模块上面的研发工作,需要从开发一些基础的,类似实时数学函数构造器和解析器的软件包入手,而不是急于利用第三方代码工具来实现一个不严格的图形图像处理软件......   &nb</div> </li> <li><a href="/article/2365.htm" title="MonkeyRunner的使用" target="_blank">MonkeyRunner的使用</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/MonkeyRunner/1.htm">MonkeyRunner</a> <div>要使用MonkeyRunner,就要学习使用Python,哎 先抄一段官方doc里的代码 作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏 # Imports the monkeyrunner modules used by this program from com.android.monkeyrunner import MonkeyRun</div> </li> <li><a href="/article/2492.htm" title="Hadoop-- 海量文件的分布式计算处理方案" target="_blank">Hadoop-- 海量文件的分布式计算处理方案</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">分布式计算</a> <div>csdn的一个关于hadoop的分布式处理方案,存档。 原帖:http://blog.csdn.net/calvinxiu/article/details/1506112。     Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同ja</div> </li> <li><a href="/article/2619.htm" title="以資料庫驗證登入" target="_blank">以資料庫驗證登入</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>以資料庫驗證登入 由於 Yii 內定的原始框架程式, 採用綁定在UserIdentity.php 的 demo 與 admin 帳號密碼:    public function authenticate()    {        $users=array( &nbs</div> </li> <li><a href="/article/2746.htm" title="github做webhooks:[2]php版本自动触发更新" target="_blank">github做webhooks:[2]php版本自动触发更新</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/webhooks/1.htm">webhooks</a> <div>上次已经说过了如何在github控制面板做查看url的返回信息了。这次就到了直接贴钩子代码的时候了。 工具/原料 git github 方法/步骤   在github的setting里面的webhooks里把我们的url地址填进去。   钩子更新的代码如下: error_reportin</div> </li> <li><a href="/article/2873.htm" title="Eos开发常用表达式" target="_blank">Eos开发常用表达式</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/Eos%E5%BC%80%E5%8F%91/1.htm">Eos开发</a><a class="tag" taget="_blank" href="/search/Eos%E5%85%A5%E9%97%A8/1.htm">Eos入门</a><a class="tag" taget="_blank" href="/search/Eos%E5%BC%80%E5%8F%91%E5%B8%B8%E7%94%A8%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">Eos开发常用表达式</a> <div>Eos开发常用表达式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2014年8月18日 15:03:35 星期一     &</div> </li> <li><a href="/article/3000.htm" title="SpringSecurity3.X--SpEL 表达式" target="_blank">SpringSecurity3.X--SpEL 表达式</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a> <div>使用 Spring 表达式语言配置访问控制,要实现这一功能的直接方式是在<http>配置元素上添加 use-expressions 属性:   <http auto-config="true" use-expressions="true"> 这样就会在投票器中自动增加一个投票器:org.springframework</div> </li> <li><a href="/article/3127.htm" title="Redis vs Memcache" target="_blank">Redis vs Memcache</a> <span class="text-muted">IXHONG</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。 2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 3. Redis支持数据的备份,即master-slave模式的数据备份。 4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Red</div> </li> <li><a href="/article/3254.htm" title="Python - 装饰器使用过程中的误区解读" target="_blank">Python - 装饰器使用过程中的误区解读</a> <span class="text-muted">kvhur</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, Cache等。 原文链接:http://www.gbtags.com/gb/share/5563.htm Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:   @function_wrapper de</div> </li> <li><a href="/article/3381.htm" title="架构师之mybatis-----update 带case when 针对多种情况更新" target="_blank">架构师之mybatis-----update 带case when 针对多种情况更新</a> <span class="text-muted">nannan408</span> <a class="tag" taget="_blank" href="/search/case+when/1.htm">case when</a> <div>1.前言.    如题. 2. 代码.   <update id="batchUpdate" parameterType="java.util.List"> <foreach collection="list" item="list" index=&</div> </li> <li><a href="/article/3508.htm" title="Algorithm算法视频教程" target="_blank">Algorithm算法视频教程</a> <span class="text-muted">栏目记者</span> <a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>课程:Algorithm算法视频教程 百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji 程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。 一、课程内容: 课时1、算法的基本概念 + Sequential search 课时2、Binary search 课时3、Hash table 课时4、Algor</div> </li> <li><a href="/article/3635.htm" title="C语言算法之冒泡排序" target="_blank">C语言算法之冒泡排序</a> <span class="text-muted">qiufeihu</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>任意输入10个数字由小到大进行排序。 代码: #include <stdio.h> int main() { int i,j,t,a[11]; /*定义变量及数组为基本类型*/ for(i = 1;i < 11;i++){ scanf("%d",&a[i]); /*从键盘中输入10个数*/ } for</div> </li> <li><a href="/article/3762.htm" title="JSP异常处理" target="_blank">JSP异常处理</a> <span class="text-muted">wyzuomumu</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>1.在可能发生异常的网页中通过指令将HTTP请求转发给另一个专门处理异常的网页中: <%@ page errorPage="errors.jsp"%>   2.在处理异常的网页中做如下声明: errors.jsp: <%@ page isErrorPage="true"%>,这样设置完后就可以在网页中直接访问exc</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>