⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initservlet.java

📁 实现留言薄和发表文章的功能
💻 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 + -