Autowired d'un bean dans une servlet
AmdalResu
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
AmdalResu Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
AmdalResu Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
C'est la première fois que je pose une question et je le fais car je suis bien embêté sur un problème de récupération d'informations dans une servlet. Je travail sur Java8/SpringBoot 2.0 et côté front Js/Bootstrap.
Je sais que l'injection ne se fait pas comme ça dans une servlet mais je pense avoir produit un code qui me parait cohérent mais rien à faire ça ne fonctionne pas...
Merci par avance de toutes vos idées, solutions ou remarques.
Ci-dessous mon code.
C'est la première fois que je pose une question et je le fais car je suis bien embêté sur un problème de récupération d'informations dans une servlet. Je travail sur Java8/SpringBoot 2.0 et côté front Js/Bootstrap.
Je sais que l'injection ne se fait pas comme ça dans une servlet mais je pense avoir produit un code qui me parait cohérent mais rien à faire ça ne fonctionne pas...
Merci par avance de toutes vos idées, solutions ou remarques.
Ci-dessous mon code.
<bold><underline>Main de l'application :</underline></bold> @SpringBootApplication @ComponentScan(value = "org.java.test") @EnableConfigurationProperties @ServletComponentScan(basePackages = "org.java.test.servlets") public class Application extends SpringBootServletInitializer{ public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } } <bold><underline>Bean à injecter :</underline></bold> @Configuration @ConfigurationProperties() public class ApplicationConfig { @Autowired private Environment env; public String getCompleteAdress() { return new StringJoiner(":", "http://", "/context_path/").add(this.getServerAdress()).add(this.getServerPort()).toString(); } } <bold><underline>Servlet configuration :</underline></bold> @Configuration public class ServletConfig { @Autowired AutowireCapableBeanFactory beanFactory; @Bean public ServletRegistrationBean<HttpServlet> signupServlet() { ServletRegistrationBean<HttpServlet> servRegBean = new ServletRegistrationBean<HttpServlet>(); final Signup servlet = new Signup(); beanFactory.autowireBean(servlet); servRegBean.setServlet(servlet); servRegBean.addUrlMappings("/signup/*"); servRegBean.setLoadOnStartup(1); return servRegBean; } <bold><underline>La servlet:</underline></bold> @WebServlet( urlPatterns = "/signup/*", loadOnStartup = 1 ) public class Signup extends HttpServlet { @Autowired ApplicationConfig applicationConfig; public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{ this.getServletContext().getRequestDispatcher( VUE ).forward( request, response ); } public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{ System.out.println("L'adresse compléte est : " + applicationConfig.getCompleteAdress());
A voir également:
- Autowired d'un bean dans une servlet
- Bean mac - Télécharger - Traitement de texte
- J2ee: variable session de Jsp vers Servlet ✓ - Forum Javascript
- Rooter une tablette android galaxy s2 jelly bean 4.2.2 ✓ - Forum Mobile