웹 서비스 시작 시 자동 으로 Servlet 를 불 러 오고 service 처 리 를 수행 합 니 다.

2416 단어 servlet
에서
 
servlet 를 자동 으로 불 러 오 는 방법 소개: 웹. xml 에서 servlet 를 정의 합 니 다.
<servlet> 
    <servlet-name>t1</servlet-name> 
    <servlet-class>com.base.test.T1</servlet-class> 
    <!--         ,      --> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

  웹 용기 가 시작 할 때 이 servlet 를 0 이상 불 러 올 지 여 부 를 표시 합 니 다. 웹 용기 가 시작 할 때 이 servlet 를 불 러 올 지 여 부 를 표시 합 니 다.음수 일 때 나 지정 되 지 않 았 을 때 용기 가 이 servlet 이 선택 되 었 을 때 불 러 오 는 것 을 표시 합 니 다.양수 의 값 이 작 을 수록 servlet 를 시작 하 는 우선 순위 가 높 습 니 다.이 Servlet 을 쓰 려 면 init () 방법 을 다시 써 야 합 니 다.
package com.base.test;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

public class T1 extends HttpServlet {

	public T1() {
		super();
	}

	public void init() throws ServletException {
		System.out.println("init t1 ... ");
	}
}

 웹 용 기 를 다시 시작 하면 콘 솔 에서 'init t1...' 이라는 줄 의 정 보 를 볼 수 있 습 니 다.그리고 이 Servlet 이 데이터베이스 의 내용 을 읽 고 관련 처 리 를 할 수 있 도록 코드 를 수정 합 니 다.데이터 베 이 스 를 조작 할 때 spring 의 HibernateTemplate 와 JdbcTemplate 를 사용한다 면 데이터 베 이 스 를 방문 하 는 것 은 bean 주입 방식 으로 action 에 service 를 주입 하여 데이터 베 이 스 를 읽 는 것 입 니 다. 사실은 현재 의 관건 은 이 service 의 예화 대상 을 얻 는 것 입 니 다.수 정 된 servlet:
package com.base.test;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.abc.test.Service1;

public class T1 extends HttpServlet {

	public T1() {
		super();
	}

	public void init() throws ServletException {
		ServletContext sc = getServletContext();
		WebApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);

		Service1 service = (Service1) ac.getBean("yourServiceId");
		List list = service.getList();
		// list           ,         
	}
}

 your ServiceId 는 applicationContext. xml 파일 에 설 정 된 < bean id = "your ServiceId" > 입 니 다.

좋은 웹페이지 즐겨찾기