云下的天空

坚持 随心而动 走自己的路

 

利用TitleWindow和VideoPlayer组件轻松实现视频弹出播放效果

     摘要:   原文链接:http://www.iyoya.comAdobe在Flex4后提供了一个VideoPlayer组件,它是可以设置外观的视频播放器组件,并支持渐进式下载、多比特率流和流视频。它支持播放 FLV 和 F4v 文件。VideoPlayer控件包含控制视频播放的全能 UI。我们只要利用这个组件就可以快速的创作自己的视频播放器。如果将TitleWindow和VideoPlayer组...  阅读全文

posted @ 2011-06-04 20:41 天空布蓝 阅读(1415) | 评论 (0)编辑 收藏

给Flex写个简单的背景音乐播放

    播放时:
    暂停时:



     简单的播放按钮
<mx:Button x="865" y="33"  id="playerbutton" width="48" height="48" icon="{play1}"  click="misicPlay(event)"/>


    按钮的播放事件
                      //播放状态时的图标显示
[Bindable]
[Embed(source="images/icon/200.png")]
public var play1:Class;
//暂停
状态时的图标显示
[Bindable]
[Embed(source="images/icon/199.png")]
public var play2:Class;
private var snd:Sound;
private var channel:SoundChannel;
private var playStatus:Number = 1;
protected function misicPlay(event:MouseEvent):void
{
if(playStatus==1){
snd = new Sound(new URLRequest("1.mp3"));
channel = snd.play();
 playerbutton.setStyle("icon",play2);
 playStatus = 0;
}
else if(playStatus==0)
{
playerbutton.setStyle("icon",play1);
channel.stop();
playStatus = 1;
}
}

posted @ 2011-06-04 11:25 天空布蓝 阅读(2132) | 评论 (0)编辑 收藏

AS中的Parent,ParentDocument,ParentApplication属性

     摘要: 原文链接:http://blog.shinysky.com/2010/02/as-parent-parentdocument-parentapplication/Flex中的组件(Component)有三个属性, 通常用来引用上级的对象, 它们是 Parent, ParentDocument, ParentApplication.1. Parent:指包含此组件的父级容器对象(Displ...  阅读全文

posted @ 2011-06-04 11:07 天空布蓝 阅读(2586) | 评论 (0)编辑 收藏

从Flex中owner和parent的区别来说Flex API设计思路

     摘要: [译] Flex 4 Gumbo DOM Tree API - Functional and Design Specification英文原文: Flex 4 Gumbo DOM Tree API - Functional and Design Specification翻译的原创链接:  http://www.smithfox.com/?e=36  转载请...  阅读全文

posted @ 2011-06-04 10:33 天空布蓝 阅读(1206) | 评论 (0)编辑 收藏

MyBatis入门

  今天开始学MyBatis 在网上看了一些简单的demo  官方还提供了中文指南。。可以去下。。
  然后自己写了个简单的。。
  首先在mysql建名为mybatis的数据库   在数据库中建一个user表 里面有2个字段 id  name
 
  下面是目录结构


  Configuration.xml
     <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC 
    "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <typeAlias alias="User" type="User" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="55" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="User.xml" />
    </mappers>
</configuration>

User.xml

public class User {
   private int id;
   private String name;
   
   
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}


Test.java

import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void main(String[] args) throws IOException {
String resource = "Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory  sqlMapper = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sqlMapper.openSession();
try {
User user = (User)session.selectOne("User.selectUser",2);
System.out.println("user name:"+user.getName());
} catch (Exception e) {
e.printStackTrace();
}finally{
session.close();
}
}
}

posted @ 2011-06-02 22:05 天空布蓝 阅读(4803) | 评论 (0)编辑 收藏

POJO 与 PO的 概念

原文转载自:

POJO = pure old java object or plain ordinary java object or what ever. 

PO = persisent object 持久对象 

就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。全都是这样子的: 


Java代码  收藏代码
  1. public class User {   
  2.   private long id;   
  3.   private String name;  
  4.   public void setId(long id); {  
  5.  this.id = id;  
  6. }    
  7. public void setName(String name); {  
  8. this.name=name;  
  9. }   
  10.  public long getId(); {  
  11.  return id;  
  12. }    
  13. public String getName(); {   
  14. return name;  
  15. }  
  16. }    


