小编Mah*_*ahe的帖子

在Apache 2代理(mod_proxy)后面的Tomcat Web应用程序中发送重定向

我在tomcat上有一个Web应用程序 http://localhost:8080/WebApp/

我已经配置了Apache 2(mod_proy),因此localhost可以直接访问Web应用程序,并输出端口和名称:例如 http://localhost

<VirtualHost localhost:80>
    ProxyPreserveHost On
    ProxyPass / http://localhost:8080/WebApp/
    ProxyPassReverse / http://localhost:8080/WebApp/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

index.html正确显示http://localhost.但是如果servlet重定向:

@WebServlet(description = "...", urlPatterns = { "/login" })
public class LoginServlet extends HttpServlet
{    
    @Override
    protected void doGet(HttpServletRequest request,
                     HttpServletResponse response) throws IOException
    {
        response.sendRedirect("a.html");
    }
 }
Run Code Online (Sandbox Code Playgroud)

我使用URL http://localhost/login- 我被重定向到http://localhost/WebApp/a.html

如何获得正确的重定向http://localhost/a.html

java apache redirect tomcat mod-proxy

15
推荐指数
1
解决办法
2万
查看次数

JavaFX中的重渲染任务(在画布中)阻止GUI

我想创建一个在画布中执行许多渲染的应用程序.正常的JavaFX方式阻止了GUI:按下下面的应用程序代码中的按钮真的很难(用Java 8运行).

我在网上搜索,但JavaFX不支持后台渲染:所有渲染操作(如strokeLine)都存储在缓冲区中,稍后在JavaFX应用程序线程中执行.所以我甚至不能使用两个画布并在渲染后进行交换.

此外,javafx.scene.Node.snapshot(SnapshotParameters,WritableImage)不能用于在后台线程中创建映像,因为它需要在JavaFX应用程序线程内运行,因此它也会阻止GUI.

有没有非阻塞GUI和许多渲染操作的想法?(我只想按下按钮等,同时在背景中以某种方式执行渲染或定期暂停)

package canvastest;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.StrokeLineCap;
import javafx.stage.Stage;

public class DrawLinieTest extends Application
{
    int             interations     = 2;

    double          lineSpacing     = 1;

    Random          rand            = new Random(666);

    List<Color>     colorList;

    final VBox      root            = new VBox();

    Canvas          canvas          = new Canvas(1200, 800);

    Canvas          canvas2         = new …
Run Code Online (Sandbox Code Playgroud)

java canvas javafx-8

9
推荐指数
1
解决办法
2196
查看次数

标签 统计

java ×2

apache ×1

canvas ×1

javafx-8 ×1

mod-proxy ×1

redirect ×1

tomcat ×1