Posts

Struts 2 : Warning :No configuration found for the specified action: 'Login.action' in namespace: '/'

No configuration found for the specified action: 'Login.action' in namespace: '/'''. Form action defaulting to 'action' attribute's literal value. Solution: To remove this warning you need to change following... See your struts.xml file what name you have specified... If you are using namespace / and your action name is 'Login' then  replace Login.action to Login as given below... <s:form action=" Login.action " method="post" >   Use below with namespace  1) <s:form action=" Login " method="post" namespace="/">   Or   2) <s:form action=" /Login " method="post" >   Now you will not get this warning.

Google App Engine: Java mail API : Mail failed

Uncaught exception from servlet java.lang.SecurityException: SHA1 digest error for com/sun/mail/smtp/SMTPTransport.class at com.google.appengine.runtime.Request.process-c326aa443556893f(Request.java) at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:210) at java.util.jar.JarVerifier.processEntry(JarVerifier.java:218) at java.util.jar.JarVerifier.update(JarVerifier.java:205) at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:428) at sun.misc.Resource.getBytes(Resource.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:273) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at javax.mail.Session.getService(Session.java:482) at javax.mail.Session.getTransport(Session.java:379) at javax.mail.Session.getTran...

Google App engine :Struts 2 : There is no Action mapped for namespace [/] and action name .

here is a code from my web.xml <welcome-file-list>     <welcome-file>index.jsp</welcome-file> </welcome-file-list> where index.jsp is redirected to a struts 2 action... But when I access http://localhost:8888 I received the error below: There is no Action mapped for namespace [/] and action name . -------------------------------------------------------------------- Solution:   Please edit your struts.xml and enter this action as last action( only after all actions as a default action). <action name="*">            <result type="redirectAction">              <param name="actionName">Home.action</param>            </result> </action> Now this must be the last action and it will work like a default action for your application.

Google App Engine: java.lang.RuntimeException: java.io.NotSerializableException

java.lang.RuntimeException: java.io.NotSerializableException: com.example.web.dto.SessionObjectDTO at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java:373) at com.google.apphosting.runtime.jetty.DatastoreSessionStore.createEntityForSession(DatastoreSessionStore.java:71) at com.google.apphosting.runtime.jetty.DatastoreSessionStore.saveSession(DatastoreSessionStore.java:93) at com.google.apphosting.runtime.jetty.SessionManager$AppEngineSession.save(SessionManager.java:164) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortb...

Hibernate with Struts 2 : Warning : javax.naming.NamingException

[13-09-2012 16:25:41] [WARN ] - Could not bind factory to JNDI javax.naming.NamingException: Name is not valid at org.apache.naming.NamingContext.bind(NamingContext.java:836) at org.apache.naming.NamingContext.rebind(NamingContext.java:208) at org.apache.naming.SelectorContext.rebind(SelectorContext.java:207) at javax.naming.InitialContext.rebind(InitialContext.java:412) at org.hibernate.util.NamingHelper.bind(NamingHelper.java:74) at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90) at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:306) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) at com.example.persistence.dao.impl.HibernateConnection.<init>(HibernateConnection.java:74) at com.example.persistence.dao.impl.HibernateConnection.<init>(HibernateConnection.java:68) at com.example.persistence.dao.impl.HibernateConnection.getInstance(HibernateConn...

Java IO Package: Convert byte[] data array to InputStream

If you want to make InputStream using data array of bytes like byte [], you can use following, Let's suppose your file data is copied in following byte array. byte []  newImageData contains all data which have been read from some file. InputStream inputStream = new ByteArrayInputStream(newImageData);

Google App engine: Image Scaling

You can use following app engine classes to resize images using Java. ------------------------------------------------------------------------- import com.google.appengine.api.images.Image; import com.google.appengine.api.images.ImagesService; import com.google.appengine.api.images.ImagesServiceFactory; import com.google.appengine.api.images.Transform; ---------------------------------------------------------------------- public  byte[]    resizedImage(byte[] oldImageData,int width,int height) throws IOException{ ImagesService imagesService = ImagesServiceFactory.getImagesService();         Image oldImage = ImagesServiceFactory.makeImage(oldImageData);         log.info(this.getClass()+":oldImage height:"+oldImage.getHeight()+" and width:"+oldImage.getWidth());         Transform resize = ImagesServiceFactory.makeResize(width,height);         Image newImage = imagesService...