--------------------------------------------------------------------------- 
首先要区别持久对象和POJO。 

持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。比如说POJO是由new创建,由GC回收。但是持久对象是insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库Connection之中,Connnection关闭以后,持久对象就不存在了,而POJO只要不被GC回收,总是存在的。 

由于存在诸多差别,因此持久对象PO(Persistent Object)在代码上肯定和POJO不同,起码PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。而ORM追求的目标就是要PO在使用上尽量和POJO一致,对于程序员来说,他们可以把PO当做POJO来用,而感觉不到PO的存在。 

JDO的实现方法是这样的: 
1、编写POJO 
2、编译POJO 
3、使用JDO的一个专门工具,叫做Enhancer,一般是一个命令行程序,手工运行,或者在ant脚本里面运行,对POJO的class文件处理一下,把POJO替换成同名的PO。 
4、在运行期运行的实际上是PO,而不是POJO。 

该方法有点类似于JSP,JSP也是在编译期被转换成Servlet来运行的,在运行期实际上运行的是Servlet,而不是JSP。 

Hibernate的实现方法比较先进: 
1、编写POJO 
2、编译POJO 
3、直接运行,在运行期,由Hibernate的CGLIB动态把POJO转换为PO。 

由此可以看出Hibernate是在运行期把POJO的字节码转换为PO的,而JDO是在编译期转换的。一般认为JDO的方式效率会稍高,毕竟是编译期转换嘛。但是Hibernate的作者Gavin King说CGLIB的效率非常之高,运行期的PO的字节码生成速度非常之快,效率损失几乎可以忽略不计。 

实际上运行期生成PO的好处非常大,这样对于程序员来说,是无法接触到PO的,PO对他们来说完全透明。可以更加自由的以POJO的概念操纵PO。另外由于是运行期生成PO,所以可以支持增量编译,增量调试。而JDO则无法做到这一点。实际上已经有很多人在抱怨JDO的编译期Enhancer问题了,而据说JBossDO将采用运行期生成PO字节码,而不采用编译期生成PO字节码。 

另外一个相关的问题是,不同的JDO产品的Enhancer生成的PO字节码可能会有所不同,可能会影响在JDO产品之间的可移植性,这一点有点类似EJB的可移植性难题。 

----------------------------------------------------------------------------------- 
由这个问题另外引出一个JDO的缺陷。 

由于JDO的PO状态管理方式,所以当你在程序里面get/set的时候,实际上不是从PO的实例中取values,而是从JDO StateManager中取出来,所以一旦PM关闭,PO就不能进行存取了。 

在JDO中,也可以通过一些办法使得PO可以在PM外面使用,比如说定义PO是transient的,但是该PO在PM关闭后就没有PO identity了。无法进行跨PM的状态管理。 

而Hibernate是从PO实例中取values的,所以即使Session关闭,也一样可以get/set,可以进行跨Session的状态管理。 

在分多层的应用中,由于持久层和业务层和web层都是分开的,此时Hibernate的PO完全可以当做一个POJO来用,也就是当做一个VO,在各层间自由传递,而不用去管Session是开还是关。如果你把这个POJO序列化的话,甚至可以用在分布式环境中。(不适合lazy loading的情况) 

但是JDO的PO在PM关闭后就不能再用了,所以必须在PM关闭前把PO拷贝一份VO,把VO传递给业务层和web层使用。在非分布式环境中,也可以使用ThreadLocal模式确保PM始终是打开状态,来避免每次必须进行PO到VO的拷贝操作。但是不管怎么说,这总是权宜之计,不如Hibernate的功能强。

posted @ 2011-06-02 18:14 天空布蓝 阅读(233) | 评论 (0)编辑 收藏

tomcat7的配置

 

原文转载自:

http://blog.sina.com.cn/s/blog_70b7bbf20100mhiv.html

   Tomcat7已经发布多时,Tomcat7增加了对Servlet 3.0,JSP 2.2和JSP-EL 2。2的支持、支持web application内存泄露的检测和防护等很多新功能。本片教程主要介绍如何配置Tomcat7。

 

一、软件下载
    首先需要下载Java Jdk以及Tomcat7。JDK下载地址:最新为JDK6 update22, Tomcat7下载地址:最新为Tomcat7.02 Beta。

 

