“更改java版本后,路径login.page不以”/“字符”消息exception开头

我有一个Web应用程序,它使用以下内容:Tomcat 5.0 Struts 1.0 Java 1.5 我必须切换到Java 1.6。当我尝试这样做时,我在浏览器中收到以下exception堆栈: javax.servlet.ServletException: Path login.page does not start with a “/” character org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:743) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:72) org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:712) org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:682) org.apache.jsp.index_jsp._jspService(index_jsp.java:45) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) 根本原因 java.lang.IllegalArgumentException: Path login.page does not start with a “/” character org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:107) org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96) org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54) org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) […]

在Java中将字符串转换为带有2个小数位的十进制数

在Java中,我试图将一串格式”###.##”解析为浮点数。 该字符串应始终具有2个小数位。 即使String的值为123.00 ,浮点数也应该是123.00 ,而不是123.0 。 这是我到目前为止: System.out.println(“string liters of petrol putting in preferences is ” + stringLitersOfPetrol); Float litersOfPetrol = Float.parseFloat(stringLitersOfPetrol); DecimalFormat df = new DecimalFormat(“0.00”); df.setMaximumFractionDigits(2); litersOfPetrol = Float.parseFloat(df.format(litersOfPetrol)); System.out.println(“liters of petrol before putting in editor: ” + litersOfPetrol); 它打印: string liters of petrol putting in preferences is 010.00 liters of petrol before […]

JBoss AS 7中的PrintServiceLookup.lookupPrintService解决方案

我正在尝试从我的JSF Web应用程序打印pdf文档。 当我从main方法调用方法findPrinter() ,会找到PrintServices ,但是当我从网页PrintService调用此方法时找不到。 下面提到的代码.. public static void main(final String[] args) throws Exception { PrintTest printTest = new PrintTest(); printTest.findPrinter(); } public void findPrinter() { PrintService[] printServices = PrinterJob.lookupPrintServices(); System.out.println(“Print Services Length :: ” + printServices.length); for (PrintService printService : printServices) { System.out.println(“PrintService :: ” + printService); } 有什么建议么…

维护行动变量的值?

class SampleAction extends ActionSupport { private Map circleIdNameMap; public String preprocess(){ –logic for populating value of MAP } –getters and setters } 现在我的问题是页面加载我调用preprocess函数并填充Map的值。 在页面提交之后调用另一个方法,在此之后,在一些数据库交互之后,它会重定向到JSP,但这次Map值为空。 我在Struts2中使用这个Map for drop-down标签。 我的preprocess在链接中关联,如: href=”/gma/preprocessConfigureTspThreshold?operatorId=5102&sessionId=12332″‌`​ 因此,只有在第一次单击链接时才会调用preprocess ,之后当我重定向到我的JSP时,因此它不被调用,所以第二次Map值为空。 我应该将地图放在会话中以便保留吗? 或者可以做点什么? 我读过不使用preprocessfunction,使用Preparable接口。 但按照文档: struts 2框架的准备拦截器将始终调用prepare方法 每当为Action类调用任何方法时。 因此,每个方法都会调用它。 我希望只在页面加载时调用preprocess 。

使用java stream过滤谓词时记录filter的结果

场景是我创建了不同类型的filter,它们根据对象的属性过滤一些对象的列表。 因此,我创建了一个由每个filterinheritance的AbstractObjectFilter类。 AbstractObjectFilter.java public abstract class AbstractEventFilter { protected abstract Predicate isEligible(); public List getFilteredEvents(final List events) { return events.stream().filter(isEligible()).collect(Collectors.toList()); } } 所以现在每个filter都扩展了这个类并覆盖了isEligible(),并且在该函数中它根据其属性返回谓词。 例如: – MinNumOfPrizesFilter.java public class MinimumNumOfPrizesFilter extends AbstractEventFilter { private int minimumNumOfPrizes; public MinimumNumOfPrizesFilter(@NonNull int minimumNumOfPrizes) { this.minimumNumOfPrizes = minimumNumOfPrizes; } @Override protected Predicate isEligible() { return event -> event.getPrizeCount() >= minimumNumOfPrizes; […]

是否有创建BPMN的Java API?

有没有办法通过Java API以编程方式创建BPMN 2.0 ? 我知道我可以使用图形建模工具或手动创建BPMN XML ,但我正在寻找一种在运行时动态创建它的方法。 就我而言,BPMN将通过jBPM执行。 jBPM文档说你可以使用他们的API来定义进程,但是他们不建议使用它来“保护自己免受内部API的攻击”。 如果有一个API与特定供应商无关,那就太好了。

如何找到多个点的中心? Android的

我在MapView上放置了多个点,并希望将地图置于这些点上,即不是任何特定的点,只是它们的平均中心。 我知道在Javascript G. Maps API中有一种方法。 我想知道是否有一种先前的方法在Android中执行此操作?

LDAP:错误代码49 – 简单绑定失败:NT_STATUS_LOGON_FAILURE

我试图validation用户,但它抛出Exception可能是配置有问题。 public class LdapApplication { private static final String INITIAL_CONTEXT_FACTORY = “com.sun.jndi.ldap.LdapCtxFactory”; private static final String SECURITY_AUTHENTICATION =”simple”; private static final String NAMED_CONTEXT = “CN=Users”; private static final String SAM_ACCOUNT_NAME = “sAMAccountName=”; public static void main(String[] args) { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,INITIAL_CONTEXT_FACTORY); env.put(Context.PROVIDER_URL, “ldap://ip:portNo/dc=organisation,dc=in”); env.put(Context.SECURITY_AUTHENTICATION, SECURITY_AUTHENTICATION); env.put(Context.SECURITY_PRINCIPAL, “cn=userName,cn=Users”); env.put(Context.SECURITY_CREDENTIALS, “password” ); DirContext context […]

我怎么知道方法可以抛出什么exception?

我如何知道方法调用可能引发的exception?

创建JSON对象并将其转换为Java中的String

我需要通过httppost发送一个相当长的JSON头。 在Python中是这样的: self.body_header = { “client”: self.client_name, “clientRevision”: self.client_version, “uuid”: str(uuid.uuid4()), “session”: self.get_sessionid()} self.body = { “header”: self.body_header, “country”: {“IPR”:”1021″, “ID”:”223″, “CC1″:”0”, “CC2″:”0”, “CC3″:”0”, “CC4″:”2147483648”}, “privacy”: 1} 我需要在Java中做类似的事情,即以某种方式创建一个JSON结构,将其转换为String并通过http发送它。 问题是,我怎样才能轻松实现这一目标? 有用的库吗? 我知道如何发送它,但不知道如何构建它然后创建一个String。 谢谢你们。