`
jyangzi5
  • 浏览: 212192 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

sitemesh3

 
阅读更多

http://www.cnblogs.com/mailingfeng/archive/2011/12/21/2296105.html.

 

http://www.boyunjian.com/   拨云剑

 

http://www.th7.cn/Program/java/201411/313875.shtml

 

 /**
   * ----xiaowu
   *
   * 随机数的生成
   * @param nRandomCount 随机数的位数
   * @param isNumber ---true:随机数全为数字;false:随机数为数字字母混编;
   * @return
   */
  public static String getRandomString(int nRandomCount, boolean isNumber) {
   char[] a = null;

   if (isNumber) {
    a = new char[10];
    for (int i = 48, j = 0; i <= 57; i++, j++) {
     a[j] = (char) i;
    }
   } else {
    // ASCII 48~57,String 0~9;
    // ASCII 65~90,String A-Z;
    // ASCII 97~122,String a-z;
    a = new char[62];
    for (int i = 48, j = 0; i <= 122; i++) {
     if ((i > 57 && i < 65) || (i > 90 && i < 97)) {
      continue;
     } else {
      a[j] = (char) i;
      j++;
     }
    }
   }

   String strRand = "";
   int LengthOfRandom = a.length;
   Random random = new Random();
   for (int i = 0; i < nRandomCount; i++) {
    int nRand = random.nextInt(LengthOfRandom);
    strRand += a[nRand];
   }
   return strRand;
  }

 

 

 

    private static String getMD5(String str) {  

        MessageDigest messageDigest = null;  

        try {  

            messageDigest = MessageDigest.getInstance("MD5");  

            messageDigest.reset();  

            messageDigest.update(str.getBytes("UTF-8"));  

        } catch (NoSuchAlgorithmException e) {  

            System.out.println("NoSuchAlgorithmException caught!");  

            System.exit(-1);  

        } catch (UnsupportedEncodingException e) {  

            e.printStackTrace();  

        }  

        byte[] byteArray = messageDigest.digest();  

        StringBuffer md5StrBuff = new StringBuffer();  

        for (int i = 0; i < byteArray.length; i++) {  

            if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)  

                md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));  

            else  

                md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));  

        }  

        return md5StrBuff.toString();  

    } 

 

 

 

 

 

/**

 * 

 */

package com.houtai.web.interceptor;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

 

import com.houtai.po.User;

 

/**

 * 自定义拦截器

 * @author wuzhq

 * @date Nov 5, 2011

 */

public class MyInterceptor extends HandlerInterceptorAdapter {

 

/**

* 最后执行,可用于释放资源

*/

@Override

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

// TODO Auto-generated method stub

super.afterCompletion(request, response, handler, ex);

}

 

/**

* 显示视图前执行

*/

@Override

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

 

//System.out.println(request.getContentType()+"-----"+request.getCharacterEncoding()+"------"+request.getContextPath());

//System.out.println("MyInterceptor.postHandle()---viewName:"+modelAndView.getViewName());

super.postHandle(request, response, handler, modelAndView);

}

 

/**

* Controller之前执行

*/

@Override

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

 

 

String url = request.getRequestURI();

System.out.println("MyInterceptor.preHandle()"+url);

          

User htUser = (User) request.getSession().getAttribute("htUser");

if(htUser == null || htUser.getId()== null)

{

request.getRequestDispatcher("/ht.jsp").forward(request, response); 

return false;

}

 

/**

String param = request.getParameter("type");

if(param!=null)

{

url= url+"?type="+param;

}

List <Function> list = user.getResourceList();

boolean flag = false;

for(Function func:list)

{

String userUrl = func.getUrl();

if(url.indexOf(userUrl)!=-1||(param!=null&&userUrl.indexOf("type="+param)!=-1))

{

flag = true;

break;

}

 

}

 

if(!flag && param!=null){

//request.setAttribute("msg", "您没有此权限!请重新登录");    

            request.getRequestDispatcher("./index.jsp").forward(request, response);  

            return false;

}

**/

return super.preHandle(request, response, handler);

}

}

 

 

 <!-- 这里拦截器还有一种配置方法【针对路径进行配置】 推荐使用这个,方便直观-->

    <mvc:interceptors>

    <mvc:interceptor>

    <mvc:mapping path="/qt/meeting*"/>

<bean  class="com.houtai.web.interceptor.MyInterceptorForQt"></bean>

    </mvc:interceptor>

    <mvc:interceptor>

    <mvc:mapping path="/ht/*"/>

<bean  class="com.houtai.web.interceptor.MyInterceptor"></bean>

    </mvc:interceptor>

    </mvc:interceptors>

 

 

 

分享到:
评论

相关推荐

    Sitemesh 3 的使用及配置

    除了基本的装饰器配置之外,还可以对`sitemesh3.xml`进行更细致的配置: - **支持多种MIME类型**: ```xml &lt;mime-type&gt;text/html&lt;/mime-type&gt; &lt;mime-type&gt;application/vnd.wap.xhtml+xml &lt;mime-type&gt;application...

    sitemesh3-demo

    【sitemesh3-demo】是一个基于Sitemesh3框架的示例项目,旨在展示如何在Web应用程序中有效地实现页面布局和装饰功能。Sitemesh是一个开源的Java Web应用框架,主要用于增强网页的外观和结构,通过定义装饰模板,可以...

    SpringMVC-Freemarker_Sitemesh3例子

    **SpringMVC、Freemarker与Sitemesh3详解** SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。SpringMVC提供了一个灵活的处理机制,包括处理器映射、视图解析、数据绑定...

    sitemesh3官方下载包

    **Sitemesh3** 是一个开源的网页布局和装饰框架,用于Java Web应用程序。它主要目的是帮助开发者统一网站的外观和感觉,通过提供一种简单的方式来装饰(或模板化)整个Web应用中的页面。Sitemesh3是Sitemesh项目的第...

    springmvc + mybatis + sitemesh3 超简洁例子

    springmvc + mybatis + sitemesh3 超简洁例子 整合springmvc mybatis 方法请看: http://blog.csdn.net/kokoyuo/article/details/52808510

    springmvc + mybatis + sitemesh3登陆 超简洁例子mysql

    在本项目中,我们探索的是一个基于Spring MVC、MyBatis和Sitemesh3的超简洁登录示例,其中还集成了MySQL数据库和MD5加密验证。这是一个经典的Java Web开发框架组合,常用于构建高效、可扩展的企业级应用。下面我们将...

    sitemesh3demo附配置说明

    `sitemesh3demo附配置说明`这个主题涉及到的是一个使用Sitemesh3框架的演示项目,其中包含了配置的详细指南。Sitemesh是一个开源的Web应用程序模板引擎和页面装饰框架,它主要用来帮助开发者实现网页布局、样式统一...

    sitemesh3包

    **Sitemesh3 SDK详解** Sitemesh 是一个开源的 Web 应用程序框架,用于增强网站的布局和装饰功能。Sitemesh3 是其第三个主要版本,它提供了更现代的架构和更好的性能,旨在帮助开发者更高效地管理和美化他们的网页...

    sitemesh3插件

    sitemesh3插件是Web应用中用于页面布局和装饰的一种工具,它能够帮助开发者统一网站的外观和感觉,实现页面头部、底部、侧边栏等元素的共用,提高开发效率并增强用户体验。Sitemesh3是Sitemesh框架的第三个主要版本...

    springmvc + mybatis + sitemesh3 简洁例子

    springmvc + mybatis + sitemesh3 简洁例子 springmvc + mybatis 整合过程: http://blog.csdn.net/kokoyuo/article/details/52808510

    sitemesh-3.0.0的库和源码

    - **核心库**:`sitemesh3.jar` 包含了Sitemesh的核心实现,包括过滤器、装饰器解析、页面内容与装饰器的合并逻辑等。 - **源码文件**:源代码文件可以帮助开发者跟踪代码流程,理解Sitemesh如何处理HTTP请求和响应...

    sitemesh教程

    ##### 3. 配置装饰器 - 创建装饰器配置文件`[web-app]/WEB-INF/decorators.xml`。 - 文件结构示例: ```xml &lt;!-- 在这里定义装饰器 --&gt; ``` ##### 4. 可选配置 - 创建可选配置文件`[web-app]/WEB-INF/...

    sitemesh技术的应用.doc

    标题:Sitemesh技术的应用 描述与标签:Sitemesh技术的应用 Sitemesh技术是Web开发领域中一种用于页面装饰的重要工具,尤其在Java Web应用程序中被广泛应用。其核心功能在于能够统一网站的外观风格,使不同功能...

    spring-boot-sitemesh源码整合

    spring-boot-sitemesh 源码整合

    SiteMesh教程及SiteMesh官方文档翻译

    3. **负载测试**:模拟不同并发用户数量,观察系统的响应时间。 **实验结果** - 在低并发情况下,使用SiteMesh对性能影响不大。 - 随着并发用户数的增加,使用SiteMesh的应用程序响应时间略有提升,但整体仍然稳定...

    siteMesh demo+文档

    3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面的结构,如页眉、页脚、侧边栏等。你可以使用HTML或者JSP来编写模板。 4. **应用装饰**:通过在JSP页面中使用特殊的注解(例如`&lt;@...

    sitemesh框架简单例子

    Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和感觉。这个框架的主要功能是将页面的主体内容与页眉、页脚、侧边栏等通用部分分离,使得在大量网页中保持一致的设计风格变得...

    java sitemesh 页面框架

    Java Sitemesh是一个开源的页面布局和装饰框架,它的主要目标是帮助开发者统一网站的外观和感觉,提高代码复用性,并简化页面的复杂性。Sitemesh通过将页面分为内容区域和装饰模板来实现这一目标,使得开发者可以...

    sitemesh

    3. **模块化**:易于添加、修改和重用页面组件。 4. **可扩展性**:支持与其他模板引擎集成,适应各种开发需求。 然而,Sitemesh也有其局限性,例如对于JavaScript驱动的单页应用(SPA)支持不够理想,因为它主要是...

    SiteMesh

    3. **配置SiteMesh**: 在`sitemesh.xml`中指定布局文件的位置和装饰策略。 4. **标记页面内容**: 在需要装饰的JSP或HTML页面中添加特殊的SiteMesh注释或标签,告知SiteMesh如何插入到布局文件中。 5. **运行应用**...

Global site tag (gtag.js) - Google Analytics