二、软件安装和配置
    1.首先安装JDK,直接点击安装即可,比如默认安装的路径为:C:\Program Files\Java\jdk1.6.0_22。安装之后需要设定环境变量。在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:(假设你的jdk安装目录如上设置)

    新建变量名: JAVA_HOME,值(value)为:C:\Program Files\Java\jdk1.6.0_22
    新建变量名:classpath ,值(value)为: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;  (.;一定不能少,因为它代表当前路径)
    查找变量名:path ,增加值(value)为:%JAVA_HOME%\bin;


添加完毕,确定即可。接下来简单测试环境变量是否配置正确:

public class Test{
    public static void main(String args[]){
        System.out.println("Hello Leyond");
    }
}
 
将以上代码拷贝保存成Test.java文件。然后命令行窗口(xp:在运行输入cmd,vista和win7直接在搜索框中输入cmd),CD到文件所在的目录,然后键入下列命令:
javac Test.java
java Test

注意第二个命令没有.java后缀。如果看到“Hello Leyond”,则表明jdk环境变量配置成功,没有的话,检查自己的配置情况。

 

2. Tomcat7安装和配置

    下载zip文件之后直接解压到某个目录下,比如:C:\itdevelop\Tomcat7。然后在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

    新建变量名: TOMCAT_HOME, 值(value)为:C:\itdevelop\Tomcat7
    查找变量名: classpath, 增加值为%TOMCAT_HOME%\common\lib
    增加后的classpath的值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\lib
    最后进入Tomcat7安装目录下的Bin目录,启动Tomcat,在浏览器中输入:http://localhost:8080/,若可以看到Tomcat7的欢迎界面,表示Tomcat7配置成功了。

 

三、新建webApp
    这里介绍如何搭建一个JSP简单的应用。首先到Tomcat7目录下webapps目录,例如:C:\itdevelop\Tomcat7\webapps,该目录存放了ROOT,docs,examples等目录,ROOT存放的是欢迎界面的代码,docs主要是文档,examples中可以查看各种例子。接下来看看如何新建一个属于自己的jsp应用程序。

 

操作如下:
  1.在webapps下新建myapp目录。
  2.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的。
  3.WEB-INF下新建一个文件web.xml,内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="3.0"
         xmlns="
http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
         <display-name>My Web Application</display-name>
        <description>
             A application for test.
        </description>
</web-app>

 

4. 在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html>
  <body>
    <center> Now time is: <%=new java.util.Date()%></center>
  </body>
</html>

5. 启动Tomcat,在浏览器输入http://localhost:8080/myapp/index.jsp看到当前时间的话说明就成功了。

 

四、新建Servlet
    在之前myapp目下的/WEB-INF/classes/test目录下新建HelloWorld.java(若没有class,test目录,请新建)。HelloWorld内容如下:

package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
     response.setContentType("text/html");
     PrintWriter out = response.getWriter();
     out.println("<html><head><title>");
     out.println("This is my first Servlet");
     out.println("</title></head><body>");
     out.println("<h1>Hello,World!</h1>");
     out.println("</body></html>");
   }
}

    之后用javac HelloWorld.java来编译该文件。倘若出现”package javax.servlet does not exist“,请把C:\itdevelop\Tomcat7\lib目录下的servlet-api.jar拷贝到C:\Program Files\Java\jre6\lib\ext,重启电脑,再次编译即可。

目前C:\itdevelop\Tomcat7\webapps\myapp的目录结构如下:

./index.jsp
./WEB-INF/web.xml
./WEB-INF/classes/test/HelloWorld.class (编译HelloWorld.java生成的)

然后在浏览器中输入http://localhost:8080/myapp/HelloWorld,于是Server众望所归的报错了:Error 404–Not Found 怎么回事呢?我们还需要配置Servlet的之行环境。打开WEB-INF目录下的web.xml,在<web-app></web-app>添加下面这段程序:

 

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>test.HelloWorld</servlet-class>
 </servlet>

<servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
 </servlet-mapping>

 

    这段xml内容,首先指定servlet的名字,类的名字。然后把servlet映射到一种URL模式,使得通过URL来访问这个servlet。修改之后,若需要重启Tomcat,然后浏览http://localhost:8080/myapp/HelloWorld一个Hello,World!等着你,如果你看到了,表示servlet也成功了。

