我不知道我做错了什么,但我不能包括JSTL.我有jstl-1.2.jar,但不幸的是我得到了例外:
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1439)
at org.apache.jasper.compiler.Parser.parse(Parser.java:137)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) …Run Code Online (Sandbox Code Playgroud) 使用大型项目在Eclipse中工作可能会很痛苦,因为IDE工作缓慢,有时会停止并且不响应.我知道它可以取决于操作系统,Eclipse的版本等.
所有eclipse开发人员都有在Eclipse中调整工作空间的技巧,应该关闭哪些来提高IDE的性能?
例如:我的项目建议关闭xml验证,不要安装m2eclipse.
由于eclipse的性能,一些开发人员使用IntelliJ.
更新:对于那些对日食表现感到不舒服的人,我建议尝试其他解决方案只是为了进行比较 - 我试过,这是我在表演主题上做得最好的:)
我想将记录添加到我的Servlet中,所以我创建了Filter,它应该显示请求并转到Servlet.但不幸的是我遇到了异常:
java.lang.IllegalStateException: getReader() has already been called for this request
at org.apache.catalina.connector.Request.getInputStream(Request.java:948)
at org.apache.catalina.connector.RequestFacade.getInputStream(RequestFacade.java:338)
at com.noelios.restlet.ext.servlet.ServletCall.getRequestEntityStream(ServletCall.java:190)
Run Code Online (Sandbox Code Playgroud)
所以为了解决这个问题,我找到了Wrapper的解决方案,但它不起作用.我还可以在代码中使用/更改什么?有任何想法吗?
[MyHttpServletRequestWrapper]
public class MyHttpServletRequestWrapper extends HttpServletRequestWrapper
{
public MyHttpServletRequestWrapper(HttpServletRequest request)
{
super(request);
}
private String getBodyAsString()
{
StringBuffer buff = new StringBuffer();
buff.append(" BODY_DATA START [ ");
char[] charArr = new char[getContentLength()];
try
{
BufferedReader reader = new BufferedReader(getReader());
reader.read(charArr, 0, charArr.length);
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
buff.append(charArr);
buff.append(" ] BODY_DATA END ");
return buff.toString();
}
public String toString()
{ …Run Code Online (Sandbox Code Playgroud) 我在我的项目中有很多单元测试,用JUnit和TestNG编写.构建过程基于带有surefire插件的maven.
当至少一个单元测试花费太多秒时,maven是否有任何方法/插件可以使构建失败?我知道有一些插件可以在TeamCity,Jenkins中构建失败,但这"太过分了".
在我的项目中,我希望只有快速测试才能使单元测试过程有效.我可以改进旧的测试,但我需要保护未来的承诺
我注意到BeanUtils.copyProperties(dest,src)有一个奇怪的副作用.全空Integers(也许Long,Date等过)转换为0两个对象:源(原文如此)和目的地.版本:commons-beanutils-1.7.0
的Javadoc:
对于属性名称相同的所有情况,将属性值从原始bean复制到目标bean.
例如:
class User {
Integer age = null;
// getters & setters
}
...
User userDest = new User();
User userSrc = new User();
BeanUtils.copyProperties(userDest, userSrc);
System.out.println(userDest.getAge()); // 0
System.out.println(userSrc.getAge()); // 0
Run Code Online (Sandbox Code Playgroud)
实际修改源对象可能非常麻烦.使用null值制作对象的"真实"副本的最佳解决方案是什么.
我在https上的localhost上有应用程序.但是localhost上的认证被打破了.
下面是响应头.问题:未创建MyCookie:
MyCookie=MyValue;Path=/;Domain=localhost;Secure; HttpOnly
Run Code Online (Sandbox Code Playgroud)
但对于这个标题.cookie已创建:
MyCookie=MyValue;Path=/;Secure; HttpOnly
Run Code Online (Sandbox Code Playgroud)
是否有任何Chrome政治禁止为标题中设置域的损坏的https页面创建cookie?
在Eclipse中是否有一种方法(插件)可以打开分离的窗口,这些窗口可以放在不同的监视器上:例如,一个监视器将拥有我的源,第二个线程和变量?该功能在IntelliJ中.
我刚刚开始使用JAXB从java对象生成XML输出.我的java类中存在一个多态性,它似乎在JAXB中不起作用.
下面是我尝试处理它的方式,但在输出中我没有预期字段:fieldA或fieldB.
@XmlRootElement(name = "root")
public class Root {
@XmlElement(name = "fieldInRoot")
private String fieldInRoot;
@XmlElement(name = "child")
private BodyResponse child;
// + getters and setters
}
public abstract class BodyResponse {
}
@XmlRootElement(name = "ResponseA")
public class ResponseA extends BodyResponse {
@XmlElement(name = "fieldA")
String fieldB;
// + getters and setters
}
@XmlRootElement(name = "ResponseB")
public class ResponseB extends BodyResponse {
@XmlElement(name = "fieldB")
String fieldB;
// + getters and setters
}
Run Code Online (Sandbox Code Playgroud)
在我开始发明一些错综复杂的遗产之前,有没有什么好方法可以做到这一点?
隐藏数据的最佳方法是什么,例如将密码隐藏到日志中.
我想记录发送到我的Servlet的POST请求的主体.但是记录密码并不是一个好主意.如何屏蔽密码?如果正则表达式是最好的想法,你能提出一些例子吗?
// Example:
password=123456asedqwe -> password=***
bla&password=qweqweqwe -> bla&password=***
password=qweqweqwe&qwe=qwe -> password=***&qwe=qwe
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我使用log4j来记录错误和许多框架:AOP,spring等.
当我在stacktrace中调用第一行时,这意味着什么,例如:
com.foo.bar.MyException: Error
at com.foo.bar.MyClass.handleException(MyClass.java:92)
at com.foo.bar.MyClass.myMethod(MyClass.java:76)
at com.foo.bar.MyClass.myMethod(MyClass.java:1) // <- here ???
...
Run Code Online (Sandbox Code Playgroud)
在第一行,我的类是注释,一切都正确编译
MyClass.java:
/* Copyright 2011 */
package com.foo.bar;
import ...
public class MyClass implements MyInterface {...
Run Code Online (Sandbox Code Playgroud)