我希望关于标题的问题有意义,如果没有,请说:机器A,通过我登录的Web浏览器admin,我转到机器B,然后登录admin,机器A中的Web浏览器应该强制注销用户admin.我给了这个想法,我认为如果我尝试手动实现它会很难看.我有一种感觉,这可以在Glassfish中完成.
我使用Java EE 6 + Glassfish v3.0.1.身份验证和授权是通过Glassfish中设置的jdbcRealm实现的
在我的应用程序中,我正在维护会话
HttpSessionListener
public void sessionCreated(HttpSessionEvent se)
public void sessionDestroyed(HttpSessionEvent se)
Run Code Online (Sandbox Code Playgroud)
如果一个用户突然关闭浏览器,浏览器的会话应该被销毁,但它不会自动销毁.
操作系统:Linux应用程序:Jboss
我该如何维持会话
我刚刚开始将我的Web应用程序项目打包为WAR文件,并且遇到了Tomcat与Jetty的配置与JBoss vs Websphere等之间的差异.
我应该尝试配置一些超级智能的一体化WAR文件,还是应该创建不同的Maven配置文件来为每个应用服务器创建不同的WAR?
我不认为我应该为每个应用服务器WAR创建一个单独的Maven模块,我应该吗?
我试图获得大学的所有课程:
我想知道是否有一种方法可以做到这一点,就像我可以搜索源代码,或者它正在访问的数据库来显示类?
我正在Weblogic 10.3.3上构建一个Web服务,我正在使用servlet过滤器将请求记录到数据库.我不希望过滤器减慢对Web服务的调用.所以我实际上有2个问题.
1)过滤器,或者我可以使过滤器在单独的线程上进行日志记录吗?如果是这样的话?
2)有没有办法可以动态打开或关闭过滤器而无需重新部署代码.
谢谢
我想将我的java Web应用程序与mysql数据库连接,但每当我运行该程序时,它都会抛出以下错误
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:959)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1430)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at ConnectionManager.getConnection(ConnectionManager.java:21)
at UserDAO.login(UserDAO.java:29)
at LoginServlet.doGet(LoginServlet.java:27)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud) java.lang.IllegalStateException: PWC3990: getWriter() has already been called for this response
Run Code Online (Sandbox Code Playgroud)
如何解决这个错误?我运行一个简单的servlet代码来显示条形图.
我尝试实现一个单例类方法,该方法由过滤器类调用.过滤器类和其余类将作为共享库添加到WLS.
我有两个独立的Web应用程序 - 带有过滤器的servlet - 都在同一个托管服务器上.
所以一切都工作正常,除了,单例实例化两次.plz在代码片段下方找到.
public class Test
{
private static Test ref ;
private DataSource X;
static int Y;
long Z ;
private Test ()
{
// Singleton
Z= 100 ;
}
public static synchronized Test getinstance() throws NamingException, SQLException
{
if(ref == null)
{
ref = new Test() ;
InitialContext ic = new InitialContext();
ref.X = (DataSource)ic.lookup ("jdbc/Views");
}
return ref ;
}
public Object clone()throws CloneNotSupportedException
{
throw new CloneNotSupportedException();
}
public int sampleMethod (int …Run Code Online (Sandbox Code Playgroud) 我想将我的页面重定向http://到https://jsp.
我有一些代码,但它给出了一些问题.
<%
String req_protocol = request.getProtocol().toLowerCase();
String convertHttps = req_protocol.substring(0, req_protocol.indexOf("/")).toLowerCase();
if(convertHttps.equals("http")){
response.sendRedirect("https://xyz.com/signup/signup.jsp");
}
%>
Run Code Online (Sandbox Code Playgroud)
它将错误页面作为"无限循环".
即时拦截请求网址并将其转发给另一个网址
喜欢
some_application/image_20.jpeg 至 some_application/image_345.jpeg
我这样做是使用过滤器.
现在我的代码是:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
//some code
RequestDispatcher request_Dispatcher=request.getRequestDispatcher(forward_url);
request_Dispatcher.forward(request,response);
Throwable problem = null;
try {
chain.doFilter(request, response);
}
catch(IllegalStateException ise)
{
}
catch(Throwable t) {
problem = t;
t.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为我RequestDispatcher用来转发请求..并且它正常工作
这个代码抛出是正常的 IllegalStateException
因为我在我的代码中捕获它并让它不要抛出任何消息..
现在我担心它是否会损害整个容器或降低性能
或者我可以改变一些代码而不是任何代码 IllegalStateException
谢谢