情况就是这样:我的'metrics.jsp'页面提交了一些创建图表所需的变量.'ProjectActionBean.java'调用了一些创建JFreeChart的其他java类.我可以在弹出窗口中显示图表,但我希望它显示在原始浏览器窗口中.
JFreeChart placeChart = ChartFactory.createBarChart(
"ChartName",
"", //x-axis label
"", //y-axis label
dataset,
PlotOrientation.VERTICAL,
false, //legend
true, //tooltype
false); //generate urls
ChartFrame frame = new ChartFrame(name, placeChart);
frame.pack();
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud) 让我们说用户使用https访问条带动作1.一旦action1处理完成,它就会使用RedirectResolution重定向到action2.此时,浏览器使用http而不是https接收302到action2.在重定向到action2时,如何使RedirectResolution使用https?
我使用 oracle jdk 1.7.0_5 在 OpenIndiana 151.a3 上运行 Glassfish 3.1.2.2 (build 5) 有一个奇怪的行为。
当我部署具有 Spring Web 调度程序和 Stripes servlet 的 Web 应用程序时,我将它们连续初始化两次,例如
PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]
INFO StripesFilter - Stripes Initialization Complete. Version: 1.5.6, Build: 1.5.6
PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]
INFO StripesFilter - Stripes Initialization Complete. Version: 1.5.6,
Build: 1.5.6
WEB0671: Loading application [my-web] at [/my-web]|#]
Run Code Online (Sandbox Code Playgroud)
如果不是我从 spring 初始化的 blazeds servlet 在第二次初始化时完全失败,那不会是一个大问题。我尝试禁用 blazeds servlet 但这并不能解决双重初始化问题,因为我仍然在日志中收到两次初始化消息。如果没有 blazeds,我的应用程序将无法工作,所以我在这里很紧张。
更新:我已经确认它只发生在 OpenIndiana 主机上,Linux 上的相同配置没有问题
我们有一个stipes(java)web-app,需要从一个方法进行大约15个不同的webserivce调用.例如: ...
public Resolution userProfile()
{
serviceOneCall();
serviceTwoCall();
serviceThreeCall();
serviceFourCall();
....
serviceTenCall();
return new RedirectResolution("profiel.jsp");
}
Run Code Online (Sandbox Code Playgroud)
所有这些都可以并行调用,而不是相互依赖.大多数这些调用所做的一件事就是将数据放入会话中,并且一两个可能将数据放入会话中的同一对象中,因此线程安全可能是一个问题.
有人能建议同时调用所有这些的好方法吗?
java stripes web-services web-applications java.util.concurrent
在我正在做的DAO实现中Stripersist.getEntityManager().persist(client);
,这似乎没有返回任何错误,但我找不到它持续存在的数据.
我的客户端对象如下所示:
@Entity
public class Client implements Serializable
{
@Id
@GeneratedValue
private Integer id;
@Column
private String name;
//accessors etc here
...
}
Run Code Online (Sandbox Code Playgroud)
我有一个持久性单元,如下所示
<persistence-unit name="stripes" transaction-type="RESOURCE_LOCAL">
<!-- Tell JPA to use Hibernate -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--Hibernate settings -->
<properties>
<!--Autodetect entity classes -->
<property name="hibernate.archive.autodetection" value="class"/>
<!--Automatically create the SQL schema -->
<property name="hibernate.hbm2ddl.auto" value="create"/>
<!--Tell Hibernate to use HSQLDB -->
<property name="hibernate.dialect"
value="org.hibernate.dialect.DerbyDialect" />
<property name="hibernate.connection.driver_class"
value="org.apache.derby.jdbc.ClientDriver" />
<!--Configure the JDBC database connection-->
<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/salestracker" /> …
Run Code Online (Sandbox Code Playgroud) 我正在使用eclipse,我可以构建webapp并将其部署到Jboss4.2.1.它以前工作,我没有真正广泛地改变任何东西,以使这个错误出现.当我通过浏览器访问webapp时,我之前使用通用用户名登录,然后像往常一样使用我的webapp.
现在,当我通过浏览器访问webapp时,此错误会反复出现,并且不会显示任何内容.这是我收到的错误:
07:55:06,174 INFO [security] User '' attempting login via SiteMinder...
07:55:06,174 INFO [security] User '' attempting login via SiteMinder...
07:55:06,174 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.LinkageError: Class javax/el/ExpressionFactory violates loader constraints
at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspx_meth_c_005fset_005f0(header_jsp.java:207)
at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspx_meth_c_005fif_005f0(header_jsp.java:179)
at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspService(header_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:643)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:637)
at net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:122)
at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspx_meth_stripes_005flayout_002drender_005f0(layout_jsp.java:796)
at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f2(layout_jsp.java:759)
at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspService(layout_jsp.java:200)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at …
Run Code Online (Sandbox Code Playgroud) 我有以下条纹 ActionBean:
package myapp;
import net.sourceforge.stripes.action.*;
public class WelcomeActionBean extends MyAppActionBean {
@DefaultHandler
public Resolution view() {
return new ForwardResolution("/welcome.jsp");
}
}
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中加载/myapp/Welcome.action 时,会显示welcome.jsp 的内容。
但是,当我将welcome.jsp 移动到/WEB-INF/jsp/welcome.jsp 并更改ForwardResolution 参数以反映该更改时,即:
return new ForwardResolution("/WEB-INF/jsp/welcome.jsp");
Run Code Online (Sandbox Code Playgroud)
加载 /myapp/Welcome.action 时出现以下错误:
net.sourceforge.stripes.exception.ActionBeanNotFoundException: Could not locate an ActionBean that is bound to the URL [/Welcome.action]. Commons reasons for this include mis-matched URLs and forgetting to implement ActionBean in your class. Registered ActionBeans are: {/controller/DefaultView.action=class net.sourceforge.stripes.controller.DefaultViewActionBean, /myapp/MyApp.action/=class myapp.MyAppActionBean, /myapp/Welcome.action/=class myapp.WelcomeActionBean, /controller/DefaultView.action/=class net.sourceforge.stripes.controller.DefaultViewActionBean, /myapp/MyApp.action=class myapp.MyAppActionBean, /myapp/Welcome.action=class myapp.WelcomeActionBean}
net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:341)
net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBean(NameBasedActionResolver.java:264) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Stripes简化一些事情.我已经阅读并听到了很多关于使用这个框架的容易程度和陡峭的学习曲线(即学习非常快速和高效).
但直到这一刻,我甚至无法使用Stripes创建最简单的HelloWorld.
我发现的所有示例都演示了如下功能:"点击链接 - >查看结果".当我们点击链接时,调用特殊处理程序(返回Resolution
),之后getter也可以工作(因为bean被实例化).
但是,如果我不想要一个链接,但我想要简单的静态信息(例如,当我打开StackOverflow时,我不需要点击链接,但我立即看到一个问题列表)那么对于Stripes来说这是非常重要的因为在我看来,因为bean没有立即实例化.
如何解决?是否有一些特殊的注释或其他技术?
有没有人在这里试过Stripes并遇到同样的问题?我真的很沮丧,也许我错过了什么......
UPD:它可能不太清楚,因为我没有附加任何代码.所以我描述了一下.为了重现我的情况,它足以从QuickStart获取代码并尝试从ActionBean getter中检索文本(目前,文本在jsp中是硬编码的).只有在按下按钮后(即处理程序执行某些操作后),文本才会出现.但是,在您第一次打开页面后,您将看不到文本.
我在Apache Httpd后面的TomCat容器中运行了几个Java应用程序.在Apache Httdp中SetEnv FOO bar
,如果安装了mod_env,则可以设置Env变量.如何在TomCat中运行的Java应用程序中读取这些变量?Java应用程序主要使用Stripes构建,如果有帮助的话.
我厌倦了Java web,并开始学习Ruby on Rails,但是我刚刚发现了这个框架并且它看起来很糟糕...但是我没有心情学习更多Java,所以我想知道是否这个值得我花时间(这意味着,更少配置和动作映射等)
它比Struts 2(WebWorks)更好吗??? 因为那些比Struts 1更好但仍然不是RoR.
Spring MVC?
我想要一个Hands On Opnion,而不是规格比较.
谢谢 !