为什么控制台没有提示输入?

import java.io.*; public class ConsoleDemo { public static void main(String[] args) { String str; Console con; con = System.console(); if (con == null) return; str = con.readLine(“Enter a string : “); con.printf(“Here is your string %s”, str); } } 我从书中复制了这个代码,它说我会在屏幕上提示输入一个字符串,但是我的IDE只是给出了执行已经终止的消息,而没有给我提示。

使用ASCII线处理Java IO的最快方法

我正在通过Socket使用ASCII输入/输出流,速度至关重要。 我听说使用正确的Java技术确实有所作为。 我有一本教科书说使用Buffers是最好的方法,但也建议使用DataInputStreamReader进行链接。 对于输出我使用带有OutputStreamWriter的BufferedOutputStream似乎没问题。 但我不确定输入流的用途。 我正在开发新系列,扫描仪有用吗? 速度至关重要,我需要尽快从网络上获取数据。 谢谢。 PH

Spring @Before更改每个用户登录

我有一个@Aspect类,它执行@Before方法并使用用户登录中的一些Id拦截所有查询。 但问题是:每次用户登录时,@Before方法的Id都会更改为所有已登录用户,只需更改当前用户即可。 简单的过程:当用户登录时,@ Aspect类获取其id以拦截所有查询。 但是这个id正在为每个登录用户而改变。 也许应该是会话的问题,我真的不知道。 方面类: @Aspect @Component @Transactional(propagation = Propagation.REQUIRED) public class TenancyAspect { @Autowired private EntityManager manager; @Autowired private AppUserDetailsService appUserDetailsService; @Before(“execution(* com.tc.tcqualidade.repository.*.*(..)) ” +”&& !execution(* com.tc.tcqualidade.repository.UsuarioRepository.porEmailEStatus(..))” +”&& !execution(* com.tc.tcqualidade.repository.UsuarioRepository.permissoes(..))”) public void definirTenant() { String tenantid = appUserDetailsService.getTenantId(); if (tenantid != null) { manager.unwrap(Session.class).enableFilter(“tenant”).setParameter(“id”, tenantid); } } } 登录类: @Service public class […]

DTO可以是春季管理的豆类吗?

我使用的是Spring 3.0。 我有很少的DTO。 我可以声明它们是春豆吗? 如果是这样,bean范围应该是什么?

mapView不推荐使用方法getZoomControls?

我正在尝试将默认缩放控件显示在google mapView上。 我在看这段代码。 但是不推荐使用getZoomControls()。 我正在尝试使用setBuiltInZoomControls,但是我遇到了错误; 当我调试时,例外是; java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.maptab2/com.test.maptab2.MapTabView}: java.lang.NullPointerException 02-05 09:49:21.239: W/dalvikvm(357): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 02-05 09:49:22.616: E/AndroidRuntime(357): FATAL EXCEPTION: main 02-05 09:49:22.616: E/AndroidRuntime(357): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.mapintab/com.test.mapintab.MapInTabActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.mapintab/com.test.mapintab.MapInTabActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.mapintab/com.test.mapintab.MapInTabActivity}: java.lang.RuntimeException: Unable to start activity […]

Jfreechart – 我们可以在StackedAreaChart中为数据点设置形状吗?

我正在使用Jfreechart制作堆积区域图表。 我正在使用StackedXYAreaChart类。 我想知道我们是否可以在StackedAreaChart的数据点绘制形状(它是一个折线图,我们可以通过设置SetSeriesShapes()来表示每个数据点)。 方法setSeriesShape()似乎不起作用。 有人有什么想法吗? 这是我到目前为止所尝试的(请不要评论我有一个空的数据集。我正在绘制一个动态图表,系列将在稍后填写): incomingData = new TimeTableXYDataset(); final JFreeChart incomingDataChart = ChartFactory.createStackedXYAreaChart( “Chart”, “Time”, “Payload (In Bytes)”, incomingData, PlotOrientation.VERTICAL, true, true, false); final StackedXYAreaRenderer renderChart = new StackedXYAreaRenderer(); renderChart.setSeriesPaint(0, Color.decode(“#339900”)); renderChart.setSeriesPaint(1, Color.decode(“#CC9933”)); renderChart.setSeriesPaint(2, Color.decode(“#33CCFF”)); renderChart.setSeriesPaint(3, Color.decode(“#FF6600”)); renderChart.setSeriesShape(0, new Ellipse2D.Double(-3, -3, 10, 10)); renderChart.setSeriesShape(1, new Ellipse2D.Double(-3, -3, 10, 10)); renderChart.setSeriesShape(2, new Ellipse2D.Double(-3, -3, […]

Spring – 在JPA事务之后提交JMS事务

我有两个事务管理器: JpaTransactionManager ( myJpaTm )和myJmsTm ( myJmsTm )。 考虑以下代码: @Named public class TestA { @Inject TestB testB; @Transactional(transactionManager=”myJpaTm”) public void methoda() { // store stuff in db testB.methodb(); } } @Named public class TestB { @Transactional(transactionManager=”myJmsTm”) public void methodb() { // send few JMS messages } } 我们有外部JPA事务和内部JMS事务,两者都是分开的,因为我们没有使用分布式事务。 我想在提交JPA事务后立即提交JMS事务。 在这种情况下,当前的JMS事务需要连接到父JPA事务。 我不是在寻找分布式事务的替代,我只想在将数据提交到数据库之后发送JMS消息。 我知道我可以创建另一个可以调用methodb ,然后methodb调用methodb ,但我想通过连接两个事务来解决它。

客户端和服务器之间的安全连接

我正在开发一个服务器组件,它将为嵌入式客户端提供服务,这也是我的控制。 现在一切都是测试版,安全性如下: 客户端通过https发送用户名/密码。 服务器返回访问令牌。 客户端通过自定义标头中的访问令牌通过http进行进一步请求。 这对于演示来说很好,但它有一些问题需要在发布之前修复: 任何人都可以复制login请求,重新发送并获取访问令牌。 有些用户回答说这不是问题,因为它超过了https。 我的错。 任何人都可以通过检查请求标头来监听并获取访问密钥。 我可以想到一个对称的密钥加密,带有时间戳,所以我可以拒绝重复的请求,但我想知道这个场景是否有一些众所周知的良好实践(这似乎很常见)。 非常感谢您的洞察力。 PS:我正在使用Java作为服务器而客户端是用C ++编写的,以防万一。

如何在未使用Servlet记录用户时重定向到索引页面?

如果用户未使用servlet登录,如何重定向到登录页面。 我有一个登录页用户使用该登录页面并进入主页,导航用户点击退出后只需点击浏览器中的后退按钮现在页面转到以前访问过的页面,如何在使用时将用户重定向到登录页面servlet的? 感谢您的帮助和持续的支持

Java类型不匹配:无法从java.lang.Object转换

我正在使用蓝鹈鹕java教科书并使用drjava。 我目前正在研究第43课Big Bucks项目,基本上我必须使用这个BankAccount类: public class BankAccount { public BankAccount(String nm, double amt) { name = nm; balance = amt; } public void deposit(double dp) { balance = balance + dp; } public void withdraw(double wd) { balance = balance – wd; } public String name; public double balance; } 并创建另一个类,允许我输入多个帐户,将它们存储在一个数组列表中,然后确定哪个帐户具有最大的余额。 这是我到目前为止的代码: import java.io.*; import java.util.*; […]