我使用EJB3和JSF开发了一个小型Java应用程序.但是我希望将它部署在Tomcat服务器上(不是GlassFish而不是Netbeans IDE,它必须独立于Netbeans).
如何在Tomcat上部署它?
我在JSF支持bean中有以下方法:
public List<Rent> getTopMemebers(){
return rentDAO.findByMonthAndYear(MonthReport, YearReport);
}
Run Code Online (Sandbox Code Playgroud)
我在数据表中显示:
<p:dataTable value="#{rentController.topMemebers}" var="item">
<p:column>
<h:outputText value="#{item.rentid}"/>
</p:column>
...
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
但我得到以下例外:
SEVERE: Error Rendering View[/admin/index.xhtml]
java.lang.NumberFormatException: For input string: "rentid"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at javax.el.ArrayELResolver.toInteger(ArrayELResolver.java:375)
at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:195)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:102)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
at javax.faces.component.UIOutput.getValue(UIOutput.java:168)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:338)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
at org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:489)
at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:416)
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:164)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:80)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620) …Run Code Online (Sandbox Code Playgroud) 我在JSF Managed Bean上有一个方法,我希望在用户调用方法之后,它做一些业务逻辑,之后它会在一些业务逻辑完成后重定向大约2秒.当业务逻辑在9:30:20之后完成后,将在9:30:22页面重定向.我怎么能在JSF Managed Bean上做?
谢谢!
昨天我去了英语课并结识了新朋友,他跟我说过他做过的工作(现在我还在学校学习).
在他的公司中,客户对他们的项目有很多要求,如果你使用框架但不了解所有组件或类似的东西,你会遇到源代码的问题而你没有修复它,因为它是由另一个构建的.并且Cusomters为您开发项目付了钱,您必须自己完成它,如果发生错误,您将修复它.但是,如果您使用框架,您可以修复或不修复50/50%.
我不知道他的说法.你能帮助我选择最好的方式吗?框架与否?
我们有很多种客户,我们必须使用一些技术,如struts/hibernate/Spring /等等......如果不使用框架,我们完成项目的时间如此之长,但如果使用它,我不相信它的所有组成部分我能够了解.
谢谢你的建议!
我是C#的新手,我正在练习Socket编程.
首先,我为客户端连接创建了一个服务器.
服务器:
class Program {
static void Main(string[] args) {
int recv;
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 1900);
Socket newsock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
newsock.Bind(ipep);
Console.WriteLine("Waiting for a client...");
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint Remote = (EndPoint)(sender);
recv = newsock.ReceiveFrom(data, ref Remote);
Console.WriteLine("Message received from {0}:", Remote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
string welcome = "Welcome to my test server";
data = Encoding.ASCII.GetBytes(welcome);
newsock.SendTo(data, data.Length, SocketFlags.None, Remote);
while (true) {
data = new …Run Code Online (Sandbox Code Playgroud) 现在,我正在与朋友一起工作,他是越南人,他想使用越南语创建一个网站,但是我们对UTF-8编码存在问题。我编写了一个Filter类,如下所示:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharsetFilter implements Filter
{
private String encoding;
public void init(FilterConfig config) throws ServletException
{
encoding = config.getInitParameter("requestEncoding");
if( encoding==null ) encoding="UTF-8";
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain next) throws IOException, ServletException
{
// Respect the client-specified character encoding
// (see HTTP specification section 3.4.1)
if(null == request.getCharacterEncoding())
request.setCharacterEncoding(encoding);
/** * Set the default response content type and encoding */
response.setContentType("text/html; charset=UTF-8"); …Run Code Online (Sandbox Code Playgroud) 当我尝试在for循环中排序数组时遇到了麻烦.
我给你的代码如下:
public class Lottery {
public Lottery() {
java.util.Random iRandom = new java.util.Random();
int num[] = new int[6];
java.util.Arrays.sort(num);
for(int i =0 ; i < num.length; i++) {
java.util.Arrays.sort(num);
num[i] = iRandom.nextInt(49)+1;
System.out.println(num[i]);
}
}
public static void main(String[] args) {
Lottery lott = new Lottery();
}
}
Run Code Online (Sandbox Code Playgroud)
在我上面的代码中,我可以打印随机数使用"For Loop",但我尝试按升序排序,但它不起作用.....
我的方式是对的?
大家可以帮助我吗?
谢谢!
最好的祝福!
我在EJB3中有JPA的新问题我的堆栈跟踪是:
Caused by: javax.persistence.NonUniqueResultException: More than one result was returned from Query.getSingleResult()
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.throwNonUniqueResultException(EJBQueryImpl.java:1207)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:722)
at com.DAO.CartDAO.checkUserID(CartDAO.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1056)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1128)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5292)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139)
at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797)
at com.sun.ejb.co
Run Code Online (Sandbox Code Playgroud)
我创建一个命令按钮用于添加项目到购物车,我写一个方法将项目添加到数据库中的购物车,我检查是否userid和itemid!= null,项目数量将添加到1,这意味着当我有用户ID 1将itemid 1添加到购物车中,我的方法将检查它是否存在,项目数量将在购物车表中添加1项目数量,我可以用一个项目做,但如果我将更多项目二添加到购物车,这意味着我添加itemid是2进入购物车表,然后我将更多数量的itemid 1添加到db中它抛出异常多个结果...我知道它不能同时有两个实例,但我不知道如何解决它?请帮我
我的addTocart方法
public void addtoCart(Items item){
this.items = item;
if(cartDAO.checkUserID(getMemberLoginController().getUser().getUserid()) != null &&
cartDAO.checkItemid(items.getItemid()) != null){
cart = cartDAO.checkUserID(getMemberLoginController().getUser().getUserid());
int …Run Code Online (Sandbox Code Playgroud)