?? fastjspservlet.java
字號:
// Copyright 2005-2007 onetsoft.com
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.onetsoft.fastjsp;
import com.onetsoft.fastjsp.util.Constants;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author <a href="mailto:hgw@onetsoft.com">hgw</a>
*/
public class FastJspServlet extends HttpServlet {
private final static ThreadLocal t = new ThreadLocal();
private Module module = null;
public void init(ServletConfig config) throws ServletException {
super.init(config);
module = new Module(config);
getServletContext().setAttribute(Constants.APPLICATION_MODULE_ATTRIBUTE_PREFIX + module.getName(), module);
}
public void destroy() {
try {
t.set(null);
getServletContext().removeAttribute(Constants.APPLICATION_MODULE_ATTRIBUTE_PREFIX + module.getName());
} finally {
super.destroy();
}
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
LinkPool p = (LinkPool) t.get();
if (p == null) {
p = new LinkPool();
t.set(p);
}
try {
AbstractServicer servicer = ((AbstractServicer) module.servicerFactory.getServicer(this, request, response));
servicer.linkPool = p;
servicer.doService();
} finally {
p.recycle();
}
}
protected Module getModule() {
return module;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -