getRealPath()返回本地系统中的实际path,但在使用.war文件进行部署时返回null。 <%@ page import="java.io.*" %> <%@ page contentType="text/html;charset=ISO-8859-1" %> <% int iLf = 10; char cLf = (char)iLf; String a= application.getResource("/"); //String myfile = application.getRealPath("/")+ "generate.xml"; //String myfile = request.getContextPath()+"generate.xml"; //String myfile = request.getRealPath("/")+"generate.xml"; out.println(myfile); File outputFile = new File(myfile); outputFile.createNewFile(); FileWriter outfile = new FileWriter(outputFile); outfile.write(" <?xml version='1.0' encoding='UTF-8'?> "+cLf); outfile.write(" <playlist version='1' xmlns […]
我有这个代码: @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { logger.info("Filter start…"); HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; String ba = getBaId(getBody(httpRequest)); if (ba == null) { logger.error("Wrong XML"); httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST); } else { if (!clients.containsKey(ba)) { clients.put(ba, 1); logger.info("Client map : init…"); } else { clients.put(ba, clients.get(ba).intValue() […]
我如何告诉Maven 2加载Servlet 3.0 API? 我试过了: <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0</version> <scope>provided</scope> </dependency> 我使用http://repository.jboss.com/maven2/但是什么样的存储库是正确的? 附录: 它适用于整个Java EE 6 API的依赖关系和以下设置: <repository> <id>java.net</id> <url>http://download.java.net/maven/2</url> </repository> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> 我宁愿只添加Servlet API作为依赖关系,但“Brabster”可能是正确的,单独的依赖关系已被Java EE 6configuration文件取代。 有一个来源证实了这个假设吗?
我使用JSF标记<f:event维护了一个包含页面的Web应用程序。 我已经重写了一个服务类中的方法,以引发业务exception。 但是,在引发业务exception时,不会在托pipebean中捕获,并在页面上显示exception。 似乎我的代码try/catch不起作用。 在XHTML中: <f:event listener="#{resourceBean.init(enrollment)}" type="preRenderView" /> Managed Bean中的监听器方法: private boolean canCreateResource; public void init(Enrollment enrollment) { (…) try { canCreateResource = resourceService.canCreateResource(enrollment); } catch (BusinessException e) { canCreateResource = false; } } 服务类中的方法: public boolean canCreateResource(Enrollment enrollment) { if (…) { if (mandateService.isCoordinator(user, course)) { return true; } else { throw new […]
我正在用hibernate运行一个web应用程序,并陷入了这个exception。 请帮忙吗? java.lang.ClassNotFoundException:org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)at org.hibernate.HibernateException at com.forum.dao.TopicDAO.findAll(TopicDAO.java:43)at com.forum.servlets.Accueil.doGet(Accueil.java:23)at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain)的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)上的javax.servlet.http.HttpServlet.service(HttpServlet.java:728) .java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)at org.apache.catalina。 authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostVal ve.java:171)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)at org.apache.catalina .core.StandardEngineValve.invoke(StandardEngineValve.java:118)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008 )org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589)at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:312)at java.util.concurrent。 ThreadPoolExecutor.runWorker(Unknown Source)java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)java.lang.Thread.run(Unknown Source) 这里是TopicDAO.findALL() public static List<Topic> findAll() { Session s = HibernateUtils.getSession(); //TopicDAO.java:43 Transaction tx = s.beginTransaction(); List<Topic> objects = null; Query q = […]
我已经打了一个阻滞剂,添加一个修复现有的项目。主要的问题是,我想在POJO使用@Prepersist和@PreUpdate来照顾LastModified字段(插入和更新)使用JPA的hibernate实现会话。 原因? :这个改变是必须的,因为需要使用liquibase 1.9.5 ,我知道(因为我之前遇到过这种情况),liquibase将timestamp转换为datetime与默认的current_timestamp,这对于mysql数据库来说太糟糕了。 所以我需要一种方法来在代码中而不是在数据库中设置此集,以便我可以安全地将时间戳字段更改为datetime.then liquibase很高兴,我很高兴。 现在看来,这些解释器没有被执行,很less有search,我发现它适合使用entityManager 。目前没有问题。所以我想知道是否有一个简单的方法来解决我的问题,这意味着有@Prepersist或@PreUpdate甚至是其他解决方法来设置仍使用会话的lastModified字段
Userprincipal从SecurityContextHolder检索绑定到请求或会话? UserPrincipal principal = (UserPrincipal) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 这是我访问当前login的用户的方式。 如果当前会话被破坏,这会失效吗?
我了解本地视图,远程视图和无界面视图的区别。 我只是不明白“无视图”(无注释)和无界面视图之间有什么区别。 另外为什么我应该用@Local注释我的界面? 如果我根本不注释界面,有什么区别?
昨天我从Eclipse切换到Intellij。 我也使用jsp与Websphere Server 7。 现在一切似乎都工作得很好,除了当我修改一个Java文件,并保存 ,Intellij 不重新编译该文件,以便jRebel拿起它。 日蚀“ 自动构build ”function解决了这个问题。 在Intellij中,我必须按CTRL + SHIFT + 9才能重新编译jRebel的相关类来提取它。 如果在两个文件之间进行更改,我必须在每个 文件 上执行此操作,而且因为Intellij使用了save all机制,所以很难知道手动重新编译的内容。 没有办法让Intellij自己做这个吗?
我正在上传文件到服务器。 file uploadHTML表单有两个字段: 文件名 – 用户可以用任何语言给出名称的HTML文本框。 file upload – 一个HTMl'文件',用户可以在其中指定一个文件从磁盘上传。 表格提交时,文件内容被正确接收。 但是,当读取文件名(上面的第1点)时,它是乱码。 ASCII字符显示正确。 当用其他语言(德语,法语等)给出这个名字时,就会出现问题。 在servlet方法中,请求的字符编码设置为UTF-8。 我什至试图做一个filter如上所述 – 我如何使这个代码提交一个UTF-8格式的textarea与jQuery / Ajax的工作? – 但它似乎没有工作。 只有文件名似乎是乱码。 文件名所在的MySQL表支持UTF-8。 我给了随机的非英文字符,他们正确地存储/显示。 使用Fiddler,我监视了请求&所有POST数据传递正确。 我试图确定数据如何/在哪里可能会出现乱码。 任何帮助将不胜感激。