Tomcat7配置

 

posted @ 2011-06-02 17:54 天空布蓝 阅读(19455) | 评论 (6)编辑 收藏

tomcat简介之web.xml详解

     摘要: 原文转载自:http://blog.csdn.net/facepp/archive/2008/04/19/2306602.aspx一、Tomcat背景  自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。...  阅读全文

posted @ 2011-06-02 17:40 天空布蓝 阅读(19157) | 评论 (0)编辑 收藏

Tomcat中web.xml文件的详细说明

原文转自:

http://blog.csdn.net/pathfinder163/archive/2009/09/02/4506817.aspx


<?xml version="1.0" encoding="GB2312"?> <!-- 
Web.xml依次定议了如下元素: 
<web-app> 

<display-name></display-name> 定义了WEB应用的名字 

<description></description> 声明WEB应用的描述信息 

<filter></filter> 

<filter-mapping></filter-mapping>
 

<servlet></servlet> 

<servlet-mapping></servlet-mapping> 

<session-config></session-config> 

<welcome-file-list></welcome-file-list> 

<taglib></taglib> 

<resource-ref></resource-ref> 

<security-constraint></security-constraint> 

<login-config></login-config> 

</web-app> 
在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException. 
--> 
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app>

<display-name>Sample Application</display-name>

<description> 
This is a Sample Application 
</description>

<!-- 
filter 配置Servlet过滤器 
filter-name 定义过滤器的名字。当有多个过滤器时,不能同名 
filter-class 指定实现这一过滤的类,这个类负责具体的过滤事务 
--> 
<filter> 
<filter-name>SampleFilter</filter-name> 
<filter-class>mypack.SampleFilter</filter-class> 
</filter>

<!-- 
filter-mapping 设定过滤器负责过滤的URL 
filter-name 过滤器名。这里的名字一定要和filter中的过滤器名匹配 
url-pattern 指定过滤器负责过滤的URL 
--> 
<filter-mapping> 
<filter-name>SampleFilter</filter-name> 
<url-pattern>*.jsp</url-pattern> 
</filter-mapping>

<!-- 
servlet 配置Servlet. 
servlet-name 定义Servlet的名字 
servlet-class 指定实现这个servlet的类 
init-param 定义Servlet的初始化参数和参数值,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数 
load-on-startup 指定当Web应用启动时,装载Servlet的次序。 
当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet. 
当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它 
--> 
<servlet> 
<servlet-name>SampleServlet</servlet-name> 
<servlet-class>mypack.SampleServlet</servlet-class> 
<init-param> 
<param-name>initParam1</param-name> 
<param-value>2</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 
</servlet>

