﻿<?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-zhangxl_blog-文章分类-web</title><link>http://www.blogjava.net/zhanglongsr/category/14172.html</link><description>路漫漫其修远兮，吾将上下而求索！</description><language>zh-cn</language><lastBuildDate>Tue, 08 Sep 2009 11:48:38 GMT</lastBuildDate><pubDate>Tue, 08 Sep 2009 11:48:38 GMT</pubDate><ttl>60</ttl><item><title>深入Cookie系列-1   Cookie的属性</title><link>http://www.blogjava.net/zhanglongsr/articles/291186.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 14 Aug 2009 10:05:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/291186.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/291186.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/articles/291186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/291186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/291186.html</trackback:ping><description><![CDATA[每个cookie都有四个可选的属性，他们分别控制cookie的生存周期、可见性、安全性等。<br />
<br />
<strong>1.expires<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;它指定了cookie的生存期。默认情况下，cookie是暂时存在的，他们存储的值只在浏览器会话期间存在。当浏览器推出后，这些值也就丢失了。通过expires属性，可以为cookie设置一个过期日期。尽管expires属性仍然有效，但是它已经被max-age属性取代，后者用秒来设置cookie的声明周期。设置这两个属性中的任何一个，都会使浏览器把cookie保存到一个本地文件中，以便用户下次访问这个网页时能够再将它读出来。一旦超过了终止日期，或者超过了max-age的生命期，那个cookie就会被浏览器自动从cookie文件中删除。<br />
<br />
<strong>2.path<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;它指定了与cookie关联在一起的网页。默认情况下，cookie会和创建它的网页以及与这个网页处于同一个目录下的网页和处于该目录的子目录下的网页关联。例如，如果一个cookie由位于<a href="http://www.wanjiacai.com/login/index.html">http://www.wanjiacai.com/login/index.html</a>的网页创建，那么它对位于<a href="http://www.wanjiacai.com/login/order.html">http://www.wanjiacai.com/login/order.html</a>和位于<a href="http://www.wanjiacai.com/login/validate/index.html">http://www.wanjiacai.com/login/validate/index.html</a>的网页也是可见的，但是对于位于<a href="http://www.wanjiacai.com/lottery/index.html">http://www.wanjiacai.com/lottery/index.html</a>的网页就不可见了。<br />
<br />
<strong>3.domain<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;默认情况下，只有和设置cookie的网页来自同一web服务器的页面才能访问这个cookie。但是，大的网站可能需要由多个web服务器共享cookie。例如，位于talk.wanjiancai.com的服务器就可能读取info.wanjiancai.com设置的cookie值。这里就引入了第三个cookie属性domain。将定由位于talk.wanjiancai.com的页面创建的cookie把自己的path属性设置成&#8220;/&#8221;，把domain设置成了&#8220;.wanjiacai.com&#8221;，那么所有位于info.wanjiancai.com的页面和所有位于talk.wanjiancai.com的页面以及所有位于wanjiancai.com域的其他服务器上的网页都能够访问这个cookie。如果没有设置cookie的domain值，该属性的默认值就是创建cookie的网页所在的服务器的主机名。注意，不能将一个cookie的域设置成服务器所在的域之外的域。<br />
<br />
<strong>4.secure</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;secure是一个布尔值，它指定了在网络上如何传输cookie值。默认情况下，cookie是不安全的，也就是说，他们是通过一个普通的、不安全的http链接传输的。但是如果将cookie标记为安全的，那么它将只在浏览器和服务器通过https或其他安全协议链接是才被传输。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;由于对第三方cookie(也就是那些和web页面中的图像相关而不是和web页面本身相关的cookie)的滥用，cookie对很多web用户来说声名很坏。例如，第三方cookie使用一个广告商公司从一个站点到另一个站点地跟踪用户，这种实际情况带来的隐私问题使得一些用户关闭了他们的cookie。在javascript代码中使用cookie之间，希望首先查看他们是否激活。在大多数浏览器中，可以通过检查navigator.cookieEnabled属性来做到这一点。 
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/291186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2009-08-14 18:05 <a href="http://www.blogjava.net/zhanglongsr/articles/291186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webwork与spring集成</title><link>http://www.blogjava.net/zhanglongsr/articles/65836.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 25 Aug 2006 09:30:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/65836.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/65836.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/articles/65836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/65836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/65836.html</trackback:ping><description><![CDATA[
		<p>
				<strong>开启Spring组合</strong>
				<br />
				<font size="2">在WebWork中开启Spring支持是非常简单的,把最新版本的Spring的jar放到你的classpath中,然后在webwork.properties里面设置如下选项:</font>
		</p>
		<p>
				<font size="2">
						<font style="BACKGROUND-COLOR: #ff0000">webwork.objectFactory = spring</font>  <br /><br />此时使用的类是: com.opensymphony.webwork.spring.WebWorkSpringObjectFactory,也可以指定为其他SpringObjectFactory.</font>
		</p>
		<p>
				<font size="2">缺省Spring的装配策略是 by name,可以修改webwork.properties改为其他方式,例如type,name,auto等这时所有对象都首先来用Spring来创建.如果Spring没有创建这些对象,WebWork会自己创建这些对象. 然后,你需要在web.xml里面设置Spring的listener:</font>
		</p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3" size="2">  &lt;listener&gt;<br />      &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br />  &lt;/listener&gt;</font>  <br /><strong>Spring配置示例</strong><br /><font size="2"> 这时,你可以添加一个标准的Spring配置文件:WEB-INF/applicationContext.xml,举例如下:</font></p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3" size="2">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />            &lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "</font>
				<a href="http://www.springframework.org/dtd/spring-beans.dtd">
						<font style="BACKGROUND-COLOR: #d3d3d3" size="2">http://www.springframework.org/dtd/spring-beans.dtd</font>
				</a>
				<font style="BACKGROUND-COLOR: #d3d3d3" size="2">"&gt;<br />            &lt;beans default-autowire="autodetect"&gt;<br />            &lt;bean id="personManager" class="com.acme.PersonManager"/&gt;<br />            ...<br />            &lt;/beans&gt;</font>
		</p>
		<p>
				<strong>使用Spring初始化Action <br /></strong>
				<font size="2">一般来说,你在xwork.xml里面为每个Action指定类.当使用SpringObjectFactory的时候(如果按照上面的方法配置了), 这意味着WebWork会首先请求Spring创建这个Action并按照缺省的自动装配策略设定依赖的属性.SpringObjectFactory还会调用所有bean的处理器来处理事务,安全等方面的代理机制.不需要特殊的设置Spring就可以自动确定.对大多数的应用,这会配置你的Action所需的服务和依赖,来达到你的所有要求.</font>
		</p>
		<p>
				<font size="2"> 我们强烈推荐你找到一种声明的方法来让spring知道该为你的Action提供什么.这包括把你的Action里的属性命名为在Spring配子文件里定义的Bean的名字一致,这样可以实现基于名字的自动装配,还可以使用JDK5的标注来声明事务和安全层需要.如果你能找到方法让Spring知道你的Action需要什么而且不需要在applicationContext.xml里面进行外部配置的话,你就不需要在2个地方维护配置了. </font>
		</p>
		<p>
				<font size="2">
				</font> </p>
		<p>
				<font size="2">然而,有时你可能想要Spring来完全管理Bean.这是有实际意义的,例如,你如果想对你的Bean使用AOP或者Spring的相关技术,例如Acegi.为了达到这个目的,你仅仅要做的就是在xwork.xml里移除你的WebWork Action的类的属性,然后在applicationContext.xml里面配置这个Bean.<br /> <br /> 你的xwork.xml文件里面的action应该这样定义: </font>
		</p>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3" color="#000000" size="2">&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "</font>
				<a href="http://www.opensymphony.com/xwork/xwork-1.1.dtd">
						<font style="BACKGROUND-COLOR: #d3d3d3" color="#000000" size="2">http://www.opensymphony.com/xwork/xwork-1.1.dtd</font>
				</a>
				<font size="2">
						<font style="BACKGROUND-COLOR: #d3d3d3" color="#000000">"&gt;<br />&lt;xwork&gt;<br />  &lt;include file="webwork-default.xml"/&gt;<br />  &lt;package name="default" extends="webwork-default"&gt;<br />    &lt;action name="foo" class="foo"&gt;<br />      &lt;result&gt;foo.ftl&lt;/result&gt;<br />    &lt;/action&gt;<br />  &lt;/package&gt;<br />  &lt;package name="secure" namespace="/secure" extends="default"&gt;<br />    &lt;action name="bar" class="bar"&gt;<br />      &lt;result&gt;bar.ftl&lt;/result&gt;<br />    &lt;/action&gt;<br />  &lt;/package&gt;<br />&lt;/xwork&gt;<br />Where you have a Spring bean defined in your applicationContext.xml named "bar". Note that the com.acme.Foo action did not need to be changed, because it can be autowired.</font>
				</font>
		</p>
		<p>
				<font size="2">(你需要在你的applicationContext.xml里定义一个名字为"bar"的bean. 注意 com.acme.Foo不需要被改变,因为它是自动装配的.)</font>
				<br />
				<font size="2"> 记住:这个不是必须的.仅仅当你需要使用Spring的拦截器或者IoC来修饰Action以便覆盖Webwork的缺省行为时,这才是必要的.要记住一点,WebWork的Spring组合会执行标准的IoC,使用你指定的自动装配策略,即使你没有明确第在Spring中映射每个Action.所以通常你不需要做这个,但是知道怎么做对你是有好处的,如果你需要的话.<br /></font>
		</p>
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/65836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2006-08-25 17:30 <a href="http://www.blogjava.net/zhanglongsr/articles/65836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>