1.对与log4j的配置
以前配置log4j的日志存放位置的时候,如果不是绝对路径,总是放到tomcat\bin下,如果写绝对路径,
开发一般用windows,部署环境经查是linux,每次部署都要改动,比较麻烦,
今天google到了一个好方法:采用环境变量的方法,放到tomcat的logs目录下。具体方法是设置
log4j.appender.file.File=${catalina.base}/logs/logs_order.log
2.spring的abstract配置
项目中有一个抽象类,他实现了部分代码,这部分代码中需要使用另外类提供的服务,那么如何把一个类注入
到一个抽象类呢?
首先,像平常一样定义一个bean,设置它的id,class,property,不同的是设置abstract属性为true。
<bean id="abstractAction" class="com.order.web.struts.AbstractAction" abstract="true">
<property name="control">
<ref bean="accessControl"/>
</property>
</bean>
第二步,像平常一样定义继承自基类的子类,设置它的id,class,property,不同的是设置parent属性值为
上面的abstract bean的id
<bean name="/NormalQuery" class="com.order.web.struts.NormalQueryResultAction" parent="abstractAction">
<property name="biz">
<ref bean="queryBiz"/>
</property>
</bean>
3.在jsp、servlet等环境中如何使用bean(即得到bean实例)
关键在于取得WebApplicationContext对象,可以通过一下方式得到
WebApplicationContext context = WebApplicationContextUtils.
getWebApplicationContext(getServletContext());
得到了WebApplicationContext就可以其getBean()方法得到spring容器中的对象。
4.jsp tag的开发步骤
1.定义一个类,从TagSupport继承
public class QueryForm extends TagSupport
2.如果tag有参数,在类中定义属性,
3.实现doStartTag()方法
4.新建tld文件,一个完整的例子如下,
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>queryForm</short-name>
<uri>http://jakarta.apache.org/tomcat/example-taglib</uri>
<description>
</description>
<tag>
<name>queryForm</name>
<tag-class>com.hexin.order.web.jsp.QueryForm</tag-class>
<description> </description>
<attribute>
<name>queryId</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue><!--这个要注意,如果参数是动态的jsp表达式,应该设置为true-->
</attribute>
</tag>
</taglib>
5.在web.xml中引入这个tld
<jsp-config>
<taglib>
<taglib-uri>http://jakarta.apache.org/tomcat/example-taglib</taglib-uri>
<taglib-location>/WEB-INF/query-form.tld</taglib-location>
</taglib>
</jsp-config>
6.在jsp中使用tag
<%@ taglib prefix="queryForm"
uri="http://jakarta.apache.org/tomcat/example-taglib" %>
<queryForm:queryForm queryId="<%=request.getParameter("id") %>" />
文章来源:
http://huxiaofei590.blog.163.com/blog/static/3259612200711345532460