<!-- 
配置servlet映射(下面代码为SampleServlet指定的相对URL为"/sample": 
servlet-name 指定servlet的名字,这里的名字应该和<Servlet>元素中定义的名字匹配。 
url-pattern 指定访问这个servlet的URL。只需给出相对路径。 
--> 
<servlet-mapping> 
<servlet-name>SampleServlet</servlet-name> 
<url-pattern>/sample</url-pattern> 
</servlet-mapping>

<!--配置session session用来设定HttpSession的生命周期。单位(秒)--> 
<session-config> 
<session-timeout>30</session-timeout> 
</session-config>

<!--配置Wel0come0文件清单--> 
<welcome-file-list> 
<welcome-file>login.jsp</welcome-file> 
<welcome-file>index.htm</welcome-file> 
</welcome-file-list>

<!-- 
配置Tag Library 
taglib-uri 设定Tag Library的唯一标识符,在Web应用中将根据这一标识符来引用Tag Library 
taglib-location 指定和Tag Library对应的TLD文件的位置 
--> 
<taglib> 
<taglib-uri>/mytaglib</taglib-uri> 
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location> 
</taglib>

<!-- 
配置资源引用 
description 对所引用的资源的说明 
res-ref-name 指定所引用资源的JNDI名字 
res-type 指定所引用资源的类名字 
res-auth 指定管理所引用资源的Manager,它有两个可选值: 
Container:由容器来创建和管理resource 
Application:同WEB应用来创建和管理Resource 
--> 
<resource-ref> 
<description>DB Connection</description> 
<res-ref-name>jdbc/sampleDB</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref>

<!-- 
配置安全约束(以下代码指定当用户访问该WEB应用下的所有资源时,必须具备guest角色) 
web-resource-collection 声明受保护的WEB资源 
auth-constraint 声明可以访问受保护资源的角色,可以包含多个<role-name>子元素

web-resource-name 标识受保护的WEB资源 
url-pattern 指定受保护的URL路径 
--> 
<Security-constraint> 
<web-resource-collection> 
<web-resource-name>sample appliction</web-resource-name> 
<url-pattern>/*</url-pattern> 
</web-resource-collection> 
<auth-constraint> 
<role-name>guest</role-name> 
</auth-constraint> 
</Security-constraint>


<!-- 
配置安全验证登录界面:指定当WEB客户访问受保护的WEB资源时,系统弹出的登录对话框的类型。 
auth-method 指定验证方法,它有三个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(表单验证) 
realm-name 设定安全域的名称 
form-login-config 当验证方法为FORM时,配置验证网页和出错网页 
form-login-page 当验证方法为FORM时,设定验证网页 
form-error-page 当验证方法为FORM时,设定出错网页 
--> 
<login-config> 
<auth-method>FORM</auth-method> 
<realm-name> 
Tomcat Server Configuration form-Based Authentication Area 
</realm-name> 
<form-login-config> 
<form-login-page>/login.jsp</form-login-page> 
<form-error-page>/error.jsp</form-error-page> 
</form-login-config> 
</login-config>

<!--配置对安全验证角色的引用--> 
<security-role> 
<description> 
The role that is required to log into the sample application 
</description> 
<role-name>guest</role-name> 
</security-role> 

</web-app>

<?xml version="1.0" encoding="GB2312"?> <!-- 
Web.xml依次定议了如下元素: 
<web-app> 
<display-name></display-name> 定义了WEB应用的名字 
<description></description> 声明WEB应用的描述信息 
<filter></filter> 
<filter-mapping></filter-mapping> 
<servlet></servlet> 
<servlet-mapping></servlet-mapping> 
<session-config></session-config> 
<welcome-file-list></welcome-file-list> 
<taglib></taglib> 
<resource-ref></resource-ref> 
<security-constraint></security-constraint> 
<login-config></login-config> 
</web-app> 
在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException. 
--> 
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app>

<display-name>Sample Application</display-name>

<description> 
This is a Sample Application 
</description>

<!-- 
filter 配置Servlet过滤器 
filter-name 定义过滤器的名字。当有多个过滤器时,不能同名 
filter-class 指定实现这一过滤的类,这个类负责具体的过滤事务 
--> 
<filter> 
<filter-name>SampleFilter</filter-name> 
<filter-class>mypack.SampleFilter</filter-class> 
</filter>

<!-- 
filter-mapping 设定过滤器负责过滤的URL 
filter-name 过滤器名。这里的名字一定要和filter中的过滤器名匹配 
url-pattern 指定过滤器负责过滤的URL 
--> 
<filter-mapping> 
<filter-name>SampleFilter</filter-name> 
<url-pattern>*.jsp</url-pattern> 
</filter-mapping>

<!-- 
servlet 配置Servlet. 
servlet-name 定义Servlet的名字 
servlet-class 指定实现这个servlet的类 
init-param 定义Servlet的初始化参数和参数值,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数 
load-on-startup 指定当Web应用启动时,装载Servlet的次序。 
当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet. 
当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它 
--> 
<servlet> 
<servlet-name>SampleServlet</servlet-name> 
<servlet-class>mypack.SampleServlet</servlet-class> 
<init-param> 
<param-name>initParam1</param-name> 
<param-value>2</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 
</servlet>

<!-- 
配置servlet映射(下面代码为SampleServlet指定的相对URL为"/sample": 
servlet-name 指定servlet的名字,这里的名字应该和<Servlet>元素中定义的名字匹配。 
url-pattern 指定访问这个servlet的URL。只需给出相对路径。 
--> 
<servlet-mapping> 
<servlet-name>SampleServlet</servlet-name> 
<url-pattern>/sample</url-pattern> 
</servlet-mapping>

<!--配置session session用来设定HttpSession的生命周期。单位(秒)--> 
<session-config> 
<session-timeout>30</session-timeout> 
</session-config>

<!--配置Wel0come0文件清单--> 
<welcome-file-list> 
<welcome-file>login.jsp</welcome-file> 
<welcome-file>index.htm</welcome-file> 
</welcome-file-list>

<!-- 
配置Tag Library 
taglib-uri 设定Tag Library的唯一标识符,在Web应用中将根据这一标识符来引用Tag Library 
taglib-location 指定和Tag Library对应的TLD文件的位置 
--> 
<taglib> 
<taglib-uri>/mytaglib</taglib-uri> 
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location> 
</taglib>

<!-- 
配置资源引用 
description 对所引用的资源的说明 
res-ref-name 指定所引用资源的JNDI名字 
res-type 指定所引用资源的类名字 
res-auth 指定管理所引用资源的Manager,它有两个可选值: 
Container:由容器来创建和管理resource 
Application:同WEB应用来创建和管理Resource 
--> 
<resource-ref> 
<description>DB Connection</description> 
<res-ref-name>jdbc/sampleDB</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref>

<!-- 
配置安全约束(以下代码指定当用户访问该WEB应用下的所有资源时,必须具备guest角色) 
web-resource-collection 声明受保护的WEB资源 
auth-constraint 声明可以访问受保护资源的角色,可以包含多个<role-name>子元素

web-resource-name 标识受保护的WEB资源 
url-pattern 指定受保护的URL路径 
--> 
<Security-constraint> 
<web-resource-collection> 
<web-resource-name>sample appliction</web-resource-name> 
<url-pattern>/*</url-pattern> 
</web-resource-collection> 
<auth-constraint> 
<role-name>guest</role-name> 
</auth-constraint> 
</Security-constraint>


<!-- 
配置安全验证登录界面:指定当WEB客户访问受保护的WEB资源时,系统弹出的登录对话框的类型。 
auth-method 指定验证方法,它有三个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(表单验证) 
realm-name 设定安全域的名称 
form-login-config 当验证方法为FORM时,配置验证网页和出错网页 
form-login-page 当验证方法为FORM时,设定验证网页 
form-error-page 当验证方法为FORM时,设定出错网页 
--> 
<login-config> 
<auth-method>FORM</auth-method> 
<realm-name> 
Tomcat Server Configuration form-Based Authentication Area 
</realm-name> 
<form-login-config> 
<form-login-page>/login.jsp</form-login-page> 
<form-error-page>/error.jsp</form-error-page> 
</form-login-config> 
</login-config>

<!--配置对安全验证角色的引用--> 
<security-role> 
<description> 
The role that is required to log into the sample application 
</description> 
<role-name>guest</role-name> 
</security-role> 
</web-app>

posted @ 2011-06-02 17:19 天空布蓝 阅读(862) | 评论 (0)编辑 收藏

有些路总会走过了又要走。

  现在学的东西越来越多 学了就忘
  所以开始经营个博客。。

posted @ 2011-06-02 13:39 天空布蓝 阅读(236) | 评论 (0)编辑 收藏

仅列出标题
共2页: 上一页 1 2 

导航

统计

常用链接

留言簿

随笔分类

随笔档案

Flex学习链接

搜索

最新评论

  • 1. re: tomcat7的配置
  • 新建变量名: TOMCAT_HOME 应该为CATALINA_HOME
  • --houkai
  • 2. re: tomcat7的配置
  • 确实是的@寒澈
  • --houkai
  • 3. re: tomcat7的配置
  • @ftp123
    你娘里个大雪碧 里面会有common这个文件夹吗 不知道还尼玛在这瞎比比 纯尼玛误导人 我最恶心的就是这样没事装逼的人 艹
  • --cao
  • 4. re: tomcat7的配置
  • 从哪抄来的,是抄的,你也说声啊,要不自己测试下也可以,害人测试半天。
  • --ftp123
  • 5. re: tomcat7的配置
  • %TOMCAT_HOME%\common\lib 从tomcat6.0开始已经没有common文件夹了,直接用\lib,害我找了半天common文件夹啊,赶快改过来吧
  • --寒澈

阅读排行榜

评论排行榜