??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品乱战久久久,91亚洲欧美,久久久久天天天天http://www.aygfsteel.com/wwwlike/category/18507.htmlNeverDropzh-cnThu, 01 Mar 2007 15:37:56 GMTThu, 01 Mar 2007 15:37:56 GMT60Hibernate中的 一对一http://www.aygfsteel.com/wwwlike/articles/91667.html诚夏?/dc:creator>诚夏?/author>Wed, 03 Jan 2007 17:54:00 GMThttp://www.aygfsteel.com/wwwlike/articles/91667.htmlhttp://www.aygfsteel.com/wwwlike/comments/91667.htmlhttp://www.aygfsteel.com/wwwlike/articles/91667.html#Feedback0http://www.aygfsteel.com/wwwlike/comments/commentRss/91667.htmlhttp://www.aygfsteel.com/wwwlike/services/trackbacks/91667.htmlq里所说的1? 其实是表和表的之间的关p! 其实1??对多的特例,1对多是多对多的特例?br />在hibernate里实?? 其实把把表用对象来表示Q让2个表产生一对一的关p!例如 一个h有一个n?br />证。是先有人,后才有的w䆾证的Q所?可以看做人的w䆾号ID是自q主键Q省份证的ID是自q主键。而证表的ID引用的ID来当自己的外键! 当我们想d一个h?时候!可以自动d一?w䆾出来Q?br />
现在具体来说明下Q?br />步骤Q?br />1 新徏设一个j2ee的web project
2 dhibernate包,user libraries不?白色框里2个都?单选框选下面一个?br />   2.1需要配|个数据q接 操作Qnew的下一步,复选框的沟L-》下一部门-?br />   2.2建立一个存放sessionFoctory工厂的包?org.hibernate--》完?br />
3 q时候hibernate.cfg.xml产生 q生了一个HibernateSessionFactory的session的工厂类

4 需要给hibernate.cfg.xml里写数据库的q接Q下面以sql数据库的q接来讲解:
4.1 在hibernate.cfg.xml的设计器里点Qnew
4.2 .Profile name:随便?只要不重?br />4.3如果没有你需要的Driver p己新Z?点超U连接configure那个
4.4在下拉框里选你要连的数据库。如q你选sql server
4.5在url里?填jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs
4.6倒入sqlserverqjava?个jar?点add jars选择你要的jars?点确?br />4.7?name和pwd下一部—?gt;完成
x数据库 hibernate.cfg.xml已经配置完毕?br />
5下面需要把数据表?转成 c?br />讲解
1切换到数据库的模式下Q选到你要转成cȝ表!
2右键Q倒数W?个?br />3选择一个包。一般我们v的名字叫bean
4W一个复选框 是说是否产生q个cȝhbm.xml文g
5W?个复选框是?需要生一个抽象的 cM
6 我们选择一个包Q把?个复选的点上 ok了下一?br />7l我们的主键 选择适合的增长方式!一般选native如果是外键就是foreign--->完成

6--另外一个类 雷同 我就不讲了只是 增长方?用foreign表示 表示Ҏ别的表来讄自己
  下面讲怎么?个表的一对一关系 搞出来!
   增长一个h的时?׃增长一个证 Q 所以证 应该成ؓ ?cȝ一个属性,同时我们l他get,set Ҏ
  而且证里 id是通过人里id在设|的Q所?证里 也应?包含?q个cȝ对象作ؓ属性!用老师的话?br />是你中有我Q我中有你!testTablec?相当与h   carcȝ当与证  ?br />alt+shift+s可以倒到属性的get 和setҎ

7配置他们各自?**.hbm.xml文g

