我正在开发一个通过maven构建的war/java网站.
目前,我必须进行更改...告诉maven构建它们...然后部署到Tomcat.这大约是40 秒.所以每做一次改变,我都要等待> = 40秒才能看到变化.
这变得非常令人沮丧,所以我试图加快部署.我通过maven与战争部署了网站:爆炸.现在,我以'部署'格式实时编辑文件.问题是我需要将这些更改移回源位置以推入我们的源代码管理.
所以有人编写了一个脚本来"取消部署"服务器上的更改,小心地将它们指回到maven期望的位置,或者找到另一种方法,我可以立即在Web浏览器中看到我的更改.每次从源头重建都不是一个有趣的解决方案.
我在 Sof链接上找到了这个解决方案, 但我不得不从两个原因改变它:
我的代码是这样的:
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.addHeader("Set-Cookie", "; HTTPOnly");
Run Code Online (Sandbox Code Playgroud)
原始代码
FacesContext facesContext = FacesContext.getCurrentInstance().getFacesContext();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.addHeader("Set-Cookie", "yourcookiename=yourcookievalue; HTTPOnly");
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我。先感谢您
valve我正在尝试在 Tomcat 中实现一个自定义,例如MyValveextends BaseValve。我创建了项目的 jar 并将其添加到Tomcat\lib文件夹中。
下一步是配置server.xml或context.xml。我都尝试过。但我的阀门类别没有被检测到。
有人可以让我知道创建阀门并使用它的步骤吗?
谢谢
我知道非常少有关Java,更不用说JASIG CAS.
我们正在尝试在CentOS 6服务器上实施CAS.我们收到以下错误:
java.io.FileNotFoundException: cas.log (Permission denied)
[...snip...]
java.io.FileNotFoundException: perfStats.log (Permission denied)
Run Code Online (Sandbox Code Playgroud)
经过一番调查,似乎tomcat6是在尝试在其主目录(/usr/share/tomcat6/)中写入日志文件.我能够确定这个chown tomcat: /usr/share/tomcat6,然后在重新启动后,在该目录中创建了日志文件.
所有其他日志都写入/usr/share/tomcat6/logs了符号链接/var/log/tomcat6.
我想知道如何重新配置CAS以将这2个日志文件写入不同的目录/usr/share/tomcat6/logs)?
我有一个从Eclipse Ganymede通过Tomcat 6部署的JSF应用程序.后者提出了JSP 2.0.我正在使用Sun RI JSF实现和RichFaces 3.3.2SR1.
我的index.jsp文件根据浏览器的请求导致控制台出现此错误:
05-Mar-2010 12:04:41 org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /index.jsp(35,41) #{..} is not allowed in template text
...
好的,我已经看过关于这个主题的各种其他帖子,包括各种jar/taglibs/syntaxes等版本的不兼容性.
使用http://localhost:8989/myapp/index.jsf (或.jsp - 给出相同的错误)调用index.jsp ,并包含
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
Run Code Online (Sandbox Code Playgroud)
这应该是正常的,因为我正在使用的Mojarra 2.0.2FCS中有facelets.我似乎必须使用上面的语法而不是例如.<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>正如facelets URI导致Eclipse所说Cannot find the tag library descriptor for "http://java.sun.com/jsf/facelets".
我的问题与我列出这些标签的方式有关吗?
我的Ant构建文件引用了这些Tomcat jar:
<fileset dir="${cliTomcatlib}">
<include name="servlet-api.jar" />
<include name="jsp-api.jar" />
</fileset>
Run Code Online (Sandbox Code Playgroud)
所以我很难理解如何绕过这个错误.感觉这将是一个简单的修复,但因为我使用的最新jar应该与JSP 2.0兼容,我想知道为什么我会收到此错误.JSF
编辑
在回答BalusC的智慧,我纠正两个引用外部JSP文件并重新命名为所有.jsp来.xhtml.我记得还要更新我的 …
我有一个Grails 1.3.7应用程序,我正在尝试在配置中设置log4j进行生产.log4j设置在开发中很好,但我无法获得任何显示生产.我试图制作一个滚动文件,但我无法得到任何东西.我甚至在"信息"级别进行配置,这样我就可以确保有一些东西可以通过.我没有看到服务器上的tomcat日志感兴趣.有任何想法吗?
log4j = {
def catalinaBase = System.properties.getProperty('catalina.base')
if (!catalinaBase) catalinaBase = '.' // just in case
def logDirectory = "${catalinaBase}/logs"
root { info "stdout", "roll", "errors" }
// Log all at the error level
info 'org.apache.',
'org.tomcat.',
'grails.app',
'org.acegisecurity',
'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate'
warn 'org.mortbay.log'
warn 'grails.app'
appenders {
console name: …Run Code Online (Sandbox Code Playgroud) 我正在使用:
这是我的Web应用程序项目中的context.xml和web.xml结构:
当我为我的应用程序生成WAR文件时,context.xml将按预期打包。当我将WAR文件复制到Tomcat webapps文件夹并启动Tomcat时,将提取WAR文件并将context.xml复制到\conf\Catalina\localhost\<webappname>.xml预期的位置。但是,这仅在<webappname>.xml尚不存在时才起作用。因此,如果不先删除现有,就无法更新context.xml,打包WAR和重新部署<webappname>.xml。我知道这是基于阅读文档所预期的功能。
我的问题是,我该怎么办?如何更新context.xml并自动复制这些更新,就像它们是全新的一样?我不想<webappname>.xml在每次发布之前都删除它。
也许我会以错误的方式进行操作?
我有一个用JRE7编译的Web应用程序,现在我想在Tomcat6上运行它.当我启动我的应用程序时,我在日志中看到异常:
Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
Run Code Online (Sandbox Code Playgroud)
此异常来自实现ServletContextListener的类.
这是否意味着我必须将Tomcat7用于使用JRE7编译的代码?有解决方法吗?任何信息都是有价值的.
我正在使用Safenet的Sentinel EMS.本地tomcat6网站使用java applet进行硬件密钥管理.我从java.com安装了最新的jre7 u45.我的问题是java applet花费了太多时间在离线环境中加载(applet显示进度条大约8-10分钟).当机器连接到互联网时,小程序将在不到1分钟的时间内加载.是否有任何设置来改变java的行为或者是tomcat的问题?
注意:safenet的人回答说这是jre安装的问题,我需要重新安装.我重新安装了2-3次,但没有机会纠正这个问题.
我试图访问Servlet过滤器中的FacesContext,有时(不是每次)我遇到内部服务器错误.
import java.io.IOException;
import javax.faces.context.FacesContext;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.binary.Base64;
public class AuthenticationFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
UserDetailsBean userBean = null;
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
FacesContext context = FacesUtil.getFacesContext(req, res);
String param = req.getParameter("PARAMETER_VALUES");
if((param!=null && param.isEmpty()) || !isAuthenticated(req)) {
if(param …Run Code Online (Sandbox Code Playgroud)