আমি প্রোগ্রামিং হিসাবে একটি স্প্রিং বুট অ্যাপ্লিকেশন কনটেক্সট কনটেক্সট রুট সেট করার চেষ্টা করছি। প্রসঙ্গের মূলের কারণ হ'ল আমরা চাই অ্যাপটিটি অ্যাক্সেস করা উচিত localhost:port/{app_name}
এবং এতে সমস্ত কন্ট্রোলার পাথ যুক্ত হয়।
এখানে ওয়েব-অ্যাপ্লিকেশনটির জন্য অ্যাপ্লিকেশন কনফিগারেশন ফাইল রয়েছে।
@Configuration
public class ApplicationConfiguration {
Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class);
@Value("${mainstay.web.port:12378}")
private String port;
@Value("${mainstay.web.context:/mainstay}")
private String context;
private Set<ErrorPage> pageHandlers;
@PostConstruct
private void init(){
pageHandlers = new HashSet<ErrorPage>();
pageHandlers.add(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html"));
pageHandlers.add(new ErrorPage(HttpStatus.FORBIDDEN,"/forbidden.html"));
}
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
logger.info("Setting custom configuration for Mainstay:");
logger.info("Setting port to {}",port);
logger.info("Setting context to {}",context);
factory.setPort(Integer.valueOf(port));
factory.setContextPath(context);
factory.setErrorPages(pageHandlers);
return factory;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
এখানে মূল পৃষ্ঠার জন্য সূচক নিয়ন্ত্রক।
@Controller
public class IndexController {
Logger logger = LoggerFactory.getLogger(IndexController.class);
@RequestMapping("/")
public String index(Model model){
logger.info("Setting index page title to Mainstay - Web");
model.addAttribute("title","Mainstay - Web");
return "index";
}
}
অ্যাপ্লিকেশনটির নতুন মূলটি হওয়া উচিত localhost:12378/mainstay
, তবে এটি এখনও অবস্থিত localhost:12378
।
আমি কী অনুভব করছি যা অনুরোধ ম্যাপিংয়ের আগে স্প্রিং বুটকে প্রসঙ্গের মূলটি সংযোজন করতে বাধ্য করছে?