作ؓ主表?人类QtextTableQ中 应该加如下代码:Q代码应写在<class></class>里)
<one-to-one name="car"  class="org.bean.Car" cascade="all"></one-to-one>
解释一下:one-to-one表示现在2个表的关pL一对一 name里的car是 textTable 里一个属?的对象名
q个对象是 我要兌那个表的cȝ对象名! cascade=''all" 表示现在q个表是d?br />
作ؓ从表?证类QCarQ中加入如下代码Q?br /><one-to-one name="testTable" class="org.bean.TestTable"></one-to-one>
补充说明下:虽然q个cd q个xml在一个文件夹里,但是q不表示一个包里,所以我们写class的值的时候要写全U的路径?br />重点:因ؓ q个表是从表Q他的id要跟随的主表的变化而变?所?因该在id里加 如:
<param name="property">testTable</param>
解释Qname="property"表示引用的是属性 ?testTable表示引用的?q个值就是另一个类 Q他现在作ؓ一个属性放在了当前c里。这P我们把主表的主键和从表的主键关联v来了Qƈ且从表的主键引用主表的主键当自己的外键?br />
8以上完成?2个表的连接,关系操作Q了   下面 我们pq行一个插入操?Q看我们插入一个h的时候,是否也能插入一个证Q?br />
9新徏设servlet其中  注意他在web-xml中是如何配置的!到时候jsp里访问就Ҏ了!
   新徏2个表的类的对象! l其中不是相关的属?通过setҎ l倹{?
如:Car car=new Car();
  TestTable testTable=new TestTable();
testTable.setUsername("wudi");
  testTable.setCar(car);
  car.setTestTable(testTable);
  car.setCarMoney(new Integer(123));

需要调?主表?daocM的saveҎ q行插入 同时把主表的对象 作ؓ参数传过?br />
9建立一个存放Dao的包dao 和一个我们要在TestTableq个表上q行一pd操作的类  TestTableDao
   public void save(TestTable table)
 {

  Session session=HibernateSessionFactory.getSession();
  Transaction tx=session.beginTransaction();
  
  session.save(table);
  tx.commit();
 }
说明 先生hibernateSessionFactory工厂子类的对象!然后 用他产生事物的对象!
在用他调用save ()Ҏ 其实q就是hql语言 是insertҎQ最后提交事?br /> 



]]>
j2ee中jdbc的游标的Udhttp://www.aygfsteel.com/wwwlike/articles/91441.html诚夏?/dc:creator>诚夏?/author>Tue, 02 Jan 2007 11:47:00 GMThttp://www.aygfsteel.com/wwwlike/articles/91441.htmlhttp://www.aygfsteel.com/wwwlike/comments/91441.htmlhttp://www.aygfsteel.com/wwwlike/articles/91441.html#Feedback0http://www.aygfsteel.com/wwwlike/comments/commentRss/91441.htmlhttp://www.aygfsteel.com/wwwlike/services/trackbacks/91441.htmlStatmement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONEY);
定义了一个可滚动?只读?br />
ResultSet=stmt.excuteQuey("sekect * from emp ")
rs.next()往下移
rs.last()Ud到最后一?br />rs.prevlous()往前移
rs.absolute(6)Ud到第6?br />rs.getRow()获得 现在是第几条记录
rs.isAfterLast()是否在最后一条记录后
rs.isLast()是否是最后一条记?br />
介绍下DataSource&RowSet
他们有属于一个新包! javax.sql
q?个都是接口?br />DataSource 来代替DriverManagerQ他们都和j2eeƣ欣相关


RowSet 其实也是个ResultSet 
但是他支?断开数据?所有操作都在内存上执行
RowSet 支持javabean的标准!好处Q?img src ="http://www.aygfsteel.com/wwwlike/aggbug/91441.html" width = "1" height = "1" />

]]>
j2ee中jdbc中的事务http://www.aygfsteel.com/wwwlike/articles/91436.html诚夏?/dc:creator>诚夏?/author>Tue, 02 Jan 2007 10:29:00 GMThttp://www.aygfsteel.com/wwwlike/articles/91436.htmlhttp://www.aygfsteel.com/wwwlike/comments/91436.htmlhttp://www.aygfsteel.com/wwwlike/articles/91436.html#Feedback0http://www.aygfsteel.com/wwwlike/comments/commentRss/91436.htmlhttp://www.aygfsteel.com/wwwlike/services/trackbacks/91436.htmlstmt=conn.createStatement();
stmt.addBatch("语句1");
stmt.addBatch("语句2");
stmt.executeBatch();//批处?br />conn.commit();//提交事务
cinn.setAutoCommit(true););//当conn回到初状态!能自动提交!


