J2EE学习经验:JSP学习总结1

前言
熟悉JAVA语法很久后,迟迟才开始学习JSP。而学习JSP时,却只学了基本的用法就去学Struts和Hibernate,以致对JSP掌握得很不够。后来发现所学习的Struts框架实际上是“包装”了的JSP。所以,我在学习框架的时候也回头看看JSP。
以后应该不会再去专门学习JSP了。现在把一些JSP的相关知识总结下,记录下来,以防来日忘了。
说明:以下所描述的环境是 jdk1.5 tomcat5.5 jsp2.0 servlet2.4 JSTL1.1.2
一、基本配置
基本的重要的配置在web.xml 文件中。
1 Jsp 属性组
  
< jsp-property-group >
       
< url-pattern > /pages/* </ url-pattern >
    
< el-ignore > true </ el-ignore >
    
< page-encoding > UTF-8 </ page-encoding >
    
< include-prelude > /include/header.jspf </ include-prelude >
    
< include-coda > /include/copyright.jspf </ include-coda >
</ jsp-property-group >
这个设置可以指定页面编码,页头页脚等等。
设置 <page-encoding>UTF-8</page-encoding> 的好处是不用在每个页面像这样指定编码: <%@page contentType="html/text;charset=UTF-8" %>
而设置 <include-prelude>/include/header.jspf</include-prelude> 使得每个页面都在头部包含 header.jspf文件(通常把对标签的包含放在这里)。
2 、数据库资源的引用
< resource-ref >
       
< description > CourseDesign JDNI datasource </ description >
       
< res-ref-name > jdbc/test </ res-ref-name >
       
< res-type > javax.sql.DataSource </ res-type >
       
< res-auth > Container </ res-auth >
</ resource-ref >
前提是要在TOMCAT的中配置
< Context path ="/Course" docBase ="Course" debug ="0" crosscontext ="true" reloadable ="true" >
       
< Resource name ="jdbc/test" auth ="Container" type ="javax.sql.DataSource"
                maxActive
="100" maxIdle ="30" maxWait ="10000"
                username
="root" password ="123456"
driverClassName
="com.mysql.jdbc.Driver"
url
="jdbc:mysql://localhost:3306/databaseName?useUnicode=true&amp;characterEncoding=UTF-8" />
</ Context >
在程序中可以这样获取连接
public static Connection getConnection()
       
... {
Connection conn
=null;
              
try   
              
...{            
                      Context initContext
= new InitialContext();
                      Context envContext
= (Context)initContext.lookup("java:/comp/env");
                      DataSource ds
= (DataSource)envContext.lookup("jdbc/test");
                      conn
= ds.getConnection();
               }
catch(Exception e)...{             }
              
return conn;
        }
3、过滤器
一般来说,字符编码的处理,我们会写一个过滤器。这个过滤器的JAVA类在TOMCAT的例子中有提供,可以按需来更改再拿来用。只要在配置文件中设置:
  
< filter-name > setCharacterEncoding </ filter-name >
        
< filter-class > powerwind.filter.SetCharacterEncodingFilter </ filter-class >
        
< init-param >
                
< param-name > encoding </ param-name >
                
< param-value > UTF-8 </ param-value >
        
</ init-param >
</ filter >

< filter-mapping >
        
< filter-name > setCharacterEncoding </ filter-name >
        
< url-pattern > /pages/* </ url-pattern >
</ filter-mapping >
4、标签的URI
JSTL是个东西,里面提供了很好用的标签(Tag),但也不一定满足我们的要求,就自己写标签了。把 *.tld 文件直接放到WEB-INF下,在自己定义的tld文件中加上<uri>元素,如: <uri>http://powerwind/course</uri>
5、日志
只用过log4j这个日志包。首先是配置文件 log4j.properties (比较完整的配置,应根据情况选择):
log4j.rootLogger = DEBUG , INFO , A1 , A2 , A3
log4j.appender.A1
= org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout
= org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern
= %4p [ %t ] (%F:%L) - %m%n

log4j.appender.A2
= org.apache.log4j.RollingFileAppender
log4j.appender.A2.File
= ../../log/test.log
log4j.appender.A2.MaxFileSize
= 1KB
log4j.appender.A2.MaxBackupIndex
= 3
log4j.appender.A2.layout
= org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern
= %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

log4j.appender.A3
= org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.URL
= jdbc:mysql://localhost: 3306 /log4jTest
log4j.appender.A3.driver
= com.mysql.jdbc.Driver
log4j.appender.A3.user
= root
log4j.appender.A3.password
= 123456
log4j.appender.A3.layout
= org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern
= INSERT INTO log4j (createDate , thread , level , class , message) values('%d' , '%t' , '%-5p' , '%c' , '%m')

你可能感兴趣的:(apache,jsp,mysql,log4j,jdbc)