📄 initservlet.java
字号:
package com.test.bbs.web;
import java.io.IOException;
import java.lang.reflect.Constructor;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.test.bbs.dao.ArticleDao;
import com.test.bbs.dao.UserDao;
import com.test.bbs.service.ArticleService;
import com.test.bbs.service.UserService;
@SuppressWarnings("serial")
public class InitServlet extends HttpServlet {
Log logger = LogFactory.getLog(this.getClass());
/**
* UserDao userDao = new UserDaoHibernateImpl();
* UserService userService = new UserServiceImpl(userDao);
*
* ArticleDao articleDao = new ArticleDaoHibernateImpl();
* ArticleService articleService = new ArticleServiceImpl(articleDao);
*/
@Override
public void init(ServletConfig config) throws ServletException {
try {
logger.info("Init begin...");
String userDaoClassName = config
.getInitParameter("userDaoClassName");
Class userDaoClass = Class.forName(userDaoClassName);
UserDao userDao = (UserDao) userDaoClass.newInstance();// UserDao userDao = new UserDaoHibernateImpl();
String userServiceClassName = config
.getInitParameter("userServiceClassName");
Class userServiceClass = Class.forName(userServiceClassName);
Constructor con = userServiceClass
.getConstructor(new Class[] { UserDao.class });
UserService userService = (UserService) con.newInstance(userDao);// UserService userService = new UserServiceImpl(userDao);
config.getServletContext().setAttribute(
UserService.class.getName(), userService);
String articleDaoClassName = config
.getInitParameter("articleDaoClassName");
Class articleDaoClass = Class.forName(articleDaoClassName);
ArticleDao articleDao = (ArticleDao) articleDaoClass.newInstance();//new ArticleDaoHibernateImpl();
String articleServiceClassName = config
.getInitParameter("articleServiceClassName");
Class articleServiceClass = Class.forName(articleServiceClassName);
Constructor con1 = articleServiceClass
.getConstructor(new Class[] { ArticleDao.class });
ArticleService articleService = (ArticleService) con1.newInstance(articleDao);//new ArticleServiceImpl(articleDao);
// 用set方式
// Method m = articleServiceClass.getMethod("setArticleDao", new
// Class[]{ArticleDao.class});
// m.invoke(articleService, articleDao);
config.getServletContext().setAttribute(
ArticleService.class.getName(), articleService);
logger.info("Init end");
} catch (Exception e) {
throw new ServletException(e.getMessage(), e);
}
}
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
throw new ServletException("不能提供服务");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -