﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-记录、分享</title><link>http://www.blogjava.net/zks518/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 23:44:05 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 23:44:05 GMT</pubDate><ttl>60</ttl><item><title>spring-security3 入门篇[转载]</title><link>http://www.blogjava.net/zks518/archive/2013/12/02/407123.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Mon, 02 Dec 2013 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2013/12/02/407123.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/407123.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2013/12/02/407123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/407123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/407123.html</trackback:ping><description><![CDATA[<p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">1.下载spring security的最新版本，工程下载的是3.1</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">2. 新建工程，结构如下：</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;"><br /><img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538631%2F043c48fc-f566-36ac-910c-827eb67b7f2b.jpg" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538631%2F043c48fc-f566-36ac-910c-827eb67b7f2b.jpg" alt="" style="border: 0px; display: inline;" /><br />&nbsp;其中，涉及到的jar包可以在spring-security包中的例子中获取</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">3、配置spring-security.xml</p><div style="width: 669.234375px; line-height: 24px;"><div style="margin: 0px;"><div style="margin: 0px;">Xml代码 &nbsp;<img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" alt="收藏代码" style="border: 0px; display: inline;" /></div></div><ol><li>&lt;?&nbsp;xml&nbsp;&nbsp;&nbsp;version&nbsp;=&nbsp;"1.0"&nbsp;&nbsp;&nbsp;encoding&nbsp;=&nbsp;"UTF-8"&nbsp;?&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;beans&nbsp;&nbsp;&nbsp;xmlns&nbsp;=&nbsp;"http://www.springframework.org/schema/beans"&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi&nbsp;=&nbsp;"http://www.w3.org/2001/XMLSchema-instance"&nbsp;&nbsp;&nbsp;xmlns:security&nbsp;="http://www.springframework.org/schema/security"&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation&nbsp;="http://www.springframework.org/schema/beans&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/beans/spring-beans.xsd&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/security&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/security/spring-security.xsd"&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;保护应用程序的所有URL，只有拥有ROLE_USER才可以访问&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:http&nbsp;&nbsp;&nbsp;auto-config&nbsp;=&nbsp;"true"&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:intercept-url&nbsp;&nbsp;&nbsp;pattern&nbsp;=&nbsp;"/**"&nbsp;&nbsp;&nbsp;access&nbsp;=&nbsp;"ROLE_USER"&nbsp;&nbsp;&nbsp;/&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;security:http&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--配置认证管理器,只有用户名为user，密码为user的用户，角色为ROLE_USER可访问指定的资源&nbsp;--&gt;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:authentication-manager&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:authentication-provider&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:user-service&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;security:user&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;"user"&nbsp;&nbsp;&nbsp;&nbsp;password&nbsp;=&nbsp;"user"&nbsp;&nbsp;&nbsp;authorities&nbsp;="ROLE_USER"&nbsp;/&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;security:user-service&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;security:authentication-provider&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;security:authentication-manager&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;/&nbsp;beans&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li></ol></div><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;4.配置web.xml</p><div style="width: 669.234375px; line-height: 24px;"><div style="margin: 0px;"><div style="margin: 0px;">Xml代码 &nbsp;<img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" alt="收藏代码" style="border: 0px; display: inline;" /></div></div><ol><li>&lt;?&nbsp;xml&nbsp;&nbsp;&nbsp;version&nbsp;=&nbsp;"1.0"&nbsp;&nbsp;&nbsp;encoding&nbsp;=&nbsp;"UTF-8"&nbsp;?&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;web-app&nbsp;&nbsp;&nbsp;xmlns:xsi&nbsp;=&nbsp;"http://www.w3.org/2001/XMLSchema-instance"&nbsp;&nbsp;&nbsp;xmlns&nbsp;="http://java.sun.com/xml/ns/javaee"&nbsp;&nbsp;&nbsp;xmlns:web&nbsp;="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&nbsp;&nbsp;&nbsp;xsi:schemaLocation&nbsp;="http://java.sun.com/xml/ns/javaee&nbsp;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&nbsp;&nbsp;id&nbsp;=&nbsp;"WebApp_ID"&nbsp;&nbsp;&nbsp;version&nbsp;=&nbsp;"2.5"&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&lt;&nbsp;display-name&nbsp;&gt;&nbsp;springSecurity&nbsp;&lt;/&nbsp;display-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--********************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******log4j日志信息的配置******&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-name&nbsp;&gt;&nbsp;log4jConfigLocation&nbsp;&lt;/&nbsp;param-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-value&nbsp;&gt;&nbsp;classpath:log4j.xml&nbsp;&lt;/&nbsp;param-value&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond，可以不设置&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-name&nbsp;&gt;&nbsp;log4jRefreshInterval&nbsp;&lt;/&nbsp;param-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-value&nbsp;&gt;&nbsp;60000&nbsp;&lt;/&nbsp;param-value&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--********************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******spring&nbsp;bean的配置********&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-name&nbsp;&gt;&nbsp;contextConfigLocation&nbsp;&lt;/&nbsp;param-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-value&nbsp;&gt;&nbsp;classpath:applicationContext.xml&nbsp;&lt;/&nbsp;param-value&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;context-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener-class&nbsp;&gt;&nbsp;org.springframework.web.util.Log4jConfigListener&nbsp;&lt;/listener-class&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener-class&nbsp;&gt;&nbsp;org.springframework.web.context.ContextLoaderListener&nbsp;&lt;/listener-class&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;listener-class&nbsp;&gt;&nbsp;org.springframework.web.util.IntrospectorCleanupListener&nbsp;&lt;/listener-class&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;listener&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--********************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******字符集&nbsp;过滤器************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-name&nbsp;&gt;&nbsp;CharacterEncodingFilter&nbsp;&lt;/&nbsp;filter-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-class&nbsp;&gt;&nbsp;org.springframework.web.filter.CharacterEncodingFilter&nbsp;&lt;/filter-class&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;init-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-name&nbsp;&gt;&nbsp;encoding&nbsp;&lt;/&nbsp;param-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-value&nbsp;&gt;&nbsp;UTF-8&nbsp;&lt;/&nbsp;param-value&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;init-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;init-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-name&nbsp;&gt;&nbsp;forceEncoding&nbsp;&lt;/&nbsp;param-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;param-value&nbsp;&gt;&nbsp;true&nbsp;&lt;/&nbsp;param-value&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;init-param&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;filter&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-mapping&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-name&nbsp;&gt;&nbsp;CharacterEncodingFilter&nbsp;&lt;/&nbsp;filter-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;url-pattern&nbsp;&gt;&nbsp;/*&nbsp;&lt;/&nbsp;url-pattern&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;filter-mapping&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--********************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******session的配置************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--*******************************&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;session-config&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;session-timeout&nbsp;&gt;&nbsp;30&nbsp;&lt;/&nbsp;session-timeout&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;session-config&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;SpringSecurity必须的begin&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-name&nbsp;&gt;&nbsp;springSecurityFilterChain&nbsp;&lt;/&nbsp;filter-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-class&nbsp;&gt;&nbsp;org.springframework.web.filter.DelegatingFilterProxy&nbsp;&lt;/filter-class&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;filter&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;拦截所有的请求&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-mapping&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;filter-name&nbsp;&gt;&nbsp;springSecurityFilterChain&nbsp;&lt;/&nbsp;filter-name&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;url-pattern&nbsp;&gt;&nbsp;/*&nbsp;&lt;/&nbsp;url-pattern&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/&nbsp;filter-mapping&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;SpringSecurity必须的end&nbsp;--&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&lt;&nbsp;welcome-file-list&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;welcome-file&nbsp;&gt;&nbsp;index.jsp&nbsp;&lt;/&nbsp;welcome-file&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&lt;/&nbsp;welcome-file-list&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;/&nbsp;web-app&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li></ol></div><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">5.index.jsp</p><div style="width: 669.234375px; line-height: 24px;"><div style="margin: 0px;"><div style="margin: 0px;">Html代码 &nbsp;<img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fgaojiewyh.iteye.com%2Fimages%2Ficon_star.png" alt="收藏代码" style="border: 0px; display: inline;" /></div></div><ol><li>&lt;&nbsp;%@&nbsp;page&nbsp;&nbsp;language&nbsp;=&nbsp;"java"&nbsp;&nbsp;&nbsp;contentType&nbsp;=&nbsp;"text/html;&nbsp;charset=UTF-8"&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding&nbsp;=&nbsp;"UTF-8"&nbsp;%&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/html4/loose.dtd"&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;html&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;head&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;meta&nbsp;&nbsp;&nbsp;http-equiv&nbsp;=&nbsp;"Content-Type"&nbsp;&nbsp;&nbsp;content&nbsp;=&nbsp;"text/html;&nbsp;charset=UTF-8"&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;title&nbsp;&gt;&nbsp;首页&nbsp;&lt;/&nbsp;title&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;/&nbsp;head&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;&nbsp;body&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;h1&nbsp;&gt;&nbsp;这里是首页，欢迎你！&nbsp;&lt;/&nbsp;h1&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;%&nbsp;&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;str&nbsp;&nbsp;=&nbsp;&nbsp;session&nbsp;.getValueNames();&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0&nbsp;;i&nbsp;&lt;&nbsp;str.length&nbsp;;i++){&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("key&nbsp;=="+str[i]);&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println("value&nbsp;=="+session.getAttribute(str[i]));&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;%&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;/&nbsp;body&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li><li>&lt;/&nbsp;html&nbsp;&gt;&nbsp;&nbsp;&nbsp;</li></ol></div><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">6部署应用，在首次浏览index.jsp时，由于没登录，spring security会自动生成登录页面，页面内容如下：</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;"><br /><img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538671%2F93af4989-2601-3a21-9eac-1c9071cab5f2.jpg" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538671%2F93af4989-2601-3a21-9eac-1c9071cab5f2.jpg" alt="" style="border: 0px; display: inline;" /><br />&nbsp;7输入用户名和密码，user，则进入首页</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;</p><p style="font-family: 'Microsoft YaHei', 微软雅黑, Lucida, Verdana, 'Hiragino Sans GB', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif; line-height: 24px; background-color: #ffffff;">&nbsp;<br /><img src="http://202.96.138.158/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538674%2F0a165201-92e3-3872-a799-ccc16179ca77.jpg" original="http://cdn.verydemo.com/inc/test.jsp?url=http%3A%2F%2Fdl.iteye.com%2Fupload%2Fattachment%2F538674%2F0a165201-92e3-3872-a799-ccc16179ca77.jpg" title="点击查看原始大小图片" alt="" style="border: 0px; display: inline;" /><br />&nbsp;至此，简单的权限控制完成，在index页面中通过session可以看到存入session中的用户信息。</p><img src ="http://www.blogjava.net/zks518/aggbug/407123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2013-12-02 19:00 <a href="http://www.blogjava.net/zks518/archive/2013/12/02/407123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载：CentOS6 安装 Xen 4.1.2</title><link>http://www.blogjava.net/zks518/archive/2013/01/31/394969.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Thu, 31 Jan 2013 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2013/01/31/394969.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/394969.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2013/01/31/394969.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/394969.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/394969.html</trackback:ping><description><![CDATA[<p>转载：<div>http://www.cnblogs.com/liuan/archive/2012/06/13/2548558.html</div><br /></p><p><br /></p><p><br /></p><p>系统：CentOS6.0&nbsp; 安装的Xen版本：4.1.2</p> <p>在centos下安装xen不是很顺利，遇到很多问题。安装过程主要参考了以下两个文档：</p> <p><a href="http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial?action=fullsearch&amp;value=linkto%3A%22RHEL6Xen4Tutorial%22&amp;context=180">http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial?action=fullsearch&amp;value=linkto%3A%22RHEL6Xen4Tutorial%22&amp;context=180</a></p> <p>这个方法可以正常安装xen，并指出RedHat 6 下安装xen 会遇到的问题，只是安装过程复杂，不是源码安装。</p> <p><a href="http://www.cnblogs.com/feisky/archive/2012/04/10/2441307.html">http://www.cnblogs.com/feisky/archive/2012/04/10/2441307.html</a></p> <p>这个是xen的源码编译安装，也是centos下，安装xen 4.1.2，但是经过实践，这样安装出来存在一些问题，很意外的。解决起来很头痛。</p> <p>在上面这个方法上，具体的描述我的安装过程。</p> <p>系统和安装的xen版本上面有介绍，开始着手安装xen了。</p> <p>1.下载Xen的源码</p> <div> <pre><span style="color: #008080;">1</span> wget http:<span style="color: #008000;">//</span><span style="color: #008000;">bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz</span></pre> </div> <p>&nbsp;</p> <p>2.安装必备软件包</p> <div style="width: 95%; height: 193px;"><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;">1</span> yum groupinstall <span style="color: #800000;">"</span><span style="color: #800000;">Development Libraries</span><span style="color: #800000;">"</span> <span style="color: #008080;">2</span> yum groupinstall <span style="color: #800000;">"</span><span style="color: #800000;">Development Tools</span><span style="color: #800000;">"</span> <span style="color: #008080;">3</span> yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-<span style="color: #000000;">devel </span><span style="color: #008080;">4</span> bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial libidn-<span style="color: #000000;">devel </span><span style="color: #008080;">5</span> yum -y install glibc-devel.i686texinfo libuuid-devel iasl python-<span style="color: #000000;">lxml </span><span style="color: #008080;">6</span> yum -y install openssl openssl-<span style="color: #000000;">devel </span><span style="color: #008080;">7</span> yum -y install ncurses ncurses-* <span style="color: #008080;">8</span> yum -y install python-devel</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>&nbsp;</p> <p>3.编译安装Xen hypervisor</p> <div> <pre><span style="color: #008080;">1</span> tar zxvf xen-<span style="color: #800080;">4.1</span>.<span style="color: #800080;">2</span><span style="color: #000000;">.tar.gz </span><span style="color: #008080;">2</span> cd xen-<span style="color: #800080;">4.1</span>.<span style="color: #800080;">2</span> <span style="color: #008080;">3</span> make world</pre> </div> <p>在此可能会遇到如下问题：</p> <p><img src="http://pic002.cnblogs.com/images/2012/367063/2012061321323819.jpg" alt="" /></p> <p>解决办法：yum &#8211;y install texinfo</p> <div> <pre><span style="color: #008080;">1</span> make install</pre> </div> <p>4.将Xen加入到启动脚本：</p> <div> <pre><span style="color: #008080;">1</span> /sbin/chkconfig --<span style="color: #000000;">add xend </span><span style="color: #008080;">2</span> /sbin/chkconfig --<span style="color: #000000;">add xencommons </span><span style="color: #008080;">3</span> /sbin/chkconfig --<span style="color: #000000;">add xendomains </span><span style="color: #008080;">4</span> /sbin/<span style="color: #000000;">chkconfig xend on </span><span style="color: #008080;">5</span> /sbin/<span style="color: #000000;">chkconfig xendomains on </span><span style="color: #008080;">6</span> /sbin/chkconfig xencommons on</pre> </div> <p>5.编译安装Linux3.1.2内核</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;"> 1</span> wget http:<span style="color: #008000;">//</span><span style="color: #008000;">www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2</span> <span style="color: #008080;"> 2</span> tar -jxvf linux-<span style="color: #800080;">3.1</span>.<span style="color: #800080;">3</span><span style="color: #000000;">.tar.bz2 </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">make menuconfig </span><span style="color: #008080;"> 4</span>  <span style="color: #008080;"> 5</span> Processor type and features --- &gt; <span style="color: #008080;"> 6</span> <span style="color: #000000;">     选中Paravirtualized Guest Support </span><span style="color: #008080;"> 7</span>   Device Drivers ---&gt;  <span style="color: #008080;"> 8</span>       Xen driver support ---&gt;  <span style="color: #008080;"> 9</span>         全部选* <span style="color: #008080;">10</span>  <span style="color: #008080;">11</span> 修改：CONFIG_XEN_DEV_EVTCHN=y（如果是m，开机时无法启动xencommons）</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>&nbsp;注意：仅仅上面的是不够的，还需要修改：否则在创建虚拟机的过程中遇到这样的问题：</p> <p><img src="http://pic002.cnblogs.com/images/2012/367063/2012061321403642.png" alt="" /></p> <p>注意：Device 0 (vif) could not be connected. HotPlug scripts not working.</p> <p>在.config文件中做如下修改，就可以解决问题了</p> <p>&nbsp;</p> <div> <pre><span style="color: #008080;">1</span> CONFIG_XEN_BLKDEV_BACKEND=<span style="color: #000000;">m </span><span style="color: #008080;">2</span> CONFIG_XEN_NETDEV_BACKEND=m</pre> </div> <p>接下来开始编译安装了：</p> <div> <pre><span style="color: #008080;">1</span> <span style="color: #000000;">make </span><span style="color: #008080;">2</span> <span style="color: #000000;">make modules </span><span style="color: #008080;">3</span> <span style="color: #000000;">make modules_install </span><span style="color: #008080;">4</span> <span style="color: #000000;">make install  </span><span style="color: #008080;">5</span> depmod <span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span> <span style="color: #008080;">6</span> mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initramfs-<span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span>.img <span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span></pre> </div> <p>6.配置grub：</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;">1</span> title Xen (<span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span>-<span style="color: #000000;">xen) </span><span style="color: #008080;">2</span>         root (hd0,<span style="color: #800080;">0</span><span style="color: #000000;">) </span><span style="color: #008080;">3</span>         kernel /xen-<span style="color: #800080;">4.1</span>.<span style="color: #800080;">2</span>.gz dom0_mem=<span style="color: #800080;">512M</span> <span style="color: #008080;">4</span>         module /vmlinuz-<span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span> ro root=UUID=3f920108-b74b-46b9-81c2-<span style="color: #000000;">aff834494381   </span><span style="color: #008080;">5</span> rd_DM_UUID=ddf1_4c5349202020202010000055000000004711471100001450 rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-<span style="color: #800080;">8</span>   <span style="color: #008080;">6</span> SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=<span style="color: #000000;">auto rhgb quiet </span><span style="color: #008080;">7</span>         module /initramfs-<span style="color: #800080;">3.1</span>.<span style="color: #800080;">2</span>.img</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>这个配置在第4行后面root=UUID随自己的系统</p> <p>7.安装virt-manager</p> <div style="width: 95%; height: 40px;"> <pre><span style="color: #008080;">1</span> yum install libvirt virt-manager xorg-x11-xauth</pre> </div> <p>&nbsp;8. 重新编译libvirt</p> <p>&nbsp; 在文章前面第一个链接中，说明了，redhat6系统中，默认的libvirt是不支持xen的，如果直接使用默认的这会出现如下的问题：</p> <p>&nbsp; 注意virt-manager &amp; 这个命令中的'&amp;' 代表该进程后台运行</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;"> 1</span> [root@el6 ~]# virt-manager &amp; <span style="color: #008080;"> 2</span> [<span style="color: #800080;">1</span>] <span style="color: #800080;">2867</span> <span style="color: #008080;"> 3</span> Unable to open connection to hypervisor URI <span style="color: #800000;">'</span><span style="color: #800000;">xen:///</span><span style="color: #800000;">'</span><span style="color: #000000;">: </span><span style="color: #008080;"> 4</span> no connection driver available <span style="color: #0000ff;">for</span> xen:<span style="color: #808080;">/// </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">Traceback (most recent call last): </span><span style="color: #008080;"> 6</span>   File <span style="color: #800000;">"</span><span style="color: #800000;">/usr/share/virt-manager/virtManager/connection.py</span><span style="color: #800000;">"</span>, line <span style="color: #800080;">992</span>, <span style="color: #0000ff;">in</span><span style="color: #000000;"> _try_open </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">    None], flags) </span><span style="color: #008080;"> 8</span>   File <span style="color: #800000;">"</span><span style="color: #800000;">/usr/lib64/python2.6/site-packages/libvirt.py</span><span style="color: #800000;">"</span>, line <span style="color: #800080;">111</span>, <span style="color: #0000ff;">in</span><span style="color: #000000;"> openAuth </span><span style="color: #008080;"> 9</span>     <span style="color: #0000ff;">if</span> ret <span style="color: #0000ff;">is</span> None:raise libvirtError(<span style="color: #800000;">'</span><span style="color: #800000;">virConnectOpenAuth() failed</span><span style="color: #800000;">'</span><span style="color: #000000;">) </span><span style="color: #008080;">10</span> libvirtError: no connection driver available <span style="color: #0000ff;">for</span> xen:<span style="color: #808080;">///</span></pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>&nbsp;开始重新编译libvirt解决以上的问题。</p> <p>以下的操作都在非xen系统中进行：</p> <p>没个系统遇到的缺的包不一样，我的系统中还缺失xen-devel包，并且在yum</p> <div style="width: 95%; height: 458px;"><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;"> 1</span> [root@el6 ~]# cd /root/<span style="color: #000000;">src </span><span style="color: #008080;"> 2</span> [root@el6 src]# wget ftp:<span style="color: #008000;">//</span><span style="color: #008000;">ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/libvirt-0.8.1-27.el6.src.rpm</span> <span style="color: #008080;"> 3</span> [root@el6 src]# rpm -i libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.src.rpm </span><span style="color: #008080;"> 4</span> [root@el6 src]# wget http:<span style="color: #008000;">//</span><span style="color: #008000;">pasik.reaktio.net/xen/patches/libvirt-spec-rhel6-enable-xen.patch</span> <span style="color: #008080;"> 5</span> [root@el6 src]# cd /root/rpmbuild/<span style="color: #000000;">SPECS </span><span style="color: #008080;"> 6</span> [root@el6 SPECS]# cp -<span style="color: #000000;">a libvirt.spec libvirt.spec.orig </span><span style="color: #008080;"> 7</span> [root@el6 SPECS]# patch -p0 &lt; ~/src/libvirt-spec-rhel6-enable-<span style="color: #000000;">xen.patch </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">patching file libvirt.spec </span><span style="color: #008080;"> 9</span>  <span style="color: #008080;">10</span> [root@el6 SPECS]# rpmbuild -<span style="color: #000000;">bb libvirt.spec </span><span style="color: #008080;">11</span> <span style="color: #000000;">error: Failed build dependencies: </span><span style="color: #008080;">12</span>         libnl-devel &gt;= <span style="color: #800080;">1.1</span> <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">13</span>         xhtml1-dtds <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">14</span>         libudev-devel &gt;= <span style="color: #800080;">145</span> <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">15</span>         libpciaccess-devel &gt;= <span style="color: #800080;">0.10</span>.<span style="color: #800080;">9</span> <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">16</span>         yajl-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">17</span>         libpcap-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">18</span>         avahi-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">19</span>         parted-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">20</span>         device-mapper-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">21</span>         numactl-devel <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">22</span>         netcf-devel &gt;= <span style="color: #800080;">0.1</span>.<span style="color: #800080;">4</span> <span style="color: #0000ff;">is</span> needed by libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64 </span><span style="color: #008080;">23</span>  [root@el6 SPECS]# yum install libnl-devel xhtml1-dtds libudev-devel libpciaccess-devel yajl-devel libpcap-devel avahi-devel parted-devel device-mapper-devel numactl-devel netcf-devel</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>安装的时候，提示No packages xen-devel available 。</p> <p>在多次替换yum源之后，依然无法解决这个xen-devel包缺失的问题。</p> <p>随后的解决方案如下：</p> <p>在网上下载xen-devel rpm 包，安装遇到依赖问题，接着下载xen-libs rpm 包，接着还有其他的依赖问题，同样查找。</p> <p>具体链接: 搜索xen-devel，找到符合系统版本的</p> <div> <pre><span style="color: #008080;">1</span> http:<span style="color: #008000;">//</span><span style="color: #008000;">rpm.pbone.net/index.php3</span></pre> </div> <p>我下载的版本是：<br />xen-devel-4.1.2_03-1.1.x86_64.rpm</p> <p>安装xen-devel还依赖其他的包，如下：</p> <p>xen-libs-4.1.2_03-1.1.x86_64.rpm</p> <p>liblzma5-5.0.3-7.1.x86_64.rpm</p> <p>glibc-common-2.14.90-14.x86_64.rpm</p> <p>glibc-2.14.90-14.x86_64.rpm</p> <p>强制安装如上的包。</p> <p>如果缺少依赖包，依次去下载对应版本，解决问题。这个过程很蛋疼。</p> <p>如果所有的依赖包都安装上后，接着下面的操作：</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;">1</span> [root@gb31 SPECS]# rpmbuild -<span style="color: #000000;">bb libvirt.spec </span><span style="color: #008080;">2</span> After a <span style="color: #0000ff;">while</span> you<span style="color: #800000;">'</span><span style="color: #800000;">ll see: </span> <span style="color: #008080;">3</span> Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64.rpm </span><span style="color: #008080;">4</span> Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-client-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64.rpm </span><span style="color: #008080;">5</span> Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-devel-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64.rpm </span><span style="color: #008080;">6</span> Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-python-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64.rpm </span><span style="color: #008080;">7</span> Wrote: /root/rpmbuild/RPMS/x86_64/libvirt-debuginfo-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span>.el6.x86_64.rpm</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>如果有如上的显示则安装成功。</p> <p>如果遇到屏幕显示test 。。 一直卡住之后，卸载掉系统中已经安装的libvirt包，再重新尝试，即可。<br />接着如下：注意，可能版本不一样</p> <p>如果还显示存在test失败，make失败，与libvirt版本相关，这个问题很蛋疼，多试下几个版本吧。就可以解决。</p> <div style="width: 95%; height: 153px;"><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;">1</span> [root@el6 ~]# cd /root/rpmbuild/RPMS/x86_64/ <span style="color: #008080;">2</span> [root@el6 x86_64]# rpm -Uvh --force libvirt-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span>.el6.x86_64.rpm libvirt-client-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span>.el6.x86_64.rpm libvirt-python-<span style="color: #800080;">0.8</span>.<span style="color: #800080;">1</span>-<span style="color: #800080;">27</span><span style="color: #000000;">.el6.x86_64.rpm </span><span style="color: #008080;">3</span> Preparing...                ########################################### [<span style="color: #800080;">100</span>%<span style="color: #000000;">] </span><span style="color: #008080;">4</span>    <span style="color: #800080;">1</span>:libvirt-client         ########################################### [ <span style="color: #800080;">33</span>%<span style="color: #000000;">] </span><span style="color: #008080;">5</span>    <span style="color: #800080;">2</span>:libvirt                ########################################### [ <span style="color: #800080;">67</span>%<span style="color: #000000;">] </span><span style="color: #008080;">6</span>    <span style="color: #800080;">3</span>:libvirt-python         ########################################### [<span style="color: #800080;">100</span>%]</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>9.进入xen系统</p> <p>重启系统，进入xen系统。</p> <p>尝试输入如下命令：xm-list ,xm-info</p> <p>再接着尝试如下命令：virt-install，尝试着安装虚拟机</p> <p>如果显示的错误如下：</p> <div> <pre><span style="color: #008080;">1</span> ERROR unable to connect to &#8216;localhost:<span style="color: #800080;">8000</span>&#8242;: Connection refused</pre> </div> <p>则需要去做如下修改：</p> <div> <pre><span style="color: #008080;">1</span> 解决方案：查看libvirtd服务是否启动，关闭防火墙，在/etc/xen/xend-<span style="color: #000000;">config.sxp  </span><span style="color: #008080;">2</span> (xend-http-<span style="color: #000000;">server yes) </span><span style="color: #008080;">3</span> # Port xend should use <span style="color: #0000ff;">for</span> the HTTP <span style="color: #0000ff;">interface</span>, <span style="color: #0000ff;">if</span> xend-http-server <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">set</span><span style="color: #000000;">. </span><span style="color: #008080;">4</span> (xend-port <span style="color: #800080;">8000</span><span style="color: #000000;">) </span><span style="color: #008080;">5</span> 去掉上面两个括弧的注释，ok</pre> </div> <p>再重新启动xend服务</p> <div> <pre><span style="color: #008080;">1</span> service xend restart</pre> </div> <p>&nbsp;</p> <p>至此，可以尝试在桌面上气筒virtual machine manager 去创建虚拟机。<br />创建过程如果如下问题：</p> <p><img src="http://pic002.cnblogs.com/images/2012/367063/2012061322093868.png" alt="" /></p> <p>可以系统路劲的问题，在usr/lib/xen/bin下找到qemu-dm放到lib64下对应的路径。</p> <p>就ok。</p> <p>&nbsp;</p> <p>10.配置网桥桥接模式</p> <p>修改ifcfg-eth0如下：</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;"> 1</span> DEVICE=<span style="color: #800000;">"</span><span style="color: #800000;">eth0</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 2</span> BOOTPROTO=<span style="color: #800000;">"</span><span style="color: #800000;">static</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 3</span> HWADDR=<span style="color: #800000;">"**********&#8220;</span> <span style="color: #008080;"> 4</span> NM_CONTROLLED=<span style="color: #800000;">"</span><span style="color: #800000;">no</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 5</span> ONBOOT=<span style="color: #800000;">"</span><span style="color: #800000;">yes</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 6</span> IPADDR=<span style="color: #800000;">"</span><span style="color: #800000;">*******&#8221;</span> <span style="color: #008080;"> 7</span> NETMASK=<span style="color: #800000;">"</span><span style="color: #800000;">255.255.0.0</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 8</span> GATEWAY=<span style="color: #800000;">"</span><span style="color: #800000;">********</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 9</span> TYPE=<span style="color: #000000;">Ethernet </span><span style="color: #008080;">10</span> DNS1=<span style="color: #800000;">"</span><span style="color: #800000;">8.8.8.8</span><span style="color: #800000;">"</span> <span style="color: #008080;">11</span> DNS2=<span style="color: #800000;">"</span><span style="color: #800000;">8.8.4.4</span><span style="color: #800000;">"</span> <span style="color: #008080;">12</span> BRIDGE=br100</pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>创建ifcfg-br100文件，内容如下：</p> <div><div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div> <pre><span style="color: #008080;"> 1</span> DEVICE=<span style="color: #800000;">"</span><span style="color: #800000;">br100</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 2</span> BOOTPROTO=<span style="color: #800000;">"</span><span style="color: #800000;">static</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 3</span> HWADDR=<span style="color: #800000;">"</span><span style="color: #800000;">*********</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 4</span> NM_CONTROLLED=<span style="color: #800000;">"</span><span style="color: #800000;">no</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 5</span> ONBOOT=<span style="color: #800000;">"</span><span style="color: #800000;">yes</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 6</span> IPADDR=<span style="color: #800000;">"</span><span style="color: #800000;">*******</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 7</span> NETMASK=<span style="color: #800000;">"</span><span style="color: #800000;">255.255.0.0</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 8</span> GATEWAY=<span style="color: #800000;">"</span><span style="color: #800000;">*******</span><span style="color: #800000;">"</span> <span style="color: #008080;"> 9</span> TYPE=<span style="color: #000000;">Bridge </span><span style="color: #008080;">10</span> DEFROUTE=<span style="color: #000000;">yes </span><span style="color: #008080;">11</span> DNS1=<span style="color: #800000;">"</span><span style="color: #800000;">8.8.8.8</span><span style="color: #800000;">"</span> <span style="color: #008080;">12</span> DNS2=<span style="color: #800000;">"</span><span style="color: #800000;">8.8.4.4</span><span style="color: #800000;">"</span></pre> <div><a title="复制代码"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></div></div> <p>11.ok,至此，xen的安装结束了，可以放心大胆的创建虚拟机了。</p><img src ="http://www.blogjava.net/zks518/aggbug/394969.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2013-01-31 11:13 <a href="http://www.blogjava.net/zks518/archive/2013/01/31/394969.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>android权限</title><link>http://www.blogjava.net/zks518/archive/2012/09/17/387936.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Mon, 17 Sep 2012 12:45:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2012/09/17/387936.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/387936.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2012/09/17/387936.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/387936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/387936.html</trackback:ping><description><![CDATA[<div>android.permission.ACCESS_CHECKIN_PROPERTIES <br /> //允许读写访问&#8221;properties&#8221;表在checkin数据库中，改值可以修改上传 <br /> <br /> android.permission.ACCESS_COARSE_LOCATION <br /> //允许一个程序访问CellID或WiFi热点来获取粗略的位置 <br /> <br /> android.permission.ACCESS_FINE_LOCATION <br /> //允许一个程序访问精良位置(如GPS) <br /> <br /> android.permission.ACCESS_LOCATION_EXTRA_COMMANDS <br /> //允许应用程序访问额外的位置提供命令 <br /> <br /> android.permission.ACCESS_MOCK_LOCATION <br /> //允许程序创建模拟位置提供用于测试 <br /> <br /> android.permission.ACCESS_NETWORK_STATE <br /> //允许程序访问有关GSM网络信息 <br /> <br /> android.permission.ACCESS_SURFACE_FLINGER <br /> //允许程序使用SurfaceFlinger底层特性 <br /> <br /> android.permission.ACCESS_WIFI_STATE <br /> //允许程序访问Wi-Fi网络状态信息 <br /> <br /> android.permission.ADD_SYSTEM_SERVICE <br /> //允许程序发布系统级服务 <br /> <br /> android.permission.BATTERY_STATS <br /> //允许程序更新手机电池统计信息 <br /> <br /> android.permission.BLUETOOTH <br /> //允许程序连接到已配对的蓝牙设备 <br /> <br /> android.permission.BLUETOOTH_ADMIN <br /> //允许程序发现和配对蓝牙设备 <br /> <br /> android.permission.BRICK <br /> //请求能够禁用设备(非常危险 <br /> <br /> android.permission.BROADCAST_PACKAGE_REMOVED <br /> //允许程序广播一个提示消息在一个应用程序包已经移除后 <br /> <br /> android.permission.BROADCAST_STICKY <br /> //允许一个程序广播常用intents <br /> <br /> android.permission.CALL_PHONE <br /> //允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认 <br /> <br /> android.permission.CALL_PRIVILEGED <br /> //允许一个程序拨打任何号码，包含紧急号码无需通过拨号用户界面需要用户确认 <br /> <br /> android.permission.CAMERA <br /> //请求访问使用照相设备 <br /> <br /> android.permission.CHANGE_COMPONENT_ENABLED_STATE <br /> //允许一个程序是否改变一个组件或其他的启用或禁用 <br /> <br /> android.permission.CHANGE_CONFIGURATION <br /> //允许一个程序修改当前设置，如本地化 <br /> <br /> android.permission.CHANGE_NETWORK_STATE <br /> //允许程序改变网络连接状态 <br /> <br /> android.permission.CHANGE_WIFI_STATE <br /> //允许程序改变Wi-Fi连接状态 <br /> <br /> android.permission.CLEAR_APP_CACHE <br /> //允许一个程序清楚缓存从所有安装的程序在设备中 <br /> <br /> android.permission.CLEAR_APP_USER_DATA <br /> //允许一个程序清除用户设置 <br /> <br /> android.permission.CONTROL_LOCATION_UPDATES <br /> //允许启用禁止位置更新提示从无线模块 <br /> <br /> android.permission.DELETE_CACHE_FILES <br /> //允许程序删除缓存文件 <br /> <br /> android.permission.DELETE_PACKAGES <br /> //允许一个程序删除包 <br /> <br /> android.permission.DEVICE_POWER <br /> //允许访问底层电源管理 <br /> <br /> android.permission.DIAGNOSTIC <br /> //允许程序RW诊断资源 <br /> <br /> android.permission.DISABLE_KEYGUARD <br /> //允许程序禁用键盘锁 <br /> <br /> android.permission.DUMP <br /> //允许程序返回状态抓取信息从系统服务 <br /> <br /> android.permission.EXPAND_STATUS_BAR <br /> //允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 <br /> <br /> android.permission.FACTORY_TEST <br /> //作为一个工厂测试程序，运行在root用户 <br /> <br /> android.permission.FLASHLIGHT <br /> //访问闪光灯,android开发网提示HTC Dream不包含闪光灯 <br /> <br /> android.permission.FORCE_BACK <br /> //允许程序强行一个后退操作是否在顶层activities <br /> <br /> android.permission.FOTA_UPDATE <br /> //暂时不了解这是做什么使用的，android开发网分析可能是一个预留权限. <br /> <br /> android.permission.GET_ACCOUNTS <br /> //访问一个帐户列表在Accounts Service中 <br /> <br /> android.permission.GET_PACKAGE_SIZE <br /> //允许一个程序获取任何package占用空间容量 <br /> <br /> android.permission.GET_TASKS <br /> //允许一个程序获取信息有关当前或最近运行的任务，一个缩略的任务状态，是否活动等等 <br /> <br /> android.permission.HARDWARE_TEST <br /> //允许访问硬件 <br /> <br /> android.permission.INJECT_EVENTS <br /> //允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流，android 开发网提醒算是hook技术吧 <br /> <br /> android.permission.INSTALL_PACKAGES <br /> //允许一个程序安装packages <br /> <br /> android.permission.INTERNAL_SYSTEM_WINDOW <br /> //允许打开窗口使用系统用户界面 <br /> <br /> android.permission.INTERNET <br /> //允许程序打开网络套接字 <br /> <br /> android.permission.MANAGE_APP_TOKENS <br /> //允许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中 <br /> <br /> android.permission.MASTER_CLEAR <br /> //目前还没有明确的解释，android开发网分析可能是清除一切数据，类似硬格机 <br /> <br /> android.permission.MODIFY_AUDIO_SETTINGS <br /> //允许程序修改全局音频设置 <br /> <br /> android.permission.MODIFY_PHONE_STATE <br /> //允许修改话机状态，如电源，人机接口等 <br /> <br /> android.permission.MOUNT_UNMOUNT_FILESYSTEMS <br /> //允许挂载和反挂载文件系统可移动存储 <br /> <br /> android.permission.PERSISTENT_ACTIVITY <br /> //允许一个程序设置他的activities显示 <br /> <br /> android.permission.PROCESS_OUTGOING_CALLS <br /> //允许程序监视、修改有关播出电话 <br /> <br /> android.permission.READ_CALENDAR <br /> //允许程序读取用户日历数据 <br /> <br /> android.permission.READ_CONTACTS <br /> //允许程序读取用户联系人数据 <br /> <br /> android.permission.READ_FRAME_BUFFER <br /> //允许程序屏幕波或和更多常规的访问帧缓冲数据 <br /> <br /> android.permission.READ_INPUT_STATE <br /> //允许程序返回当前按键状态 <br /> <br /> android.permission.READ_LOGS <br /> //允许程序读取底层系统日志文件 <br /> <br /> android.permission.READ_OWNER_DATA <br /> //允许程序读取所有者数据 <br /> <br /> android.permission.READ_SMS <br /> //允许程序读取短信息 <br /> <br /> android.permission.READ_SYNC_SETTINGS <br /> //允许程序读取同步设置 <br /> <br /> android.permission.READ_SYNC_STATS <br /> //允许程序读取同步状态 <br /> <br /> android.permission.REBOOT <br /> //请求能够重新启动设备 <br /> <br /> android.permission.RECEIVE_BOOT_COMPLETED <br /> //允许一个程序接收到 <br /> <br /> android.permission.RECEIVE_MMS <br /> //允许一个程序监控将收到MMS彩信,记录或处理 <br /> <br /> android.permission.RECEIVE_SMS <br /> //允许程序监控一个将收到短信息，记录或处理 <br /> <br /> android.permission.RECEIVE_WAP_PUSH <br /> //允许程序监控将收到WAP PUSH信息 <br /> <br /> android.permission.RECORD_AUDIO <br /> //允许程序录制音频 <br /> <br /> android.permission.REORDER_TASKS <br /> //允许程序改变Z轴排列任务 <br /> <br /> android.permission.RESTART_PACKAGES <br /> //允许程序重新启动其他程序 <br /> <br /> android.permission.SEND_SMS <br /> //允许程序发送SMS短信 <br /> <br /> android.permission.SET_ACTIVITY_WATCHER <br /> //允许程序监控或控制activities已经启动全局系统中 <br /> <br /> android.permission.SET_ALWAYS_FINISH <br /> //允许程序控制是否活动间接完成在处于后台时 <br /> <br /> android.permission.SET_ANIMATION_SCALE <br /> //修改全局信息比例 <br /> <br /> android.permission.SET_DEBUG_APP <br /> //配置一个程序用于调试 <br /> <br /> android.permission.SET_ORIENTATION <br /> //允许底层访问设置屏幕方向和实际旋转 <br /> <br /> android.permission.SET_PREFERRED_APPLICATIONS <br /> //允许一个程序修改列表参数PackageManager.addPackageToPreferred() 和PackageManager.removePackageFromPreferred()方法 <br /> <br /> android.permission.SET_PROCESS_FOREGROUND <br /> //允许程序当前运行程序强行到前台 <br /> <br /> android.permission.SET_PROCESS_LIMIT <br /> //允许设置最大的运行进程数量 <br /> <br /> android.permission.SET_TIME_ZONE <br /> //允许程序设置时间区域 <br /> <br /> android.permission.SET_WALLPAPER <br /> //允许程序设置壁纸 <br /> <br /> android.permission.SET_WALLPAPER_HINTS <br /> //允许程序设置壁纸hits <br /> <br /> android.permission.SIGNAL_PERSISTENT_PROCESSES <br /> //允许程序请求发送信号到所有显示的进程中 <br /> <br /> android.permission.STATUS_BAR <br /> //允许程序打开、关闭或禁用状态栏及图标Allows an application to open, close, or disable the status bar and its icons. <br /> <br /> android.permission.SUBSCRIBED_FEEDS_READ <br /> //允许一个程序访问订阅RSS Feed内容提供 <br /> <br /> android.permission.SUBSCRIBED_FEEDS_WRITE <br /> //系统暂时保留改设置,android开发网认为未来版本会加入该功能。 <br /> <br /> android.permission.SYSTEM_ALERT_WINDOW <br /> //允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT，显示在其他所有程序的顶层(Allows an application to  open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other  applications. ) <br /> <br /> android.permission.VIBRATE <br /> //允许访问振动设备 <br /> <br /> android.permission.WAKE_LOCK <br /> //允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 <br /> <br /> android.permission.WRITE_APN_SETTINGS <br /> //允许程序写入API设置 <br /> <br /> android.permission.WRITE_CALENDAR <br /> //允许一个程序写入但不读取用户日历数据 <br /> <br /> android.permission.WRITE_CONTACTS <br /> //允许程序写入但不读取用户联系人数据 <br /> <br /> android.permission.WRITE_GSERVICES <br /> //允许程序修改Google服务地图 <br /> <br /> android.permission.WRITE_OWNER_DATA <br /> //允许一个程序写入但不读取所有者数据 <br /> <br /> android.permission.WRITE_SETTINGS <br /> //允许程序读取或写入系统设置 <br /> <br /> android.permission.WRITE_SMS <br /> //允许程序写短信 <br /> <br /> android.permission.WRITE_SYNC_SETTINGS <br /> //允许程序写入同步设置 <br />&nbsp;</div><img src ="http://www.blogjava.net/zks518/aggbug/387936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2012-09-17 20:45 <a href="http://www.blogjava.net/zks518/archive/2012/09/17/387936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java调用url的两种方式</title><link>http://www.blogjava.net/zks518/archive/2012/09/17/387902.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Mon, 17 Sep 2012 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2012/09/17/387902.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/387902.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2012/09/17/387902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/387902.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/387902.html</trackback:ping><description><![CDATA[<h2> 			java调用url的两种方式 		</h2> 		<div> 		一、在java中调用url，并打开一个新的窗口<br /> <p>String url="http://10.58.2.131:8088/spesBiz/test1.jsp";<br /> String cmd = "cmd.exe /c start " + url; </p> <p>try { <br /> &nbsp;Process proc = Runtime.getRuntime().exec(cmd); <br /> &nbsp;proc.waitFor(); <br /> } <br /> catch (Exception e) <br /> { <br /> &nbsp;e.printStackTrace();<br /> } </p> 二、在java中调用url，后台调用。并取得返回值<br /> URL U = new URL("http://10.58.2.131:8088/spesBiz/test1.jsp");<br /> URLConnection connection = U.openConnection();<br /> &nbsp;&nbsp;&nbsp;connection.connect();<br /> &nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));<br /> &nbsp;&nbsp;&nbsp;String line;<br /> &nbsp;&nbsp;&nbsp;while ((line = in.readLine())!= null)<br /> &nbsp;&nbsp;&nbsp;{<br /> &nbsp;&nbsp;&nbsp;&nbsp;result += line;<br /> &nbsp;&nbsp;&nbsp;}<br /> &nbsp;&nbsp;&nbsp;in.close();  		</div><img src ="http://www.blogjava.net/zks518/aggbug/387902.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2012-09-17 14:53 <a href="http://www.blogjava.net/zks518/archive/2012/09/17/387902.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>检测Tomcat运行状态，自动重启 </title><link>http://www.blogjava.net/zks518/archive/2012/05/24/379005.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Thu, 24 May 2012 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2012/05/24/379005.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/379005.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2012/05/24/379005.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/379005.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/379005.html</trackback:ping><description><![CDATA[<h3>         <span><a href="http://blog.csdn.net/huangjl2000w/article/details/6338997">         检测Tomcat运行状态，自动重启         </a></span>     </h3>                <div>         <span>         </span><div>http://blog.csdn.net/huangjl2000w/article/details/6338997</div><br />      </div>            <p>先是主程序：</p> <p><br />import java.io.BufferedReader;<br />import java.io.FileReader;<br />import java.net.URL;<br />import java.net.URLConnection;<br />import java.util.Date;</p> <p>public class CheckTomcat {<br />&nbsp;private static String tomcatroot="";<br />&nbsp;private static String monitorurl="";<br />&nbsp;private static void checkTomcatIsAlive(String myurl) throws NullPointerException {<br />&nbsp;&nbsp;String s;<br />&nbsp;&nbsp;boolean isTomcatAlive = false;<br />&nbsp;&nbsp;java.io.BufferedReader in;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;检测URL："+myurl);<br />&nbsp;&nbsp;&nbsp;URL url = new URL(myurl);<br />&nbsp;&nbsp;&nbsp;URLConnection con = url.openConnection();<br />&nbsp;&nbsp;&nbsp;in = new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream()));<br />&nbsp;&nbsp;&nbsp;con.setConnectTimeout(1000);<br />&nbsp;&nbsp;&nbsp;con.setReadTimeout(4000);<br />&nbsp;&nbsp;&nbsp;while ((s = in.readLine()) != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (s.length() &gt; 0) {// 如果能够读取到页面则证明可用，tomcat正常，否则继续后面的重启tomcat操作。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;in.close();<br />&nbsp;&nbsp;}catch (Exception ex) {<br />&nbsp;&nbsp;&nbsp;//ex.printStackTrace();<br />&nbsp;&nbsp;&nbsp;System.out.println("*************该URL有误或不可访问！");<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;/*if (isTomcatAlive) {<br />&nbsp;&nbsp;&nbsp;System.out.println("&lt;" + new Date()+ "&gt; Tomcat is alive but not response!");<br />&nbsp;&nbsp;&nbsp;stopTomcat();<br />&nbsp;&nbsp;}*/<br />&nbsp;&nbsp;RunTomcat runt=new RunTomcat();<br />&nbsp;&nbsp;runt.startTomcat(tomcatroot);<br />&nbsp;}<br />&nbsp;<br />&nbsp;/*public static void stopTomcat() {<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;//java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");<br />&nbsp;&nbsp;&nbsp;java.lang.Process p = java.lang.Runtime.getRuntime().exec(tomcatroot+"bin//shutdown.bat");<br />&nbsp;&nbsp;&nbsp;java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));<br />&nbsp;&nbsp;&nbsp;String s;<br />&nbsp;&nbsp;&nbsp;String t = "Using JRE_HOME";<br />&nbsp;&nbsp;&nbsp;boolean restart = false;<br />&nbsp;&nbsp;&nbsp;while ((s = in.readLine()) != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;if (s.indexOf(t) != -1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;restart = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;System.out.println("&lt;" + new Date() + "&gt; Tomcat is stop "+ (restart ? "OK" : "ERROR"));<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}*/<br />&nbsp;<br />&nbsp;public static void main(String[] args) {<br />&nbsp;&nbsp;System.out.println("********************************************************");<br />&nbsp;&nbsp;System.out.println("====本程序自动检测Tomcat运行状况，必要时自动重启Tomcat。====");<br />&nbsp;&nbsp;System.out.println("********************************************************");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;init_config();<br />&nbsp;&nbsp;if(monitorurl.equals(""))monitorurl="<a href="http://localhost:8080/ExchangeWeb/checkTomcat/monitor.jsp">http://localhost:8080/ExchangeWeb/checkTomcat/monitor.jsp</a>";<br />&nbsp;&nbsp;if(tomcatroot.equals(""))tomcatroot="F://tomcat-6.0.20//";<br />&nbsp;&nbsp;if(!tomcatroot.endsWith("<a>//"))tomcatroot+="//</a>";<br />&nbsp;&nbsp;while (true) {<br />&nbsp;&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;String random="?random="+Math.random() * 65535;//=====处理数据缓存问题======<br />&nbsp;&nbsp;&nbsp;&nbsp;CheckTomcat.checkTomcatIsAlive(monitorurl+random);<br />&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(5000);<br />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("========================checking at &lt;"+new Date()+"&gt;");<br />&nbsp;&nbsp;&nbsp;} catch (Exception ex) {<br />&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;static private void init_config() { <br />&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;CheckTomcat me=new CheckTomcat();<br />&nbsp;&nbsp;&nbsp;String maindir=me.getClass().getResource("/").toURI().getPath();<br />&nbsp;&nbsp;&nbsp;System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;配置文件目录："+maindir);<br />&nbsp;&nbsp;&nbsp;String sLine;<br />&nbsp;&nbsp;&nbsp;String filename=maindir+"config.xml";<br />&nbsp;&nbsp;&nbsp;BufferedReader buffReader = new BufferedReader(new FileReader(filename));<br />&nbsp;&nbsp;&nbsp;while((sLine = buffReader.readLine())!=null)<br />&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;sLine = sLine.trim();<br />&nbsp;&nbsp;&nbsp;&nbsp;if(sLine.trim()!="" &amp;&amp; !sLine.equals("")){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sLine.toLowerCase().startsWith("tomcatroot")){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int npos=sLine.indexOf("tomcatroot");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;npos+="tomcatroot".length();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tomcatroot=sLine.substring(npos).trim();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tomcatroot.startsWith("="))tomcatroot=tomcatroot.substring(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(sLine.toLowerCase().startsWith("monitorurl")){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int npos=sLine.indexOf("monitorurl");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;npos+="monitorurl".length();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;monitorurl=sLine.substring(npos).trim();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(monitorurl.startsWith("="))monitorurl=monitorurl.substring(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;buffReader=null;<br />&nbsp;&nbsp;}catch(Exception e){<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;System.out.println("********************************************************");<br />&nbsp;&nbsp;&nbsp;System.out.println("====读取配置文件失败！系统无法运行，请与供应商联系。====");<br />&nbsp;&nbsp;&nbsp;System.out.println("********************************************************");<br />&nbsp;&nbsp;&nbsp;System.exit(0);<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}</p> <p>&nbsp;</p> <p>再是自动重启Tomcat线程类：</p> <p>import java.util.Date;</p> <p><br />public class RunTomcat extends Thread {</p> <p>&nbsp;private static String tomcatroot="";<br />&nbsp;<br />&nbsp;public void startTomcat(String root) {<br />&nbsp;&nbsp;this.tomcatroot=root;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;Tomcat即将启动。。。");<br />&nbsp;&nbsp;System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;Tomcat根目录："+tomcatroot);<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;//java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");<br />&nbsp;&nbsp;&nbsp;java.lang.Process p = java.lang.Runtime.getRuntime().exec(tomcatroot+"bin//shutdown.bat");<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;Thread.sleep(3000);//等待shutdown结束<br />&nbsp;&nbsp;&nbsp;//RunTomcat me=new RunTomcat();<br />&nbsp;&nbsp;&nbsp;//String maindir=me.getClass().getResource("/").toURI().getPath();<br />&nbsp;&nbsp;&nbsp;//java.lang.Process p = java.lang.Runtime.getRuntime().exec(maindir+"checkTomcat.bat");<br />&nbsp;&nbsp;&nbsp;java.lang.Process p = java.lang.Runtime.getRuntime().exec(tomcatroot+"bin//startup.bat");<br />&nbsp;&nbsp;&nbsp;java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;/*String s;<br />&nbsp;&nbsp;&nbsp;boolean restart = false;<br />&nbsp;&nbsp;&nbsp;String t = "Server startup in";<br />&nbsp;&nbsp;&nbsp;while ((s = in.readLine()) != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (s.indexOf(t) != -1) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;restart = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}*/<br />&nbsp;&nbsp;&nbsp;System.out.println("&gt;&gt;&gt;&gt;&gt;&gt;Tomcat start at &lt;" + new Date() + "&gt;");<br />&nbsp;&nbsp;} catch (Exception e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}</p> <p>}</p> <p>接着是检测tomcat是否活动monitor.jsp文件：</p> <p>&lt;%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%&gt;<br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />out.println("path=" + path + "&lt;br&gt;");<br />out.println("basePath=" + basePath + "&lt;br&gt;");<br />out.println("ok&lt;br&gt;");<br />%&gt;</p> <p>&nbsp;</p> <p>然后是config.xml配置文件：</p> <p>tomcatroot=F:/tomcat-6.0.20/<br />monitorurl=http://localhost:8080/ExchangeWeb/checkTomcat/monitor.jsp</p> <p>&nbsp;</p> <p>最后是checkTomcat.bat批处理文件：</p> <p>@echo off</p> <p>rem=========第一步：配置下面的JAVA_HOME为JDK目录==========#<br />@set JAVA_HOME=C:/Program Files/Java/jdk1.6.0_14</p> <p>rem=========第二步：配置下面的CATALINA_HOME为Tomcat目录==========#<br />@set CATALINA_HOME=F:/tomcat-6.0.20</p> <p>@set PATH=%JAVA_HOME%/bin/;<br />@set  CLASSPATH=%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/tools.jar;%CATALINA_HOME%/lib/servlet-api.jar;%CATALINA_HOME%/lib/jsp-api.jar;</p> <p><br />java CheckTomcat</p> <p>&nbsp;</p> <p>测试时，只要双击执行checkTomcat.bat文件即可。</p><img src ="http://www.blogjava.net/zks518/aggbug/379005.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2012-05-24 10:44 <a href="http://www.blogjava.net/zks518/archive/2012/05/24/379005.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>旋转Div</title><link>http://www.blogjava.net/zks518/archive/2012/05/18/378479.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Fri, 18 May 2012 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2012/05/18/378479.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/378479.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2012/05/18/378479.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/378479.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/378479.html</trackback:ping><description><![CDATA[旋转div<br /><br />&lt;div style="position:absolute;filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"&gt;内容啊&lt;/div&gt;<br /><br />兼容的写法<br /><br />&lt;div  style="position:absolute;filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:  rotate(270deg); -moz-transform: rotate(270deg); -o-transform:  rotate(270deg);transform: rotate(270deg);"&gt;内容啊&lt;/div&gt;<img src ="http://www.blogjava.net/zks518/aggbug/378479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2012-05-18 11:20 <a href="http://www.blogjava.net/zks518/archive/2012/05/18/378479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql事件自动复制表</title><link>http://www.blogjava.net/zks518/archive/2011/09/21/359155.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Wed, 21 Sep 2011 06:36:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2011/09/21/359155.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/359155.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2011/09/21/359155.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/359155.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/359155.html</trackback:ping><description><![CDATA[<div>begin<br />&nbsp;&nbsp;&nbsp; set @table_sql ='create table coordinate';<br />&nbsp;&nbsp;&nbsp; #set @table_sql =&nbsp; concat(@table_sql,DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'));<br />&nbsp;&nbsp;&nbsp; set @table_sql = concat(@table_sql,curdate()+1);<br />&nbsp;&nbsp;&nbsp; #set @table_sql = concat(@table_sql,'daycounts');<br />&nbsp;&nbsp;&nbsp; set @table_sql =&nbsp; concat(@table_sql,"(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select * from coordinate<br />&nbsp;&nbsp;&nbsp; )");<br />&nbsp;&nbsp;&nbsp;&nbsp; PREPARE stmt1 FROM @table_sql;<br />&nbsp;&nbsp;&nbsp;&nbsp; EXECUTE stmt1;<br />&nbsp;&nbsp;&nbsp; end;<br /></div><img src ="http://www.blogjava.net/zks518/aggbug/359155.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2011-09-21 14:36 <a href="http://www.blogjava.net/zks518/archive/2011/09/21/359155.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>颜色 16进制对照表</title><link>http://www.blogjava.net/zks518/archive/2011/08/12/356409.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Fri, 12 Aug 2011 09:55:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2011/08/12/356409.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/356409.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2011/08/12/356409.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/356409.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/356409.html</trackback:ping><description><![CDATA[<div><p>颜色代码表：以下样色显示您可能觉得不够精确，这和电脑显示器有直接关系。您可查看颜色代码，绝对正确，绝无重复。</p>                <table border="1" cellspacing="1" height="478" width="87%"><tbody><tr>             <td colspan="10" height="19" width="112%">             <p align="center">红色和粉红色，以及它们的16进制代码。</p>             </td>         </tr>         <tr>             <td align="center" bgcolor="#990033" height="25" width="11%">#990033</td>             <td align="center" bgcolor="#cc6699" height="25" width="11%">#CC6699</td>             <td align="center" bgcolor="#ff6699" height="25" width="11%">#FF6699</td>             <td align="center" bgcolor="#ff3366" height="25" width="11%">#FF3366</td>             <td align="center" bgcolor="#993366" height="25" width="11%">#993366</td>             <td align="center" bgcolor="#cc0066" height="25" width="11%">#CC0066</td>             <td align="center" bgcolor="#cc0033" height="25" width="11%">#CC0033</td>             <td align="center" bgcolor="#ff0066" height="25" width="11%">#FF0066</td>             <td align="center" bgcolor="#ff0033" height="25" width="12%">#FF0033</td>             <td align="center" bgcolor="#cc3399" height="25" valign="middle" width="12%">..#CC3399..</td>         </tr>         <tr>             <td align="center" bgcolor="#ff3399" height="25" width="11%">#FF3399</td>             <td align="center" bgcolor="#ff9999" height="25" width="11%">#FF9999</td>             <td align="center" bgcolor="#ff99cc" height="25" width="11%">#FF99CC</td>             <td align="center" bgcolor="#ff0099" height="25" width="11%">#FF0099</td>             <td align="center" bgcolor="#cc3366" height="25" width="11%">#CC3366</td>             <td align="center" bgcolor="#ff66cc" height="25" width="11%">#FF66CC</td>             <td align="center" bgcolor="#ff33cc" height="25" width="11%">#FF33CC</td>             <td align="center" bgcolor="#ffccff" height="25" width="11%">#FFCCFF</td>             <td align="center" bgcolor="#ff99ff" height="25" width="12%">#FF99FF</td>             <td align="center" bgcolor="#ff00cc" height="25" width="12%">#FF00CC</td>         </tr>         <tr>             <td colspan="10" align="center" height="19" width="112%">             <p align="center">紫红色，以及它们的16进制代码。</p>             </td>         </tr>         <tr>             <td align="center" bgcolor="#ff66ff" height="19" width="11%">#FF66FF</td>             <td align="center" bgcolor="#cc33cc" height="19" width="11%">#CC33CC</td>             <td align="center" bgcolor="#cc00ff" height="19" width="11%">#CC00FF</td>             <td align="center" bgcolor="#ff33ff" height="19" width="11%">#FF33FF</td>             <td align="center" bgcolor="#cc99ff" height="19" width="11%">#CC99FF</td>             <td align="center" bgcolor="#9900cc" height="19" width="11%">#9900CC</td>             <td align="center" bgcolor="#ff00ff" height="19" width="11%">#FF00FF</td>             <td align="center" bgcolor="#cc66ff" height="19" width="11%">#CC66FF</td>             <td align="center" bgcolor="#990099" height="19" width="12%">#990099</td>             <td align="center" bgcolor="#cc0099" height="19" width="12%">#CC0099</td>         </tr>         <tr>             <td align="center" bgcolor="#cc33ff" height="19" width="11%">#CC33FF</td>             <td align="center" bgcolor="#cc99cc" height="19" width="11%">#CC99CC</td>             <td align="center" bgcolor="#990066" height="19" width="11%">#990066</td>             <td align="center" bgcolor="#993399" height="19" width="11%">#993399</td>             <td align="center" bgcolor="#cc66cc" height="19" width="11%">#CC66CC</td>             <td align="center" bgcolor="#cc00cc" height="19" width="11%">#CC00CC</td>             <td align="center" bgcolor="#663366" height="19" width="11%">#663366</td>             <td align="center" height="19" width="11%">&nbsp;</td>             <td align="center" height="19" width="12%">&nbsp;</td>             <td align="center" height="19" width="12%">&nbsp;</td>         </tr>         <tr>             <td colspan="10" align="center" height="16" width="112%">蓝色，以及它们的16进制代码。</td>         </tr>         <tr>             <td align="center" bgcolor="#660099" height="16" width="11%">#660099</td>             <td align="center" bgcolor="#666ff0" height="16" width="11%">#666FF</td>             <td align="center" bgcolor="#000cc0" height="16" width="11%">#000CC</td>             <td align="center" bgcolor="#9933cc" height="16" width="11%">#9933CC</td>             <td align="center" bgcolor="#666699" height="16" width="11%">#666699</td>             <td align="center" bgcolor="#660066" height="16" width="11%">#660066</td>             <td align="center" bgcolor="#333366" height="16" width="11%">#333366</td>             <td align="center" bgcolor="#0066cc" height="16" width="11%">#0066CC</td>             <td align="center" bgcolor="#9900ff" height="16" width="12%">#9900FF</td>             <td align="center" bgcolor="#333399" height="16" width="12%">#333399</td>         </tr>         <tr>             <td align="center" bgcolor="#99ccff" height="16" width="11%">#99CCFF</td>             <td align="center" bgcolor="#9933ff" height="16" width="11%">#9933FF</td>             <td align="center" bgcolor="#330099" height="16" width="11%">#330099</td>             <td align="center" bgcolor="#6699ff" height="16" width="11%">#6699FF</td>             <td align="center" bgcolor="#9966cc" height="16" width="11%">#9966CC</td>             <td align="center" bgcolor="#3300cc" height="16" width="11%">#3300CC</td>             <td align="center" bgcolor="#003366" height="16" width="11%">#003366</td>             <td align="center" bgcolor="#330033" height="16" width="11%">#330033</td>             <td align="center" bgcolor="#3300ff" height="16" width="12%">#3300FF</td>             <td align="center" bgcolor="#6699cc" height="16" width="12%">#6699CC</td>         </tr>         <tr>             <td align="center" bgcolor="#663399" height="16" width="11%">#663399</td>             <td align="center" bgcolor="#3333ff" height="16" width="11%">#3333FF</td>             <td align="center" bgcolor="#006699" height="16" width="11%">#006699</td>             <td align="center" bgcolor="#6633cc" height="16" width="11%">#6633CC</td>             <td align="center" bgcolor="#3333cc" height="16" width="11%">#3333CC</td>             <td align="center" bgcolor="#3399cc" height="16" width="11%">#3399CC</td>             <td align="center" bgcolor="#6600cc" height="16" width="11%">#6600CC</td>             <td align="center" bgcolor="#0066ff" height="16" width="11%">#0066FF</td>             <td align="center" bgcolor="#0099cc" height="16" width="12%">#0099CC</td>             <td align="center" bgcolor="#9966ff" height="16" width="12%">#9966FF</td>         </tr>         <tr>             <td align="center" bgcolor="#0033ff" height="16" width="11%">#0033FF</td>             <td align="center" bgcolor="#66ccff" height="16" width="11%">#66CCFF</td>             <td align="center" bgcolor="#330066" height="16" width="11%">#330066</td>             <td align="center" bgcolor="#3366ff" height="16" width="11%">#3366FF</td>             <td align="center" bgcolor="#3399ff" height="16" width="11%">#3399FF</td>             <td align="center" bgcolor="#6600ff" height="16" width="11%">#6600FF</td>             <td align="center" bgcolor="#3366cc" height="16" width="11%">#3366CC</td>             <td align="center" bgcolor="#003399" height="16" width="11%">#003399</td>             <td align="center" bgcolor="#6633ff" height="16" width="12%">#6633FF</td>             <td align="center" bgcolor="#000066" height="16" width="12%">#000066</td>         </tr>         <tr>             <td align="center" bgcolor="#0099ff" height="16" width="11%">#0099FF</td>             <td align="center" bgcolor="#ccccff" height="16" width="11%">#CCCCFF</td>             <td align="center" bgcolor="#000033" height="16" width="11%">#000033</td>             <td align="center" bgcolor="#33ccff" height="16" width="11%">#33CCFF</td>             <td align="center" bgcolor="#9999ff" height="16" width="11%">#9999FF</td>             <td align="center" bgcolor="#0000ff" height="16" width="11%">#0000FF</td>             <td align="center" bgcolor="#00ccff" height="16" width="11%">#00CCFF</td>             <td align="center" bgcolor="#9999cc" height="16" width="11%">#9999CC</td>             <td align="center" bgcolor="#000099" height="16" width="12%">#000099</td>             <td align="center" bgcolor="#6666cc" height="16" width="12%">#6666CC</td>         </tr>         <tr>             <td align="center" bgcolor="#0033cc" height="16" width="11%">#0033CC</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>         </tr>         <tr>             <td colspan="10" align="center" height="14" width="112%">黄色、褐色、玫瑰色和橙色，以及它们的16进制代码。</td>         </tr>         <tr>             <td align="center" bgcolor="#ffffcc" height="16" width="11%">#FFFFCC</td>             <td align="center" bgcolor="#ffcc00" height="16" width="11%">#FFCC00</td>             <td align="center" bgcolor="#cc9000" height="16" width="11%">#CC99090</td>             <td align="center" bgcolor="#663300" height="16" width="11%">#663300</td>             <td align="center" bgcolor="#ff6600" height="16" width="11%">#FF6600</td>             <td align="center" bgcolor="#663333" height="16" width="11%">#663333</td>             <td align="center" bgcolor="#cc6666" height="16" width="11%">#CC6666</td>             <td align="center" bgcolor="#ff6666" height="16" width="11%">#FF6666</td>             <td align="center" bgcolor="#ff0000" height="16" width="12%">#FF0000</td>             <td align="center" bgcolor="#ffff99" height="16" width="12%">#FFFF99</td>         </tr>         <tr>             <td align="center" bgcolor="#ffcc66" height="16" width="11%">#FFCC66</td>             <td align="center" bgcolor="#ff9900" height="16" width="11%">#FF9900</td>             <td align="center" bgcolor="#ff9966" height="16" width="11%">#FF9966</td>             <td align="center" bgcolor="#cc3300" height="16" width="11%">#CC3300</td>             <td align="center" bgcolor="#996666" height="16" width="11%">#996666</td>             <td align="center" bgcolor="#ffcccc" height="16" width="11%">#FFCCCC</td>             <td align="center" bgcolor="#660000" height="16" width="11%">#660000</td>             <td align="center" bgcolor="#ff3300" height="16" width="11%">#FF3300</td>             <td align="center" bgcolor="#ff6666" height="16" width="12%">#FF6666</td>             <td align="center" bgcolor="#ffcc33" height="16" width="12%">#FFCC33</td>         </tr>         <tr>             <td align="center" bgcolor="#cc6600" height="16" width="11%">#CC6600</td>             <td align="center" bgcolor="#ff6633" height="16" width="11%">#FF6633</td>             <td align="center" bgcolor="#996633" height="16" width="11%">#996633</td>             <td align="center" bgcolor="#cc9999" height="16" width="11%">#CC9999</td>             <td align="center" bgcolor="#ff3333" height="16" width="11%">#FF3333</td>             <td align="center" bgcolor="#990000" height="16" width="11%">#990000</td>             <td align="center" bgcolor="#cc9966" height="16" width="11%">#CC9966</td>             <td align="center" bgcolor="#ffff33" height="16" width="11%">#FFFF33</td>             <td align="center" bgcolor="#cc9933" height="16" width="12%">#CC9933</td>             <td align="center" bgcolor="#993300" height="16" width="12%">#993300</td>         </tr>         <tr>             <td align="center" bgcolor="#ff9933" height="16" width="11%">#FF9933</td>             <td align="center" bgcolor="#330000" height="16" width="11%">#330000</td>             <td align="center" bgcolor="#993333" height="16" width="11%">#993333</td>             <td align="center" bgcolor="#cc3333" height="16" width="11%">#CC3333</td>             <td align="center" bgcolor="#cc0000" height="16" width="11%">#CC0000</td>             <td align="center" bgcolor="#ffcc99" height="16" width="11%">#FFCC99</td>             <td align="center" bgcolor="#ffff00" height="16" width="11%">#FFFF00</td>             <td align="center" bgcolor="#996600" height="16" width="11%">#996600</td>             <td align="center" bgcolor="#cc6633" height="16" width="12%">#CC6633</td>             <td align="center" height="16" width="12%">&nbsp;</td>         </tr>         <tr>             <td colspan="10" align="center" height="14" width="112%">绿色，以及它们的16进制代码。</td>         </tr>         <tr>             <td align="center" bgcolor="#99ffff" height="16" width="11%">#99FFFF</td>             <td align="center" bgcolor="#33cccc" height="16" width="11%">#33CCCC</td>             <td align="center" bgcolor="#00cc99" height="16" width="11%">#00CC99</td>             <td align="center" bgcolor="#99ff99" height="16" width="11%">#99FF99</td>             <td align="center" bgcolor="#009966" height="16" width="11%">#009966</td>             <td align="center" bgcolor="#33ff33" height="16" width="11%">#33FF33</td>             <td align="center" bgcolor="#33ff00" height="16" width="11%">#33FF00</td>             <td align="center" bgcolor="#99cc33" height="16" width="11%">#99CC33</td>             <td align="center" bgcolor="#ccc330" height="16" width="12%">#CCC33</td>             <td align="center" bgcolor="#66ffff" height="16" width="12%">#66FFFF</td>         </tr>         <tr>             <td align="center" bgcolor="#66cccc" height="16" width="11%">#66CCCC</td>             <td align="center" bgcolor="#66ffcc" height="16" width="11%">#66FFCC</td>             <td align="center" bgcolor="#66ff66" height="16" width="11%">#66FF66</td>             <td align="center" bgcolor="#009933" height="16" width="11%">#009933</td>             <td align="center" bgcolor="#00cc33" height="16" width="11%">#00CC33</td>             <td align="center" bgcolor="#66ff00" height="16" width="11%">#66FF00</td>             <td align="center" bgcolor="#336600" height="16" width="11%">#336600</td>             <td align="center" bgcolor="#333000" height="16" width="11%">#33300</td>             <td align="center" bgcolor="#33ffff" height="16" width="12%">#33FFFF</td>             <td align="center" bgcolor="#339999" height="16" width="12%">#339999</td>         </tr>         <tr>             <td align="center" bgcolor="#99ffcc" height="16" width="11%">#99FFCC</td>             <td align="center" bgcolor="#339933" height="16" width="11%">#339933</td>             <td align="center" bgcolor="#33ff66" height="16" width="11%">#33FF66</td>             <td align="center" bgcolor="#33cc33" height="16" width="11%">#33CC33</td>             <td align="center" bgcolor="#99ff00" height="16" width="11%">#99FF00</td>             <td align="center" bgcolor="#669900" height="16" width="11%">#669900</td>             <td align="center" bgcolor="#666600" height="16" width="11%">#666600</td>             <td align="center" bgcolor="#00ffff" height="16" width="11%">#00FFFF</td>             <td align="center" bgcolor="#336666" height="16" width="12%">#336666</td>             <td align="center" bgcolor="#00ff99" height="16" width="12%">#00FF99</td>         </tr>         <tr>             <td align="center" bgcolor="#99cc99" height="16" width="11%">#99CC99</td>             <td align="center" bgcolor="#00ff66" height="16" width="11%">#00FF66</td>             <td align="center" bgcolor="#66ff33" height="16" width="11%">#66FF33</td>             <td align="center" bgcolor="#66cc00" height="16" width="11%">#66CC00</td>             <td align="center" bgcolor="#99cc00" height="16" width="11%">#99CC00</td>             <td align="center" bgcolor="#999933" height="16" width="11%">#999933</td>             <td align="center" bgcolor="#00cccc" height="16" width="11%">#00CCCC</td>             <td align="center" bgcolor="#006666" height="16" width="11%">#006666</td>             <td align="center" bgcolor="#339966" height="16" width="12%">#339966</td>             <td align="center" bgcolor="#66ff99" height="16" width="12%">#66FF99</td>         </tr>         <tr>             <td align="center" bgcolor="#ccffcc" height="16" width="11%">#CCFFCC</td>             <td align="center" bgcolor="#00ff00" height="16" width="11%">#00FF00</td>             <td align="center" bgcolor="#00cc00" height="16" width="11%">#00CC00</td>             <td align="center" bgcolor="#ccff66" height="16" width="11%">#CCFF66</td>             <td align="center" bgcolor="#cccc66" height="16" width="11%">#CCCC66</td>             <td align="center" bgcolor="#009999" height="16" width="11%">#009999</td>             <td align="center" bgcolor="#003333" height="16" width="11%">#003333</td>             <td align="center" bgcolor="#006633" height="16" width="11%">#006633</td>             <td align="center" bgcolor="#33ff99" height="16" width="12%">#33FF99</td>             <td align="center" bgcolor="#ccff99" height="16" width="12%">#CCFF99</td>         </tr>         <tr>             <td align="center" bgcolor="#66cc33" height="16" width="11%">#66CC33</td>             <td align="center" bgcolor="#33cc00" height="16" width="11%">#33CC00</td>             <td align="center" bgcolor="#ccff33" height="16" width="11%">#CCFF33</td>             <td align="center" bgcolor="#666633" height="16" width="11%">#666633</td>             <td align="center" bgcolor="#669999" height="16" width="11%">#669999</td>             <td align="center" bgcolor="#00ffcc" height="16" width="11%">#00FFCC</td>             <td align="center" bgcolor="#336633" height="16" width="11%">#336633</td>             <td align="center" bgcolor="#33cc66" height="16" width="11%">#33CC66</td>             <td align="center" bgcolor="#99ff66" height="16" width="12%">#99FF66</td>             <td align="center" bgcolor="#006600" height="16" width="12%">#006600</td>         </tr>         <tr>             <td align="center" bgcolor="#339900" height="16" width="11%">#339900</td>             <td align="center" bgcolor="#ccff00" height="16" width="11%">#CCFF00</td>             <td align="center" bgcolor="#999966" height="16" width="11%">#999966</td>             <td align="center" bgcolor="#99cccc" height="16" width="11%">#99CCCC</td>             <td align="center" bgcolor="#33ffcc" height="16" width="11%">#33FFCC</td>             <td align="center" bgcolor="#669966" height="16" width="11%">#669966</td>             <td align="center" bgcolor="#00cc66" height="16" width="11%">#00CC66</td>             <td align="center" bgcolor="#99ff33" height="16" width="11%">#99FF33</td>             <td align="center" bgcolor="#003300" height="16" width="12%">#003300</td>             <td align="center" bgcolor="#99cc66" height="16" width="12%">#99CC66</td>         </tr>         <tr>             <td align="center" bgcolor="#999900" height="16" width="11%">#999900</td>             <td align="center" bgcolor="#cccc99" height="16" width="11%">#CCCC99</td>             <td align="center" bgcolor="#ccffff" height="16" width="11%">#CCFFFF</td>             <td align="center" bgcolor="#33cc99" height="16" width="11%">#33CC99</td>             <td align="center" bgcolor="#66cc66" height="16" width="11%">#66CC66</td>             <td align="center" bgcolor="#66cc99" height="16" width="11%">#66CC99</td>             <td align="center" bgcolor="#00ff33" height="16" width="11%">#00FF33</td>             <td align="center" bgcolor="#009900" height="16" width="11%">#009900</td>             <td align="center" bgcolor="#669900" height="16" width="12%">#669900</td>             <td align="center" bgcolor="#669933" height="16" width="12%">#669933</td>         </tr>         <tr>             <td align="center" bgcolor="#cccc00" height="16" width="11%">#CCCC00</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>         </tr>         <tr>             <td colspan="10" align="center" height="16" width="112%">白色、灰色和黑色，以及它们的16进制代码。</td>         </tr>         <tr>             <td align="center" bgcolor="#fffff0" height="16" width="11%">#FFFFF</td>             <td align="center" bgcolor="#cccccc" height="16" width="11%">#CCCCCC</td>             <td align="center" bgcolor="#999999" height="16" width="11%">#999999</td>             <td align="center" bgcolor="#666666" height="16" width="11%">#666666</td>             <td align="center" bgcolor="#333333" height="16" width="11%">#333333</td>             <td align="center" bgcolor="#000000" height="16" width="11%">#000000</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="11%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>             <td align="center" height="16" width="12%">&nbsp;</td>         </tr>         <tr>             <td colspan="10" align="center" height="16" width="112%">16色和它们的16进制代码。</td>         </tr>         <tr>             <td align="center" bgcolor="#00ffff" height="16" width="11%">Aqua</td>             <td align="center" bgcolor="#000000" height="16" width="11%">Black</td>             <td align="center" bgcolor="#ff00ff" height="16" width="11%">Fuchsia</td>             <td align="center" bgcolor="#800000" height="16" width="11%">Gray</td>             <td align="center" bgcolor="#008000" height="16" width="11%">Gree</td>             <td align="center" bgcolor="#00ff00" height="16" width="11%">Lime</td>             <td align="center" bgcolor="#800000" height="16" width="11%">Maroon</td>             <td align="center" bgcolor="#000080" height="16" width="11%">Navy</td>             <td align="center" bgcolor="#808000" height="16" width="12%">Olive</td>             <td align="center" bgcolor="#800080" height="16" width="12%">Purple</td>         </tr>         <tr>             <td align="center" bgcolor="#ff0000" height="18" width="11%">Red</td>             <td align="center" bgcolor="#c0c0c0" height="18" width="11%">Silver</td>             <td align="center" bgcolor="#008080" height="18" width="11%">Teal</td>             <td align="center" bgcolor="#ffffff" height="18" width="11%">White</td>             <td align="center" bgcolor="#ffff00" height="18" width="11%">Yellow</td>             <td align="center" bgcolor="#0000ff" height="18" width="11%">Blue</td>             <td align="center" height="18" width="11%">&nbsp;</td>             <td align="center" height="18" width="11%">&nbsp;</td>             <td align="center" height="18" width="12%">&nbsp;</td>             <td align="center" height="18" width="12%">&nbsp;</td></tr></tbody></table></div><img src ="http://www.blogjava.net/zks518/aggbug/356409.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2011-08-12 17:55 <a href="http://www.blogjava.net/zks518/archive/2011/08/12/356409.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>弹簧式菜单 CSS样式</title><link>http://www.blogjava.net/zks518/archive/2011/08/12/356345.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Fri, 12 Aug 2011 00:58:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2011/08/12/356345.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/356345.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2011/08/12/356345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/356345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/356345.html</trackback:ping><description><![CDATA[<div>&lt;!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" <br /><br />"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;css菜单演示&lt;/title&gt;<br /><br /><br />&lt;style type="text/css"&gt;<br />&lt;!--<br /><br />*{margin:0;padding:0;border:0;}<br />body {<br />&nbsp;font-family: arial, 宋体, serif;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-size:12px;<br />}<br /><br /><br />#nav {<br />&nbsp; line-height: 24px;&nbsp; list-style-type: none; background:#666;&nbsp;&nbsp; width:80px;<br />}<br /><br />#nav a {<br />&nbsp;display: block; width: 80px; text-align:center;<br />}<br /><br />#nav a:link&nbsp; {<br />&nbsp;color:#666; text-decoration:none;<br />}<br />#nav a:visited&nbsp; {<br />&nbsp;color:#666;text-decoration:none;<br />}<br />#nav a:hover&nbsp; {<br />&nbsp;color:#FFF;text-decoration:none;font-weight:bold;<br />}<br /><br />#nav li {<br />&nbsp;/*float: left*/; width: 80px; background:#CCC;<br />}<br />#nav li a:hover{<br />&nbsp;background:#999;<br />}<br />#nav li ul {<br />&nbsp;line-height: 27px;&nbsp; list-style-type: none;text-align:left;<br />&nbsp;left: -999em; width: 80px; position: absolute; <br />}<br />#nav li ul li{<br />&nbsp;float: left; width: 80px;<br />&nbsp;background: #F6F6F6; <br />}<br /><br /><br />#nav li ul a{<br />&nbsp;display: block; width: 80px;w\idth:56px;text-align:left;padding-left:24px;<br />}<br /><br />#nav li ul a:link&nbsp; {<br />&nbsp;color:#666; text-decoration:none;<br />}<br />#nav li ul a:visited&nbsp; {<br />&nbsp;color:#666;text-decoration:none;<br />}<br />#nav li ul a:hover&nbsp; {<br />&nbsp;color:#F3F3F3;text-decoration:none;font-weight:normal;<br />&nbsp;background:#C00;<br />}<br /><br />#nav li:hover ul {<br />&nbsp;left: auto;<br />}<br />#nav li.sfhover ul {<br />&nbsp;left: auto;position:static;<br />}<br />#content {<br />&nbsp;clear: left; <br />}<br /><br /><br />--&gt;<br />&lt;/style&gt;<br /><br />&lt;script type=text/javascript&gt;&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--<br />function menuFix() {<br />&nbsp;var sfEls = document.getElementById("nav").getElementsByTagName("li");<br />&nbsp;for (var i=0; i&lt;sfEls.length; i++) {<br />&nbsp; sfEls[i].onmouseover=function() {<br />&nbsp; this.className+=(this.className.length&gt;0? " ": "") + "sfhover";<br />&nbsp; }<br />&nbsp; sfEls[i].onMouseDown=function() {<br />&nbsp; this.className+=(this.className.length&gt;0? " ": "") + "sfhover";<br />&nbsp; }<br />&nbsp; sfEls[i].onMouseUp=function() {<br />&nbsp; this.className+=(this.className.length&gt;0? " ": "") + "sfhover";<br />&nbsp; }<br />&nbsp; sfEls[i].onmouseout=function() {<br />&nbsp; this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), <br /><br />"");<br />&nbsp; }<br />&nbsp;}<br />}<br />window.onload=menuFix;<br /><br />//--&gt;&lt;!]]&gt;&lt;/script&gt;<br /><br />&lt;/head&gt;<br />&lt;body&gt;<br /><br /><br />&lt;ul id="nav"&gt;<br />&lt;li&gt;&lt;a href="#"&gt;产品介绍&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;产品一&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br />&lt;li&gt;&lt;a href="#"&gt;服务介绍&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二服务二服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;服务二&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br />&lt;li&gt;&lt;a href="#"&gt;成功案例&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;案例三&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;案例&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;案例三案例三&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;案例三案例三案例三&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br />&lt;li&gt;&lt;a href="#"&gt;关于我们&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;我们四&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;我们四&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;我们四&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;我们四111&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br /><br />&lt;li&gt;&lt;a href="#"&gt;在线演示&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示演示演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示演示演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示演示演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;演示演示演示演示演示&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br />&lt;li&gt;&lt;a href="#"&gt;联系我们&lt;/a&gt;<br />&nbsp;&lt;ul&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系联系联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;li&gt;&lt;a href="#"&gt;联系联系联系&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&lt;/ul&gt;<br />&lt;/li&gt;<br /><br />&lt;/ul&gt;<br /><br />&lt;/body&gt;<br />&lt;/html&gt;<br /></div><img src ="http://www.blogjava.net/zks518/aggbug/356345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2011-08-12 08:58 <a href="http://www.blogjava.net/zks518/archive/2011/08/12/356345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS中数组Array的用法{转载}</title><link>http://www.blogjava.net/zks518/archive/2011/06/24/352948.html</link><dc:creator>张生</dc:creator><author>张生</author><pubDate>Fri, 24 Jun 2011 04:27:00 GMT</pubDate><guid>http://www.blogjava.net/zks518/archive/2011/06/24/352948.html</guid><wfw:comment>http://www.blogjava.net/zks518/comments/352948.html</wfw:comment><comments>http://www.blogjava.net/zks518/archive/2011/06/24/352948.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/zks518/comments/commentRss/352948.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zks518/services/trackbacks/352948.html</trackback:ping><description><![CDATA[<div><div id="blog_text"><p><span style="font-family: 楷体, 楷体_GB2312">js数组元素的添加和删除一直比较迷惑，今天终于找到详细说明的资料了，先给个我测试的代码^-^</span><br /><span style="font-family: Times New Roman">var arr = new Array();</span><br /><span style="font-family: Times New Roman">arr[0] = "aaa";</span><br /><span style="font-family: Times New Roman">arr[1] = "bbb";</span><br /><span style="font-family: Times New Roman">arr[2] = "ccc";</span><br /><span style="font-family: Times New Roman">//alert(arr.length);//3</span><br /><span style="font-family: Times New Roman">arr.pop();</span><br /><span style="font-family: Times New Roman">//alert(arr.length);//2</span><br /><span style="font-family: Times New Roman">//alert(arr[arr.length-1]);//bbb</span><br /><span style="font-family: Times New Roman">arr.pop();</span><br /><span style="font-family: Times New Roman">//alert(arr[arr.length-1]);//aaa</span><br /><span style="font-family: Times New Roman">//alert(arr.length);//1</span></p> <p><span style="font-family: Times New Roman">var arr2 = new Array();</span><br /><span style="font-family: Times New Roman">//alert(arr2.length);//0</span><br /><span style="font-family: Times New Roman">arr2[0] = "aaa";</span><br /><span style="font-family: Times New Roman">arr2[1] = "bbb";</span><br /><span style="font-family: Times New Roman">//alert(arr2.length);//2</span><br /><span style="font-family: Times New Roman">arr2.pop();</span><br /><span style="font-family: Times New Roman">//alert(arr2.length);//1</span><br /><span style="font-family: Times New Roman">arr2 = arr2.slice(0,arr2.length-1);</span><br /><span style="font-family: Times New Roman">//alert(arr2.length);//0</span><br /><span style="font-family: Times New Roman">arr2[0] = "aaa";</span><br /><span style="font-family: Times New Roman">arr2[1] = "bbb";</span><br /><span style="font-family: Times New Roman">arr2[2] = "ccc";</span><br /><span style="font-family: Times New Roman">arr2 = arr2.slice(0,1);</span><br /><span style="font-family: Times New Roman">alert(arr2.length);//1</span><br /><span style="font-family: Times New Roman">alert(arr2[0]);//aaa</span><br /><span style="font-family: Times New Roman">alert(arr2[1]);//undefined</span></p> <p><strong><span style="font-family: 楷体, 楷体_GB2312"><span style="color: #0055ff"><span style="font-family: Times New Roman">shift</span>：删除原数组第一项，并返回删除元素的值；如果数组为空则返回</span><span style="color: #0055ff; font-family: Times New Roman">undefined</span></span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.shift(); //a：[2,3,4,5]&nbsp;&nbsp; b：1</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">unshift</span>：将参数添加到原数组开头，并返回数组的长度</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.unshift(-2,-1); //a：[-2,-1,1,2,3,4,5]&nbsp;&nbsp; b：7</span><br /><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312">注：在<span style="font-family: Times New Roman">IE6.0</span>下测试返回值总为<span style="font-family: Times New Roman">undefined，FF2.0</span>下测试返回值为7，所以这个方法的返回值不可靠，需要用返回值时可用<span style="font-family: Times New Roman">splice</span>代替本方法来使用。</span></strong></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">pop</span>：删除原数组最后一项，并返回删除元素的值；如果数组为空则返回<span style="font-family: Times New Roman">undefined</span></span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">var b = a.pop(); //a：[1,2,3,4]&nbsp;&nbsp; b：5</span>//不用返回的话直接调用就可以了</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">push</span>：将参数添加到原数组末尾，并返回数组的长度</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.push(6,7); //a：[1,2,3,4,5,6,7]&nbsp;&nbsp; b：7</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">concat</span>：返回一个新数组，是将参数添加到原数组中构成的</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.concat(6,7); //a：[1,2,3,4,5]&nbsp;&nbsp; b：[1,2,3,4,5,6,7]</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">splice(start,deleteCount,val1,val2,...)：</span>从<span style="font-family: Times New Roman">start</span>位置开始删除<span style="font-family: Times New Roman">deleteCount</span>项，并从该位置起插入<span style="font-family: Times New Roman">val1,val2</span>,...</span></strong></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312">在清空数组时，只需传递<span style="font-family: Times New Roman">startIndex</span>。</span></strong></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312">如果不删除所有元素，再传递<span style="font-family: Times New Roman">deleteCount</span>参数。</span></strong></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">splice</span>还具有先删除后添加的功能，即先删除几个元素，然后在删除的位置再添加若干元素，删除与添加的元素的个数没有必须相等，这时侯<span style="font-family: Times New Roman">deleteCount</span>也是要用到的。</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.splice(2,2,7,8,9); //a：[1,2,7,8,9,5]&nbsp;&nbsp; b：[3,4]</span><br /><span style="font-family: Times New Roman">var b = a.splice(0,1); //同shift</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">a.splice(0,0,-2,-1); var b = a.length;</span>//同<span style="font-family: Times New Roman">unshift</span></span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">var b = a.splice(a.length-1,1);</span>//同<span style="font-family: Times New Roman">pop</span></span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">a.splice(a.length,0,6,7); var b = a.length</span>; //同<span style="font-family: Times New Roman">push</span></span></p> <p><strong><span style="font-family: 楷体, 楷体_GB2312"><span style="color: #0055ff; font-family: Times New Roman">reverse</span><span style="color: #0055ff">：将数组反序</span></span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.reverse(); //a：[5,4,3,2,1]&nbsp;&nbsp; b：[5,4,3,2,1]</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">sort(orderfunction)：</span>按指定的参数对数组进行排序</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.sort(); //a：[1,2,3,4,5]&nbsp;&nbsp; b：[1,2,3,4,5]</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">slice(start,end)：</span>返回从原数组中指定开始下标到结束下标之间的项组成的新数组</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.slice(2,5); //a：[1,2,3,4,5]&nbsp;&nbsp; b：[3,4,5]</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">join(separator)：</span>将数组的元素组起一个字符串，以<span style="font-family: Times New Roman">separator</span>为分隔符，省略的话则用默认用逗号为分隔符</span><br /></strong><span style="font-family: Times New Roman">var a = [1,2,3,4,5];</span><br /><span style="font-family: Times New Roman">var b = a.join("|"); //a：[1,2,3,4,5]&nbsp;&nbsp; b："1|2|3|4|5"</span></p> <p><strong><span style="color: #0055ff; font-family: 楷体, 楷体_GB2312">再给个利用数组模拟<span style="font-family: Times New Roman">javaStringBuffer</span>处理字符串的方法：</span></strong></p> <p><span style="font-family: Times New Roman">/**</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">*</span> 字符串处理函数</span><br /><span style="font-family: Times New Roman">*/</span><br /><span style="font-family: Times New Roman">function StringBuffer() {</span><br /><span style="font-family: Times New Roman">var arr = new Array;</span><br /><span style="font-family: Times New Roman">this.append = function(str) {</span><br /><span style="font-family: Times New Roman">&nbsp;&nbsp;&nbsp; arr[arr.length] = str;</span><br /><span style="font-family: Times New Roman">};</span></p> <p><span style="font-family: Times New Roman">this.toString = function() {</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">&nbsp;&nbsp;&nbsp; return arr.join("");</span>//把<span style="font-family: Times New Roman">append</span>进来的数组<span style="font-family: Times New Roman">ping</span>成一个字符串</span><br /><span style="font-family: Times New Roman">};</span><br /><span style="font-family: Times New Roman">}</span></p> <p><span style="font-family: 楷体, 楷体_GB2312">今天在应用中突然发现<span style="font-family: Times New Roman">join</span>是一种把数组转换成字符串的好方法，故封装成对象使用了：</span></p> <p><span style="font-family: Times New Roman">/**</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">*</span>把数组转换成特定符号分割的字符串</span><br /><span style="font-family: Times New Roman">*/</span><br /><span style="font-family: Times New Roman">function arrayToString(arr,separator) {</span><br /><span style="font-family: Times New Roman">if(!separator) separator = "";//separator为null则默认为空</span><br /><span style="font-family: Times New Roman">&nbsp;&nbsp;&nbsp; return arr.join(separator);</span><br /><span style="font-family: Times New Roman">}</span></p> <p><span style="font-family: Times New Roman">/**</span><br /><span style="font-family: 楷体, 楷体_GB2312"><span style="font-family: Times New Roman">*</span> 查找数组包含的字符串</span><br /><span style="font-family: Times New Roman">*/</span><br /><span style="font-family: Times New Roman">function arrayFindString(arr,string) {</span><br /><span style="font-family: Times New Roman">var str = arr.join("");</span><br /><span style="font-family: Times New Roman">&nbsp;&nbsp;&nbsp; return str.indexOf(string);</span><br /><span style="font-family: Times New Roman">}</span></p></div></div><img src ="http://www.blogjava.net/zks518/aggbug/352948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zks518/" target="_blank">张生</a> 2011-06-24 12:27 <a href="http://www.blogjava.net/zks518/archive/2011/06/24/352948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>