﻿<?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-赢在执行-文章分类-JAVA基础专区</title><link>http://www.blogjava.net/Jiangzy/category/19414.html</link><description>这个世界上只有两样东西愈分享愈多,那就是智慧与爱。</description><language>zh-cn</language><lastBuildDate>Fri, 16 Mar 2007 03:21:56 GMT</lastBuildDate><pubDate>Fri, 16 Mar 2007 03:21:56 GMT</pubDate><ttl>60</ttl><item><title>ArrayList的使用方法 </title><link>http://www.blogjava.net/Jiangzy/articles/104125.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Thu, 15 Mar 2007 16:28:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/104125.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/104125.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/104125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/104125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/104125.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1																				、什么是																				ArrayList												    ArrayList						就是传说中的动态数组，用						MSDN						中的说法，就是						Array						的复杂版本，它提供了如下一些好处：														...&nbsp;&nbsp;<a href='http://www.blogjava.net/Jiangzy/articles/104125.html'>阅读全文</a><img src ="http://www.blogjava.net/Jiangzy/aggbug/104125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2007-03-16 00:28 <a href="http://www.blogjava.net/Jiangzy/articles/104125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Java代码]四个有用的过虑器 Filter</title><link>http://www.blogjava.net/Jiangzy/articles/95371.html</link><dc:creator>飛雪(leo)</dc:creator><author>飛雪(leo)</author><pubDate>Mon, 22 Jan 2007 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/Jiangzy/articles/95371.html</guid><wfw:comment>http://www.blogjava.net/Jiangzy/comments/95371.html</wfw:comment><comments>http://www.blogjava.net/Jiangzy/articles/95371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Jiangzy/comments/commentRss/95371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Jiangzy/services/trackbacks/95371.html</trackback:ping><description><![CDATA[
		<a>一、使浏览器不缓存页面的过滤器 </a>
		<p>import javax.servlet.*;<br />import javax.servlet.http.HttpServletResponse;<br />import java.io.IOException;</p>
		<p>/**<br /> * 用于的使 Browser 不缓存页面的过滤器<br /> */<br />public class ForceNoCacheFilter implements Filter {</p>
		<p> public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException<br /> {<br />  ((HttpServletResponse) response).setHeader("Cache-Control","no-cache");<br />  ((HttpServletResponse) response).setHeader("Pragma","no-cache");<br />  ((HttpServletResponse) response).setDateHeader ("Expires", -1);<br />  filterChain.doFilter(request, response);<br /> }</p>
		<p> public void destroy()<br /> {<br /> }</p>
		<p>    public void init(FilterConfig filterConfig) throws ServletException<br /> {<br /> }<br />}</p>
		<p>二、检测用户是否登陆的过滤器</p>
		<p>import javax.servlet.*;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import javax.servlet.http.HttpSession;<br />import java.util.List;<br />import java.util.ArrayList;<br />import java.util.StringTokenizer;<br />import java.io.IOException;</p>
		<p>/**<br /> * 用于检测用户是否登陆的过滤器，如果未登录，则重定向到指的登录页面&lt;p&gt;<br /> * 配置参数&lt;p&gt;<br /> * checkSessionKey 需检查的在 Session 中保存的关键字&lt;br/&gt;<br /> * redirectURL 如果用户未登录，则重定向到指定的页面，URL不包括 ContextPath&lt;br/&gt;<br /> * notCheckURLList 不做检查的URL列表，以分号分开，并且 URL 中不包括 ContextPath&lt;br/&gt;<br /> */<br />public class CheckLoginFilter<br /> implements Filter<br />{<br />    protected FilterConfig filterConfig = null;<br />    private String redirectURL = null;<br />    private List notCheckURLList = new ArrayList();<br />    private String sessionKey = null;</p>
		<p> public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException<br /> {<br />  HttpServletRequest request = (HttpServletRequest) servletRequest;<br />  HttpServletResponse response = (HttpServletResponse) servletResponse;</p>
		<p>   HttpSession session = request.getSession();<br />  if(sessionKey == null)<br />  {<br />   filterChain.doFilter(request, response);<br />   return;<br />  }<br />  if((!checkRequestURIIntNotFilterList(request)) &amp;&amp; session.getAttribute(sessionKey) == null)<br />  {<br />   response.sendRedirect(request.getContextPath() + redirectURL);<br />   return;<br />  }<br />  filterChain.doFilter(servletRequest, servletResponse);<br /> }</p>
		<p> public void destroy()<br /> {<br />  notCheckURLList.clear();<br /> }</p>
		<p> private boolean checkRequestURIIntNotFilterList(HttpServletRequest request)<br /> {<br />  String uri = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo());<br />  return notCheckURLList.contains(uri);<br /> }</p>
		<p> public void init(FilterConfig filterConfig) throws ServletException<br /> {<br />  this.filterConfig = filterConfig;<br />  redirectURL = filterConfig.getInitParameter("redirectURL");<br />  sessionKey = filterConfig.getInitParameter("checkSessionKey");</p>
		<p>  String notCheckURLListStr = filterConfig.getInitParameter("notCheckURLList");</p>
		<p>  if(notCheckURLListStr != null)<br />  {<br />   StringTokenizer st = new StringTokenizer(notCheckURLListStr, ";");<br />   notCheckURLList.clear();<br />   while(st.hasMoreTokens())<br />   {<br />    notCheckURLList.add(st.nextToken());<br />   }<br />  }<br /> }<br />}</p>
		<p>三、字符编码的过滤器</p>
		<p>import javax.servlet.*;<br />import java.io.IOException;</p>
		<p>/**<br /> * 用于设置 HTTP 请求字符编码的过滤器，通过过滤器参数encoding指明使用何种字符编码,用于处理Html Form请求参数的中文问题<br /> */<br />public class CharacterEncodingFilter<br /> implements Filter<br />{<br /> protected FilterConfig filterConfig = null;<br /> protected String encoding = "";</p>
		<p> public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException<br /> {<br />        if(encoding != null)<br />         servletRequest.setCharacterEncoding(encoding);<br />        filterChain.doFilter(servletRequest, servletResponse);<br /> }</p>
		<p> public void destroy()<br /> {<br />  filterConfig = null;<br />  encoding = null;<br /> }</p>
		<p>    public void init(FilterConfig filterConfig) throws ServletException<br /> {<br />         this.filterConfig = filterConfig;<br />        this.encoding = filterConfig.getInitParameter("encoding");</p>
		<p> }<br />}</p>
		<p>四、资源保护过滤器</p>
		<pre>package catalog.view.util;<br /><br />import javax.servlet.Filter;<br />import javax.servlet.FilterConfig;<br />import javax.servlet.ServletRequest;<br />import javax.servlet.ServletResponse;<br />import javax.servlet.FilterChain;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServletRequest;<br />import java.io.IOException;<br />import java.util.Iterator;<br />import java.util.Set;<br />import java.util.HashSet;<br />//<br />import org.apache.commons.logging.Log;<br />import org.apache.commons.logging.LogFactory;<br /><br />/**<br /> * This Filter class handle the security of the application.<br /> * <p><br /> * It should be configured inside the web.xml.<br /> * <br /> * @author <a href="mailto:derek_shen@hotmail.com">Derek Y. Shen</a><br /> */<br />public class SecurityFilter implements Filter {<br />	//the login page uri<br />	private static final String LOGIN_PAGE_URI = "login.jsf";<br /><br />	//the logger object<br />	private Log logger = LogFactory.getLog(this.getClass());<br /><br />	//a set of restricted resources<br />	private Set restrictedResources;<br /><br />	/**<br />	 * Initializes the Filter.<br />	 */<br />	public void init(FilterConfig filterConfig) throws ServletException {<br />		this.restrictedResources = new HashSet();<br />		this.restrictedResources.add("/createProduct.jsf");<br />		this.restrictedResources.add("/editProduct.jsf");<br />		this.restrictedResources.add("/productList.jsf");<br />	}<br /><br />	/**<br />	 * Standard doFilter object.<br />	 */<br />	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)<br />			throws IOException, ServletException {<br />		this.logger.debug("doFilter");<br /><br />		String contextPath = ((HttpServletRequest)req).getContextPath();<br />		String requestUri = ((HttpServletRequest)req).getRequestURI();<br /><br />		this.logger.debug("contextPath = " + contextPath);<br />		this.logger.debug("requestUri = " + requestUri);<br /><br />		if (this.contains(requestUri, contextPath) &amp;&amp; !this.authorize((HttpServletRequest)req)) {<br />			this.logger.debug("authorization failed");<br />			((HttpServletRequest)req).getRequestDispatcher(LOGIN_PAGE_URI).forward(req, res);<br />		}<br />		else {<br />			this.logger.debug("authorization succeeded");<br />			chain.doFilter(req, res);<br />		}<br />	}<br /><br />	public void destroy() {} <br /><br />	private boolean contains(String value, String contextPath) {<br />		Iterator ite = this.restrictedResources.iterator();<br /><br />		while (ite.hasNext()) {<br />			String restrictedResource = (String)ite.next();<br /><br />			if ((contextPath + restrictedResource).equalsIgnoreCase(value)) {<br />				return true;<br />			}<br />		}<br /><br />		return false;<br />	}<br /><br />	private boolean authorize(HttpServletRequest req) {<br /><br />             //处理用户登录<br />	     /*	UserBean user = (UserBean)req.getSession().getAttribute(BeanNames.USER_BEAN);<br /><br />		if (user != null &amp;&amp; user.getLoggedIn()) {<br />			//user logged in<br />			return true;<br />		}<br />		else {<br />			return false;<br />		}*/<br />	}<br />}<br /></p></pre>
<img src ="http://www.blogjava.net/Jiangzy/aggbug/95371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Jiangzy/" target="_blank">飛雪(leo)</a> 2007-01-22 16:59 <a href="http://www.blogjava.net/Jiangzy/articles/95371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>