在这里面捕捉异常
catch(SQLException e)
{
e.printStackTrace();
try{
if(conn!=null)
{
conn.rollback();//回滚
conn.setAutoCommit(true);//当conn回到初状态!能自动提交!
}
catch(SQLException el)
{
el.printStackTrace();
}
}
}

]]>
j2ee中jDbc中的批处理addBatch()Ҏ?/title><link>http://www.aygfsteel.com/wwwlike/articles/91435.html</link><dc:creator>诚夏?/dc:creator><author>诚夏?/author><pubDate>Tue, 02 Jan 2007 10:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/wwwlike/articles/91435.html</guid><wfw:comment>http://www.aygfsteel.com/wwwlike/comments/91435.html</wfw:comment><comments>http://www.aygfsteel.com/wwwlike/articles/91435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wwwlike/comments/commentRss/91435.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wwwlike/services/trackbacks/91435.html</trackback:ping><description><![CDATA[Statememt<br />PreparedStatement 都有addBatchҎ<br /><br />Statememt  stmt=conn.createStatement();<br />stmt.addBatch("insert inti .....");<br />stmt.addBatch("insert inti .....");<br />stmt.addBatch("insert inti .....");<br />stmt.executeBatch();<br />stmt.close();<br /><br />PreparedStatement  ps=conn.prepareStatement("insert Into biao values(?,?)");<br />ps.setInt(1,61);<br />ps.setInt(2,61);<br />ps.addBatch()<br />ps.setInt(1,61);<br />ps.setInt(2,61);<br />ps.addBatch()<br /><br />ps.executeBatch();<br />ps.close();<img src ="http://www.aygfsteel.com/wwwlike/aggbug/91435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wwwlike/" target="_blank">诚夏?/a> 2007-01-02 18:18 <a href="http://www.aygfsteel.com/wwwlike/articles/91435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在java中用存储过E?/title><link>http://www.aygfsteel.com/wwwlike/articles/91432.html</link><dc:creator>诚夏?/dc:creator><author>诚夏?/author><pubDate>Tue, 02 Jan 2007 10:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/wwwlike/articles/91432.html</guid><wfw:comment>http://www.aygfsteel.com/wwwlike/comments/91432.html</wfw:comment><comments>http://www.aygfsteel.com/wwwlike/articles/91432.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wwwlike/comments/commentRss/91432.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wwwlike/services/trackbacks/91432.html</trackback:ping><description><![CDATA[ <p>以前用的是Statement ?PreparedStatement<br />调用存储q程q?br />CallableStatement cstmt =conn.prepareCall("call p(?,?,?,?)");<br />声明 一个叫p的存储过E,需?个参?其中1Q?入参?br />3输出参数Q?入输出参敎ͼ在sqlserver里没有这L参数Q?br /><br />是输出参数的 我们在程序里要说明一下如Q?br />cstmt.registerOutParameter(3,Types.INTEGER)<br />表明q个是第3个问号上面的Q切cd是int 型号?br />cstmt.cstmt.registerOutParameter(4,Types.INTEGER)<br />输入输出参数也必说?br /><br />cstmt.setInt(1,3);<br />cstmt.setInt(2,3);<br />cstmt.setInt(4,3);  ?个输入参数给|<br /><br />cstmt.execute();执行存储q程?br /><br />System.out.println(cstmt.getInt(3));<br />System.out.println(cstmt.getInt(4));<br />现在可以用cstmt.getҎ来取g<br /><br />最后cstmt.close要关?/p> <img src ="http://www.aygfsteel.com/wwwlike/aggbug/91432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wwwlike/" target="_blank">诚夏?/a> 2007-01-02 18:06 <a href="http://www.aygfsteel.com/wwwlike/articles/91432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态验证表单的一点说?/title><link>http://www.aygfsteel.com/wwwlike/articles/91079.html</link><dc:creator>诚夏?/dc:creator><author>诚夏?/author><pubDate>Sat, 30 Dec 2006 16:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/wwwlike/articles/91079.html</guid><wfw:comment>http://www.aygfsteel.com/wwwlike/comments/91079.html</wfw:comment><comments>http://www.aygfsteel.com/wwwlike/articles/91079.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wwwlike/comments/commentRss/91079.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wwwlike/services/trackbacks/91079.html</trackback:ping><description><![CDATA[ <p>做一个登陆验?br />表单里面是一个文本框 文本框后面那个是错误提示  <br />                                                                                       是要验证的 函数  注意 一定要是validate  l 和f 要大?br /><html:form action="/login" method="post" focus="login" onsubmit="return validateLoginForm(this)"><br /><html:text property="username" /><html:errors property="username"/><br /></html><br />下面q条是用来生成javascript?formName对应的就是配|文仉formbean的name<br /><html:javascript formName="loginForm"/><br /><br /><br />配置文g<br /><br /><font color="#800080"><form-beans ><br />    <form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm"><br />      <form-property name="password" type="java.lang.String" /><br />      <form-property name="username" type="java.lang.String" /><br />    </form-bean><br /></form-beans></font><br /><br />注意 type里写的是org.apache.struts.action.DynaActionForm 表明q个cL动态bean<br />下面2个是它的2个属?注意 要个表单的property  一?br /><br /><br /><font color="#800080"><action<br />      attribute="loginForm"<br />      input="/login.jsp"<br />      name="loginForm"<br />      path="/login"<br />      scope="request"<br />      validate="true"<br />      type="org.eimhe.struts.action.LoginAction" /><br /></font>因ؓ我们要来验证所以validate="true"   另外 attribute要写 ?{于name<br /><br /><br /><br /><font style="BACKGROUND-COLOR: #ff1493"><plug-in className="org.apache.struts.validator.ValidatorPlugIn"><br />    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /><br />  </plug-in><br /></font><br />value里写的一个是验证规则文g/WEB-INF/validator-rules.xmlQ?br />                              另一个是 自己写的具体验证的一个xml文gvalidation.xml<br />q个文g建立在web-inf文g多w 用eclipse建立q个文g的方法是 在web-inf目录?新徏2其他3 base-xml<br />4 dtd-file 5写名字(validationQ?select xml(选择dtd规格  ) 选择validator 1.13的那?br /><br />d验证的差?br />ctrl+n<br />选择struts1.2 选择plug 在里面写ValidatorPlugIn扑ֈq个插见 可以了<br />属性写pathnames<br /><br />validation里写 :<br /><br /><form-validation><br /><formset><br /><form name="loginForm"><br /><field property="username" depends="required,mask" >   property我就不说?br />//depends  是要q行验证?个方??font style="BACKGROUND-COLOR: #ff1493">validator-rules.xml里的对应 </font><br /><arg key="label.username"/>  //属性文仉已经赋了值的一个变量!我们会在验证时候用到的<br /><var><br /><var-name>mask</var-name>//mask的验证规则把 Q我现在q没怎么理解q个<br /><var-value>^[a-zA-Z]*$</var-value><br /></var><br /></field><br /></form><br /></formset><br /></form-validation><br /><br />//属性文件 ?ApplicationResources.propertites<br />//下面是在config里配|时写的<br /> <message-resources parameter="org.eimhe.struts.ApplicationResources" /><br /><br />//q个文g是个java元文件放在一L 不是和xml配置文g在一?br />在src目录?br /><br /># Resources for parameter 'org.eimhe.struts.ApplicationResources'<br /># Project eimheStrutsl2<br />label.username=your name<br />errors.required={0}is not null<br />errors.invalid={0}is not zimu<br /><br />errors.requiredq?个errors对应<font style="BACKGROUND-COLOR: #ff1493">validator-rules.xml里的 一些内?br />houmian  =?后面是错误时候给出的提示?{0}表示参数 会用validator.xml?惛_应的key 里的?br /></font><br />zai  ApplicationResources里对应的?q里对应的就是?your name<br /><br /><br />以上验证如果没有错误的化  ׃到action里去?br /><br /></p> <img src ="http://www.aygfsteel.com/wwwlike/aggbug/91079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wwwlike/" target="_blank">诚夏?/a> 2006-12-31 00:10 <a href="http://www.aygfsteel.com/wwwlike/articles/91079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts-config 里配|的一点个人心?/title><link>http://www.aygfsteel.com/wwwlike/articles/88624.html</link><dc:creator>诚夏?/dc:creator><author>诚夏?/author><pubDate>Mon, 18 Dec 2006 12:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/wwwlike/articles/88624.html</guid><wfw:comment>http://www.aygfsteel.com/wwwlike/comments/88624.html</wfw:comment><comments>http://www.aygfsteel.com/wwwlike/articles/88624.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wwwlike/comments/commentRss/88624.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wwwlike/services/trackbacks/88624.html</trackback:ping><description><![CDATA[ <p> </p> <p>struts-config 里配|的一点个人心?/p> <p>在jsp里一般都是表?提交 Q或?q接 都是 ?**.do来蟩?/p> <p>最开始去的是 actionselvlet</p> <p>在这里面配置一些信息把  估计 HttpServletRequest,HttpServletResponse是在q时候生了对象</p> <p>然后马上产生actionMapping的实例(所有蟩转,表单的发?都会去这个类里的 CQ这是个程Q?/p> <p>然后会调用RequestProcessorc?里面的processPreprocessҎQ好象就是v转发request,response的作用)  </p> <p>通常我们也可以重也这个类 然后重写processPreprocessQ) Ҏ具体如下</p> <p>自己重写的话 必须?lt;/struts-config> 里加<br /> <controller processorClass="包名.l承RequestProcessor的类?><br /> </controller></p> <p>作用是在把数据提交到action?先可以对一些数据进行验证下Q可以说 q个cd以当整体功能?<br />而action?Ҏ个模块的<br />如返回false  不在进行以下操作了?/p> <p> </p> <p>如果q回true;</p> <p> <br />׃?<action-mappings>里找 ?***.do  前面***对应的名U相同的 path?</p> <p><form-bean>?type是formbean的绝对地址Qname可以看成q个地址的简化, 当做一个映?/p> <p><action-mappings>?type?action的绝对地址  Qpath是这个地址 的简化,可以看成在文仉的一个映?br /> </p> <p> {<br />  ·如果我们q时候想?提交的表单和formbean兌h  </p> <p>  p?lt;form-bean>里name攑֜ <action>里, 在aciton里也?name  q时?formbean 和 action 产生了关pM    <br />  接着formbean的对象?提交的表单里的数据?如果property属性对应的值在forbean里属性有<br />  对应的就?立刻调用里面的setҎ<br />  最?把的 4个action需要参数对?传到action?/p> <p>  · 如果我们想通过参数 来执行不同的Ҏ 可以q么做:<br />  ?lt;form-bean>里的<action >加 ?parameter="参数?  q时候蟩转到的action我们可以让他 l承?br />   org.apache.struts.actions.DispatchAction;   DispatchActionc?/p> <p>  我们不用在写executeҎ?<br />  我们写的Ҏ名字  和参数的名对应的g样就可以了,后面Ҏ的参数和executeҎ的一?br />  Ҏ的用法也和execute一_如此Ҏ可以写多?br />  q样的好处是 我们在承自DispatchAction的action里不需要做更多的判?只看是哪个页面过来的<br />  p用与q个面传递参数相同的Ҏ?br />  <br />  </p> <p> }</p> <p> {</p> <p>  如果我们不想和formbean兌h Q可以用如下方式Q?br />  1跌{?jsp面<br />  <action forward="/要去的地址" path="/是?**.do?**" /><br />  解释Qpath?表单和蟩转的***兌Qforward是要去的地方?br />  2跌{?action<br />  <action  path="/是?**.do?**" type="包名.***Action"> <br />  <br />  3跌{ <br />  <action parameter="/AddBook.jsp" path="/addbook1" type="org.apache.struts.actions.ForwardAction" /><br />  分析Qpath 在是jsp面 发过来的 ***.do里面的?AddBook.jsp可以看成参数 但是理解上是ForwardAction<br />  利用q个参数 军_ 跌{到哪个页?br />  <br />  q?个蟩?包括表单的提交?都是会先l过RequestProcessorQ)的,手写l承RequestProcessorQ)的也是一L</p> <p> }</p> <img src ="http://www.aygfsteel.com/wwwlike/aggbug/88624.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wwwlike/" target="_blank">诚夏?/a> 2006-12-18 20:19 <a href="http://www.aygfsteel.com/wwwlike/articles/88624.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">崨</a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank">Ԫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˶</a>| <a href="http://" target="_blank">ţ</a>| <a href="http://" target="_blank">ǰ</a>| <a href="http://" target="_blank">SHOW</a>| <a href="http://" target="_blank">Ϋ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>