Как можно задать URL главной странице с помощью файла html?
Главная страница сайта выводится по запросу http://localhost:8080/index.html, как можно вывести её с помощью http://localhost:8080/main?
public class Main {
public static void main(String[] args) throws Exception {
DBService dbService = new DBService();
try {
long userId = dbService.addUser("tully");
System.out.println("Added user id: " + userId);
UsersDataSet dataSet = dbService.getUser(userId);
System.out.println("User data set: " + dataSet);
dbService.cleanUp();
} catch (DBException e) {
e.printStackTrace();
}
AccountService accountService = new AccountService();
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.addServlet(new ServletHolder( new UsersServlet(accountService)), "/main");
context.addServlet(new ServletHolder(new SessionsServlet(accountService)), "/defolt");
context.addServlet(new ServletHolder(new SignInServlet(accountService)), "/signin");
context.addServlet(new ServletHolder(new SignUpServlet(accountService)),"/signup");
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setResourceBase(".idea/templates");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{resource_handler, context});
Server server = new Server(8080);
server.setHandler(handlers);
server.start();
java.util.logging.Logger.getGlobal().info("Server started");
server.join();
}
}
Ответы (1 шт):
Автор решения: Roman-Stop RU aggression in UA
→ Ссылка
Добавьте еще один handler, смотрите документацию:
RewriteHandler rewriteHandler = new RewriteHandler();
rewriteHandler.addRule(new RewriteRegexRule("/main", "/index.html"));
...
handlers.setHandlers(new Handler[]{rewriteHandler, resource_handler, context});
Для этого в проект нужно добавить библиотеку jetty-rewrite. Если используете maven, то так:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-rewrite</artifactId>
<version>11.0.9</version>
</dependency>