URLs with a JSP-servlet architecture
I on of my webapp, there is a servlet that forward the request to a JSP. Please tell me why
<form name="theForm" method="GET" action="thPackage.TheClass">works while:
<form name="theForm" method="POST" action="thPackage.TheClass">dont. ???
Could it be because of the you have specified only <http-method>GET</http-method>
but not <http-method>POST</http-method> in the web deployment descriptor web.xml ?
Similar Messages
-
Using JNI with weblogic JSP & Servlets
I want to use native libraries from JSP and Servlets.
Everything works fine befire redeploying.
After redeploying there is an error:
Servlet failed with Exception
java.lang.UnsatisfiedLinkError: Native Library D:\WINNT\system32\XXXX.dll
already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at HelloWorld.<clinit>(HelloWorld.java:9)
at NativeTestServlet.doGet(NativeTestServlet.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:208)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:1127)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1529)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
Can anybody solve it?
Best wishes, Oleg.
Java will not allow us to reload any class that is dependent on a native
library. I suggest that any classes that depend on native code should be
put in the system classpath. If you change these classes or the native
library you will need to restart your server.
Sam
"Jennifer Yin" <[email protected]> wrote in message
news:[email protected]...
> Oleg-
>
> I'm having the exact same problem and was wondering how you fixed it. I
ran
> javah -jni <classname> to verify the correct method call and have also
verified
> that the library file is included in the system path.
>
> Any other suggestions?
>
> Jennifer
>
> Oleg wrote:
>
> > I want to use native libraries from JSP and Servlets.
> > Everything works fine befire redeploying.
> > After redeploying there is an error:
> >
> > Servlet failed with Exception
> > java.lang.UnsatisfiedLinkError: Native Library
D:\WINNT\system32\XXXX.dll
> > already loaded in another classloader
> > at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
> > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
> > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > at java.lang.System.loadLibrary(System.java:820)
> > at HelloWorld.<clinit>(HelloWorld.java:9)
> > at NativeTestServlet.doGet(NativeTestServlet.java:31)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > at
> >
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> > :208)
> > at
> >
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
> > ntext.java:1127)
> > at
> >
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
> > :1529)
> > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
> > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > >
> >
> > Can anybody solve it?
> >
> > Best wishes, Oleg.
>
-
URL Rewriting in JSP/Servlets
Enabling URL rewriting for session support where cookies are switched off, results in the URL being rewritten as myURL/$SessionID$a_very_long_string.
I believe that the /$SessionID$ is configurable on the server, does anyone know how ?
OAS version 4.0.8.1. patched with JSP support.Why is it placing a ';' before jsessionid ? Shouldn't
it be a '&'? The current result is a page not found.Your url looks ok to me. '&' seperates parameters. I'm using the Struts framework to handle those ugly details and it generates urls like this one for me:
http://localhost:8080/JspMini/main.jsp;jsessionid=C2C1C2D9C6106758047127038554C813
Looks like you have another problem...
HTH, Markus -
Using JSP/Servlet to write Word Document to BLOB
Hi
I need some help pls
When I use a normal class with a main method, it loads the word document into a blob and I can read this 100%.Stunning.
With a JSP/Servlet I cannot get the document out again. The "format" seems to be lost.
Any ideas,help greatly appreciated:
Here is the Main class that works:
package mypackage1;
import java.io.OutputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.Writer;
import java.sql.Connection;
import oracle.jdbc.*;
import oracle.jdbc.OracleResultSet;
import oracle.sql.BLOB;
import org.apache.log4j.Logger;
import Util_Connect.DataBase;
public class TestLOB
//static final Logger logger = Logger.getLogger("test");
public TestLOB()
public static void main(String args[])
TestLOB testLOB = new TestLOB();
testLOB.TestLOBInsert("c:\\my_data\\callcenterpilot.doc");
public void TestLOBInsert(String fileName)
Connection conn = getConnection("wizard");
BLOB blob = null;
try
conn.setAutoCommit(false);
String cmd = "SELECT * FROM so_cs.testlob WHERE docno = 1 FOR UPDATE";
PreparedStatement pstmt = conn.prepareStatement(cmd);
ResultSet rset = pstmt.executeQuery(cmd);
rset.next();
blob = ((OracleResultSet)rset).getBLOB(2);
File binaryFile = new File(fileName);
System.out.println("Document length = " + binaryFile.length());
FileInputStream instream = new FileInputStream(binaryFile);
OutputStream outstream = blob.getBinaryOutputStream();
int size = blob.getBufferSize();
byte[] buffer = new byte[size];
int length = -1;
while ((length = instream.read(buffer)) != -1)
outstream.write(buffer, 0, length);
instream.close();
outstream.close();
conn.commit();
closeConnection(conn);
catch (Exception ex)
System.out.println("Error =- > "+ex.toString());
private Connection getConnection(String dataBase)
Connection conn = null;
try
DriverManager.registerDriver(new OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@oraclu5:1600:dwz110","so_cs","so_cs");
catch (Exception ex)
System.out.println("Error getting conn"+ex.toString());
return conn;
private void closeConnection(Connection conn)
if (conn != null)
try
conn.close();
catch (Exception se)
System.out.println("Error closing connection in get last imei"+se.toString());
Works fine:
Here is the display servlet: Works when main class inserts file
package mypackage1;
import java.io.InputStream;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.Writer;
import java.sql.Connection;
import oracle.jdbc.*;
import oracle.jdbc.OracleResultSet;
import oracle.sql.BLOB;
import org.apache.log4j.Logger;
import Util_Connect.DataBase;
public class DisplayLOB extends HttpServlet
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
static final Logger logger = Logger.getLogger(DisplayLOB.class);
public void init(ServletConfig config) throws ServletException
super.init(config);
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
//response.setContentType(CONTENT_TYPE);
//PrintWriter out = response.getWriter();
Connection conn = null;
PreparedStatement pstmt = null;
try
conn = getConnection("wizard");
//out.println("<html>");
//out.println("<head><title>DisplayLOB</title></head>");
//out.println("<body>");
//out.println("<p>The servlet has received a POST. This is the reply.</p>");
InputStream is=null;
oracle.sql.BLOB blob=null;
response.setContentType("application/msword");
//response.setContentType("audio/mpeg");
OutputStream os = response.getOutputStream();
String term = "1";
String query = "SELECT docdetail FROM testlob WHERE docno = 1";
pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery();
while (rs.next())
blob=((OracleResultSet)rs).getBLOB(1);
is=blob.getBinaryStream();
int pos=0;
int length=0;
byte[] b = new byte[blob.getChunkSize()];
while((length=is.read(b))!= -1)
pos+=length;
os.write(b);
}//try
catch (Exception se)
se.printStackTrace();
finally
try
pstmt.close();
catch (Exception ex)
System.out.println("Error closing pstmt "+ex.toString());
//out.println("</body></html>");
//out.close();
private Connection getConnection(String dataBase)
Connection conn = null;
try
conn = DataBase.getPoolConnection(dataBase);
catch (Exception se)
logger.fatal("Error getting connection: ",se);
return conn;
private void closeConnection(Connection conn)
if (conn != null)
try
conn.close();
catch (Exception se)
logger.error("Error closing connection in get last imei",se);
Here is JSP/Servlet
<%@ page import="org.apache.log4j.*"%>
<%@ page contentType="text/html; charset=ISO-8859-1" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>untitled</title>
<title>Wizard SMS Interface</title>
<link rel='stylesheet' type='text/css' href='main1.css'>
<script language='JavaScript' src='copyright.js'></script>
</head>
<pre>
<%
//HTTP 1.1
response.setHeader("Cache-Control","no-cache");
//HTTP 1.0
response.setHeader("Pragma","no-cache");
//prevents caching at the proxy server
response.setDateHeader ("Expires", 0);
Logger logger = Logger.getLogger("co.za.mtn.wizard.administration.admin01.jsp");
%>
</pre>
<body>
<FORM ACTION="/WizardAdministration/uploadfile"
METHOD="POST"
ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="example">
<INPUT TYPE="SUBMIT" NAME="button" VALUE="Upload">
</FORM>
</body>
</html>
<font> <b>Copyright ©
<script>
var LMDate = new Date( document.lastModified );
year = LMDate.getYear();
document.write(display(year));
</script>
Mobile Telephone Networks.
<p align="left"><i><b><font face="Georgia, Times New Roman, Times, serif" size="1"></font></b></i></p>
package co.za.mtn.wizard.admin;
import java.io.InputStream;
import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.Writer;
import java.sql.Connection;
import oracle.jdbc.OracleResultSet;
import oracle.sql.BLOB;
import org.apache.log4j.Logger;
import Util_Connect.DataBase;
public class UploadFile extends HttpServlet
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
//static final Logger logger = Logger.getLogger(UploadFile.class);
public void init(ServletConfig config) throws ServletException
super.init(config);
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
String headerName = null;
Enumeration en = request.getHeaderNames();
try
while ( en.hasMoreElements() )
Object ob = en.nextElement();
headerName = ob.toString();
System.out.println("Value for headerNAme is >"+headerName+"<");
String aaa = request.getHeader(headerName);
System.out.println("Value for aa is >"+aaa+"<");
catch (Exception ex)
System.out.println("Error in extracting request headers"+ex.toString());
Connection conn = getConnection("wizard");
BLOB blob = null;
try
conn.setAutoCommit(false);
String cmd = "SELECT * FROM so_cs.testlob WHERE docno = 1 FOR UPDATE";
PreparedStatement pstmt = conn.prepareStatement(cmd);
ResultSet rset = pstmt.executeQuery(cmd);
rset.next();
blob = ((OracleResultSet)rset).getBLOB(2);
//File binaryFile = new File("h:\\callcenterpilot.doc");
//System.out.println("Document length = " + binaryFile.length());
//FileInputStream instream = new FileInputStream(binaryFile);
response.setHeader("Content-Type","application/vnd.ms-word");
String contentType = request.getContentType();
System.out.println("Content type received in servlet is >"+contentType+"<");
ServletInputStream instream = request.getInputStream();
OutputStream outstream = blob.getBinaryOutputStream();
int size = blob.getBufferSize();
byte[] buffer = new byte[size];
int length = -1;
while ((length = instream.read(buffer)) != -1)
outstream.write(buffer, 0, length);
instream.close();
outstream.close();
conn.commit();
closeConnection(conn);
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
catch (Exception ex)
System.out.println("Error =- > "+ex.toString());
//out.println("</body></html>");
//out.close();
private Connection getConnection(String dataBase)
Connection conn = null;
try
conn = DataBase.getPoolConnection(dataBase);
catch (Exception se)
System.err.println("Error getting connection: "+se.toString());
return conn;
private void closeConnection(Connection conn)
if (conn != null)
try
conn.close();
catch (Exception se)
System.err.println("Error closing connection in get last imei"+se.toString());
This is what the display servlet is showing when the JSP/Servlet insert the document
-----------------------------7d31422224030e
Content-Disposition: form-data; name="example"; filename="H:\(your name) Skills Matrix.doc"
Content-Type: application/msword
�� ࡱ � > �� � � ���� � � ���������������������
Tks
Andrehello,
there are multiple documents out there, describing the oracle reports server setup. try doc.oracle.com for documentation.
also it is part of the online-documentation.
you need to install 9iAS enterprise edition. the server is pre-configured and will listen to the url http://yourserver/dev60cgi/rwcgi60.exe
passing only this url you will get a help-screen, describing the syntax.
regards,
the oracle reports team -
Can two urls map to same servlet in web.xml
Hello All,
I need to map the two urls in my web application with the same servlet.
I tried as follows:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>fileredirectsolution.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/testservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/filerepository/*</url-pattern>
</servlet-mapping>
</web-app>
However, I am getting an error while accessing the TestServlet.
When I remove the second servlet-mapping tag..it is working fine.
How can I map the two urls with the same servlet.
Thanks
Saikrishnait is not ur requirement. but
i think it will help 2 u.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; version="2.4"; xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>fileredirectsolution.TestServlet<;/servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>*.xxx</url-pattern>
</servlet-mapping>
</web-app>
if ur configure web.xml like above.
any request that ends with .xxx call the TestServlet.
ex:
1)http://ip:port/contextpath/abc.xxx
2) http://ip:port/contextpath/xyz.xxx
here both urls calls the same servlet.
-lakshman.
save a life by sending information.
www.help2patients.wordpress.com. -
Clean URLs with JSP/Servlet
Hello. I've found some information on how to setup clean URLs for php, but none for JSP/servlet. Hopefully some one can help. Here's what I mean by 'clean URL':
http://mydomain/employee.jsp?employeeID=1232
becomes
http://mydomain/employee/1232
And, in that second example, the container would dispatch all requests for /employee* to some JSP/servlet. I don't care if the 'clean URL' has to have an extension or not (e.g. mydomain/employee.jsp/1232) although I would prefer to also remove the JSP extension.
Additionally (if some one has experience with this need): how do I then access the final part of the URL supplied by the client? In other words, how would 1232 be available to the destination JSP/servlet? Does the container convert it into a parameter, i.e.:
1) client sends request for "mydomain/employee/1232"
2) container delegates request to "mydomain/employee.jsp?1232"
Finally (sorry about the length), I don't have access to top-level config files for this site (it's personal use, although I'm pretty familiar with java APIs from my job), so, ideally, I'd like a .htaccess level solution, where the container can just re-route to a JSP.
If any one has some suggestions, I'd GREATLY appreciate it. Thanks for your time. Take care....Just occurred to me- this hosting company is NOT using Tomcat. They use resin.
Thanks. -
Little help with FORM POST data not in UTF-8 (JSP/servlet)
Hello,
I am trying to update a MySQL database record with UTF-8 characters with my JSP application.
1) I have MySQL correctly configured to handle UTF8 and have tested insert/update/select with UTF8 characters
2) I have an "editRecord.jsp" page. At the top of the page, I specify:
<% request.setCharacterEncoding("UTF-8"); %>
3) I have an input form which is specified in that page which follows:
<form action="<c:url value="/updateRecord.jsp"/>"
name="updatetForm" method="post"
ACCEPT-CHARSET="UTF-8"
enctype="multipart/form-data">
4) I have a servlet filter that takes every HttpServletRequest and modifies that object in
doFilter(...){
request.setCharacterEncoding("UTF-8");
chain.doFilter(...)
5) In updateRecord.jsp, I fill a JavaBean with the form data. Here's an example of the form input:
name = Company
Comments=Here's some unicode text: "يني إن بلاده م
6) When I put a breakpoint and inspect the contents of the UpdateBean after posting the form, running the request through the filter, I see
I see:
name = Company
Comments=Here's some unicode text: „������...."
Where could I possibly be missing something to force UTF8 encoding of these values?If you have to use the following code to fix the encoding:
String value = new String(item.getString().getBytes("ISO-8859-1"), "UTF-8"); ...
then you are just putting a band aid on something that is broken somewhere else (since this code creates a byte array in 8859-1 and then creates a string from that byte array, but assuming that the array is encoded in UTF-8). That will only work if the string you start out with is mangled.
In many cases such a fix will actually "work" (in the sense that you may end up with something that is correctly encoded in the end), but you run the risk of breaking if the source of the original corruption is removed. -
Metadata problem with JSP/servlet application
Hi,
I developed a JSP/servlet test application that makes
use of kodo 2.2.3 STANDARD EDITION for its persitence.
I successfully compile and annotate the application.
I am also able to successfully generate the db
schema with schematool.
Unfortunately, when I run the application using
Resin 2.0.2, Kodo is unable to initialize properly.
Initially it was not able to find "system.prefs" file.
I fixed that by putting "system.prefs" in WEB-INF\classes.
Unfortunately, Kodo is still unable to initialize and
gives the following message:
The system could not initialize; the following registered
persistent types are missing metadata
or have not been enhanced:
[class com.dpov.purchaseorder.PurchaseOrder,
class com.dpov.catalog.Product,
class com.dpov.uidgen.counter.Counter,
class com.dpov.catalog.dao.jdo.CategoryHierarchyEntry,
class com.dpov.catalog.dao.jdo.CategoryHierarchyDAO,
class com.dpov.pricelist.PriceInfo,
class com.dpov.pricelist.PriceList,
class com.dpov.catalog.Category,
class com.dpov.lineitem.LineItem,
class com.dpov.dealer.Dealer,
class com.dpov.user.User,
class com.dpov.customer.Customer].
I use "system.jdo" to describe metadata for the enhancer.
I tried to put it both in WEB-INF\lib and WEB-INF\classes but
it still fails.
Please note that:
1) my classpath variable is not set
2) my application's class file are in WEB-INF\classes
3) kodo jars are in WEB-INF\lib
4) mysql jdbc driver is in WEB-INF\lib
5) system.prefs is in WEB-INF\classes
6) system.jdo is in WEB-INF\classes
Thanks in advance,
Andrea
system.prefs
<?xml version="1.0"?>
<prefs>
<kodo-license-key>VALID KEY!</kodo-license-key>
<db>
<username></username>
<password></password>
<url>jdbc:mysql://localhost/kodo</url>
<driver>org.gjt.mm.mysql.Driver</driver>
<dictionary>
com.solarmetric.kodo.impl.jdbc.schema.dict.MySQLDictionary
</dictionary>
<warn-on-persistent-type-failure>true</warn-on-persistent-type-failure>
</db>
<tm-location>java:/TransactionManager</tm-location>
</prefs>
system.jdo
<?xml version="1.0"?>
<jdo>
<package name="com.dpov.uidgen.counter">
<class name="Counter" />
</package>
<package name="com.dpov.customer">
<class name="Customer" />
</package>
<package name="com.dpov.user">
<class name="User" />
</package>
<package name="com.dpov.dealer">
<class name="Dealer" />
</package>
<package name="com.dpov.catalog">
<class name="Product" />
</package>
<package name="com.dpov.catalog">
<class name="Category" />
</package>
<package name="com.dpov.catalog.dao.jdo">
<class name="CategoryHierarchyDAO">
<field name="categories">
<collection element-type="com.dpov.catalog.Category"/>
</field>
</class>
</package>
<package name="com.dpov.catalog.dao.jdo">
<class name="CategoryHierarchyEntry">
<field name="attributeValues">
<map key-type="String" value-type="CategoryHierarchyEntry"/>
</field>
<field name="productIds">
<collection element-type="String"/>
</field>
</class>
</package>
<package name="com.dpov.lineitem">
<class name="LineItem" />
</package>
<package name="com.dpov.purchaseorder">
<class name="PurchaseOrder">
<field name="lineItems">
<collection element-type="com.dpov.lineitem.LineItem"/>
</field>
</class>
</package>
<package name="com.dpov.pricelist">
<class name="PriceInfo" />
</package>
<package name="com.dpov.pricelist">
<class name="PriceList">
<field name="priceInfos">
<map key-type="String" value-type="PriceInfo"/>
</field>
</class>
</package>
</jdo>Hi,
I fixed my problem by setting the system wide variable (WindowsXP)
CLASSPATH to r:\\dealershop\\WEB-INF\\classes.
Thanks,
Andrea
andrea costantinis wrote:
Hi,
I developed a JSP/servlet test application that makes
use of kodo 2.2.3 STANDARD EDITION for its persitence.
I successfully compile and annotate the application.
I am also able to successfully generate the db
schema with schematool.
Unfortunately, when I run the application using
Resin 2.0.2, Kodo is unable to initialize properly.
Initially it was not able to find \"system.prefs\" file.
I fixed that by putting \"system.prefs\" in WEB-INF\\classes.
Unfortunately, Kodo is still unable to initialize and
gives the following message:
The system could not initialize; the following registered
persistent types are missing metadata
or have not been enhanced:
[class com.dpov.purchaseorder.PurchaseOrder,
class com.dpov.catalog.Product,
class com.dpov.uidgen.counter.Counter,
class com.dpov.catalog.dao.jdo.CategoryHierarchyEntry,
class com.dpov.catalog.dao.jdo.CategoryHierarchyDAO,
class com.dpov.pricelist.PriceInfo,
class com.dpov.pricelist.PriceList,
class com.dpov.catalog.Category,
class com.dpov.lineitem.LineItem,
class com.dpov.dealer.Dealer,
class com.dpov.user.User,
class com.dpov.customer.Customer].
I use \"system.jdo\" to describe metadata for the enhancer.
I tried to put it both in WEB-INF\\lib and WEB-INF\\classes but
it still fails.
Please note that:
1) my classpath variable is not set
2) my application\'s class file are in WEB-INF\\classes
3) kodo jars are in WEB-INF\\lib
4) mysql jdbc driver is in WEB-INF\\lib
5) system.prefs is in WEB-INF\\classes
6) system.jdo is in WEB-INF\\classes
Thanks in advance,
Andrea -
Problems with file uploading servlet, the form action doesnt capture url
Hi, i have one problem. I am working on a project , i have created a servlet that takes uploaded files and processses them and links them back to user to download. The servlet works perfectly from my computer, I am using apache-tomcat-6.0.16 and java 1.6 , I have two forms called encrypt.html and decrypt.html, I will post both of them, now the problem is when somebody access it on the internet while i am running apache, they get a connection was reset on a firefox browser and same stuff on Internet Explorer.
i have checked my server logs and saw nothing unusual there, So please if you can help me, it is my project.
I am pasting html file and error message that other users where getting remotely.
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>Stego Form</title>
<link rel='STYLESHEET' type='text/css' href='encrypt.css'>
</head>
<body>
<center>
<form name='encrypt' enctype='multipart/form-data' method='POST' action='http://localhost:8080/examples/temp2
' accept-charset='UTF-8'>
<input type='hidden' name='sfm_form_submitted' value='yes'>
</input>
<input type='hidden' name='eord' value='e'>
<select name='encryption' size='1'>
<option value='Select an encryption' selected>
Select an encryption
</option>
<option value='DES'>
DES
</option>
<option value='Tripple DES'>
Tripple DES
</option>
</select>
<input type='file' name='overt' size='20'>
<input type='file' name='covert' size='20'>
<input type='submit' name='submit' value='Submit'>
</form>
</center>
</body>
</html>so it works for me even if i access the page with my ip , but for others it doesnt work,
now the user got this xhtml page that i will show, i cant find attach button so i am pasting here.
here is the servlet coding
import java.io.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class temp2 extends HttpServlet
FileInputStream fin;
String filenames[] = new String[2],fieldname,fieldval;
String keyfile,IVfile;
String names[] = new String[2];
public temp2()
super();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
doPost(request, response);
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
String eord="";
List lst = null;
boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
if (!isMultiPart) // check whether the post request is actually multipart
System.out.println("ERROR NOT MULTIPART");
System.exit(0);
DiskFileItemFactory fif = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(fif);
sfu.setSizeMax(10000000);
try { lst = sfu.parseRequest(request); }
catch (FileUploadException ex)
{ System.out.println("ERROR IN PARSING FILES" + ex); System.exit(0); }
if(lst.isEmpty()) // check whether request is empty
System.out.println("ERROR LIST SIZE NOT GOOD : " + lst.size());
System.exit(0);
Iterator x = lst.iterator();
int i = 0;
FileItem f = (FileItem)x.next();
f = (FileItem)x.next();
System.out.println(f.getFieldName());
if(f.getFieldName().equalsIgnoreCase("eord")) // check hidden field to know the case : encrypt or decrypt
eord = f.getString();
System.out.println(f.getString());
else // if it is not first field exit
System.out.println("Invalid FORM");
System.exit(0);
f = (FileItem)x.next(); // next field
if(f.getFieldName().equalsIgnoreCase("encryption")) // type of encryption des / tdes
fieldname = f.getFieldName();
fieldval = f.getString();
System.out.println(f.getString());
if(eord.equalsIgnoreCase("e")) // if it is encryption form only file required
while(x.hasNext())
f = (FileItem)x.next();
if(!f.isFormField())
int check = f.getName().lastIndexOf(File.separator);
System.out.println(File.separator);
if(check==-1)
System.out.println(f.getName());
System.out.println("Unsupported browser : " + check);
System.exit(0);
File ff = new File("e:\\apache\\webapps\\temp\\"+f.getName().substring(check));
names[i] = ff.getName(); // original file names
try
f.write(ff);
filenames[i] = ff.getAbsolutePath();
// renamed
ff.deleteOnExit();
}catch(Exception e) {System.out.println("Error writing file"+ ff.getAbsolutePath()); System.exit(0);}
i++;
try { System.in.read(); } catch(Exception e) {}
}// endwhile
if(fieldval.equalsIgnoreCase("DES"))
System.out.println("DES 1"+filenames[1]);
javades o = new javades(filenames[1]); // the file to be encrypted
filenames[1] = "e:\\apache\\webapps\\temp\\files\\" + names[1];
System.out.println("should be original" + filenames[1]);
else if(fieldval.equalsIgnoreCase("Tripple DES"))
javatdes o = new javatdes(filenames[1]);
filenames[1] = "e:\\apache\\webapps\\temp\\files\\" + names[1];
System.out.println(filenames[1]);
System.out.println("Calling stego");
filenames[0] = "e:\\apache\\webapps\\temp\\" + names[0];
System.out.println("file 1 "+ filenames[0]);
System.out.println("file 2"+ filenames[1]);
try { System.in.read(); } catch(Exception e) {}
stego s = new stego(filenames[0],filenames[1]);
System.out.println("mainext " + s.mainext);
// encryption done, and new files are loaded, now lets hide
if(s.mainext.equalsIgnoreCase("wav"))
s.encodewav();
System.out.println("Encoded wave");
else if(s.mainext.equalsIgnoreCase("bmp"))
System.out.println("Encoded bmp");
s.encodebmp();
System.out.println("done !");
PrintWriter pr = response.getWriter();
pr.println("Greetings , Your work is done and saved, now download the following files");
pr.println("The secret key file is needed for getting back your hidden file, so download that too");
pr.write("<a href=\"/temp/files/IV.txt\">click here</a>");
pr.write("<br/><a href=\"/temp/files/key.txt\">click here</a>");
pr.write("<br/><a href=\"/temp/files/"+names[0]+"\">click here</a>");
return;
// if it is decryption case
else if(eord.equalsIgnoreCase("d"))
while(x.hasNext())
f = (FileItem)x.next();
if(!f.isFormField())
int check = f.getName().lastIndexOf(File.separator);
System.out.println(File.separator);
if(check==-1)
System.out.println(f.getName());
System.out.println("Unsupported browser : " + check);
System.exit(0);
File ff = new File("e:\\apache\\webapps\\temp\\"+f.getName().substring(check));
// else if ladder to store paths of stegofile keyfile and IVfile
if(f.getFieldName().equalsIgnoreCase("stegofile"))
filenames[0] = ff.getAbsolutePath();
else if(f.getFieldName().equalsIgnoreCase("keyfile"))
keyfile = ff.getAbsolutePath();
else if(f.getFieldName().equalsIgnoreCase("IVfile"))
IVfile = ff.getAbsolutePath();
try
f.write(ff); // writes whole file at once
}catch(Exception e) {System.out.println("Error writing file"); System.exit(0);}
}// endwhile
System.out.println("Calling stego");
System.out.println("file 1 "+ filenames[0]);
stego s = new stego(filenames[0]);
System.out.println("mainext " + s.mainext);
if(s.mainext.equalsIgnoreCase("wav"))
s.decodewav();
System.out.println("Encoded wave");
else if(s.mainext.equalsIgnoreCase("bmp"))
s.decodebmp();
System.out.println("Encoded bmp");
System.out.println("done !");
////// hidden file has been retrieved , now lets decrypt it
System.out.println("ext " + s.ext);
filenames[0] = "e:\\apache\\webapps\\temp\\"+s.filename;
System.out.println(filenames[0]);
System.out.println(keyfile);
System.out.println(IVfile);
if(fieldval.equalsIgnoreCase("DES"))
javades o = new javades(filenames[0],keyfile,IVfile); // the file to be encrypted
filenames[0] = "e:\\apache\\webapps\\temp\\" + ( new File(filenames[0]).getName());
System.out.println("should be original" + filenames[0]);
else if(fieldval.equalsIgnoreCase("Tripple DES"))
javatdes o = new javatdes(filenames[0],keyfile,IVfile);
filenames[0] = "e:\\apache\\webapps\\temp\\" + ( new File(filenames[0]).getName());
System.out.println(filenames[0]);
PrintWriter pr = response.getWriter();
pr.write("Greetings, you have successfully retrieved your hidden file, now download it from here <br>");
pr.write("<a href=\"http://localhost:8080/temp/files/" + (new File(filenames[0]).getName())+"\">Click here</a>");
}and here is the xhtml file the user receives, whe he clicks the submit button,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % netErrorDTD
SYSTEM "chrome://global/locale/netError.dtd">
%netErrorDTD;
<!ENTITY loadError.label "Problem loading page">
<!ENTITY retry.label "Try Again">
<!-- Specific error messages -->
<!ENTITY connectionFailure.title "Unable to connect">
<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
<!ENTITY deniedPortAccess.title "This address is restricted">
<!ENTITY deniedPortAccess.longDesc "">
<!ENTITY dnsNotFound.title "Server not found">
<!ENTITY dnsNotFound.longDesc "
<ul>
<li>Check the address for typing errors such as
<strong>ww</strong>.example.com instead of
<strong>www</strong>.example.com</li>
<li>If you are unable to load any pages, check your computer's network
connection.</li>
<li>If your computer or network is protected by a firewall or proxy, make sure
that &brandShortName; is permitted to access the Web.</li>
</ul>
">
<!ENTITY fileNotFound.title "File not found">
<!ENTITY fileNotFound.longDesc "
<ul>
<li>Check the file name for capitalization or other typing errors.</li>
<li>Check to see if the file was moved, renamed or deleted.</li>
</ul>
">
<!ENTITY generic.title "Oops.">
<!ENTITY generic.longDesc "
<p>&brandShortName; can't load this page for some reason.</p>
">
<!ENTITY malformedURI.title "The address isn't valid">
<!ENTITY malformedURI.longDesc "
<ul>
<li>Web addresses are usually written like
<strong>http://www.example.com/</strong></li>
<li>Make sure that you're using forward slashes (i.e.
<strong>/</strong>).</li>
</ul>
">
<!ENTITY netInterrupt.title "The connection was interrupted">
<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
<!ENTITY netOffline.title "Offline mode">
<!ENTITY netOffline.longDesc "
<ul>
<li>Uncheck "Work Offline" in the File menu, then try again.</li>
</ul>
">
<!ENTITY netReset.title "The connection was reset">
<!ENTITY netReset.longDesc "&sharedLongDesc;">
<!ENTITY netTimeout.title "The connection has timed out">
<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
<!ENTITY protocolNotFound.title "The address wasn't understood">
<!ENTITY protocolNotFound.longDesc "
<ul>
<li>You might need to install other software to open this address.</li>
</ul>
">
<!ENTITY proxyConnectFailure.title "The proxy server is refusing connections">
<!ENTITY proxyConnectFailure.longDesc "
<ul>
<li>Check the proxy settings to make sure that they are correct.</li>
<li>Contact your network administrator to make sure the proxy server is
working.</li>
</ul>
">
<!ENTITY proxyResolveFailure.title "Unable to find the proxy server">
<!ENTITY proxyResolveFailure.longDesc "
<ul>
<li>Check the proxy settings to make sure that they are correct.</li>
<li>Check to make sure your computer has a working network connection.</li>
<li>If your computer or network is protected by a firewall or proxy, make sure
that &brandShortName; is permitted to access the Web.</li>
</ul>
">
<!ENTITY redirectLoop.title "The page isn't redirecting properly">
<!ENTITY redirectLoop.longDesc "
<ul>
<li>This problem can sometimes be caused by disabling or refusing to accept
cookies.</li>
</ul>
">
<!ENTITY unknownSocketType.title "Unexpected response from server">
<!ENTITY unknownSocketType.longDesc "
<ul>
<li>Check to make sure your system has the Personal Security Manager
installed.</li>
<li>This might be due to a non-standard configuration on the server.</li>
</ul>
">
<!ENTITY sharedLongDesc "
<ul>
<li>The site could be temporarily unavailable or too busy. Try again in a few
moments.</li>
<li>If you are unable to load any pages, check your computer's network
connection.</li>
<li>If your computer or network is protected by a firewall or proxy, make sure
that &brandShortName; is permitted to access the Web.</li>
</ul>
">
<!ENTITY % globalDTD
SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
]>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
- The Original Code is mozilla.org code.
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 1998
- the Initial Developer. All Rights Reserved.
- Contributor(s):
- Adam Lock <[email protected]>
- William R. Price <[email protected]>
- Henrik Skupin <[email protected]>
- Jeff Walden <[email protected]>
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK ***** -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Problem loading page</title>
<link rel="stylesheet" href="temp2_files/netError.css" type="text/css" media="all"/>
<!-- XXX this needs to be themeable -->
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAICSURBVHjaYvz//z8DJQAggJhwiDPvnmlzc2aR0O+JGezt+AwACCCsBhxfYhn59N41FWtXIxZOLu70niRGXVwGAAQQNgNYHj96O8HaWYdJW5ubwd4/mI2Ng7sblwEAAYRhwMm1URk/vn4SUNWVYGD8+YZBXZOZm5OLzRjoCmNsBgAEEKoBN82Y7l851GLrqMjM8Oc7A8O/3wwMP54wuAQFCXNycUzGZgBAAKEYcOaKZO2/f//5FbUVgBrfMoRVcgHpNwyKGjKMXDwCan0prFboBgAEELIBzDcvXyy2cVZhYPj9GWj7H4jo/38MDJ9OMDj7O/KzsjH3oxsAEEBwA/bNNipiZf7FI6cqwcDw8x2qqp8fGORUpVn4BEXlgGHhhCwFEEAwA9gfP3hdZ+Oizcjw+wvCdjgAuuLrFQbXIH9hTm7uqcgyAAEENuD4ctcebm5mbikFYRTbV7V/Q6j88Z5BSuY7q4CQgAjQFR4wYYAAAhtw89L5ZFsnRaDtn4CW/YXrAQcisit+PGVwDgrnZ2NnnwATBQggpsNLvGYLCAmxi8tLARWg+h3FBVBXSEj/ZZWQkRcCuiIQJAQQQCyvnj5KMDTkZ2JgYmRg4FchnHv+vmEwttLmeXT3VjKQtx4ggFgk5TXebV63UfT3ijOMxOZAVlZWdiB1EMQGCCBGSrMzQIABAFR3kRM3KggZAAAAAElFTkSuQmCC"/>
<script type="application/x-javascript"><![CDATA[
// Error url MUST be formatted like this:
// moz-neterror:page?e=error&u=url&d=desc
// Note that this file uses document.documentURI to get
// the URL (with the format from above). This is because
// document.location.href gets the current URI off the docshell,
// which is the URL displayed in the location bar, i.e.
// the URI that the user attempted to load.
function getErrorCode()
var url = document.documentURI;
var error = url.search(/e\=/);
var duffUrl = url.search(/\&u\=/);
return decodeURIComponent(url.slice(error + 2, duffUrl));
function getDescription()
var url = document.documentURI;
var desc = url.search(/d\=/);
// desc == -1 if not found; if so, return an empty string
// instead of what would turn out to be portions of the URI
if (desc == -1) return "";
return decodeURIComponent(url.slice(desc + 2));
function retryThis()
// Session history has the URL of the page that failed
// to load, not the one of the error page. So, just call
// reload(), which will also repost POST data correctly.
try {
location.reload();
} catch (e) {
// We probably tried to reload a URI that caused an exception to
// occur; e.g. a non-existent file.
function initPage()
var err = getErrorCode();
// if it's an unknown error or there's no title or description
// defined, get the generic message
var errTitle = document.getElementById("et_" + err);
var errDesc = document.getElementById("ed_" + err);
if (!errTitle || !errDesc)
errTitle = document.getElementById("et_generic");
errDesc = document.getElementById("ed_generic");
var title = document.getElementById("errorTitleText");
if (title)
title.parentNode.replaceChild(errTitle, title);
// change id to the replaced child's id so styling works
errTitle.id = "errorTitleText";
var sd = document.getElementById("errorShortDescText");
if (sd)
sd.textContent = getDescription();
var ld = document.getElementById("errorLongDesc");
if (ld)
ld.parentNode.replaceChild(errDesc, ld);
// change id to the replaced child's id so styling works
errDesc.id = "errorLongDesc";
// remove undisplayed errors to avoid bug 39098
var errContainer = document.getElementById("errorContainer");
errContainer.parentNode.removeChild(errContainer);
]]></script>
</head>
<body dir="ltr">
<!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) -->
<!-- PAGE CONTAINER (for styling purposes only) -->
<div id="errorPageContainer">
<!-- Error Title -->
<div id="errorTitle">
<h1 id="errorTitleText">The connection was reset</h1>
</div>
<!-- LONG CONTENT (the section most likely to require scrolling) -->
<div id="errorLongContent">
<!-- Short Description -->
<div id="errorShortDesc">
<p id="errorShortDescText">The connection to the server was reset while the page was loading.</p>
</div>
<!-- Long Description (Note: See netError.dtd for used XHTML tags) -->
<div id="errorLongDesc">
<ul>
<li>The site could be temporarily unavailable or too busy. Try again in a few
moments.</li>
<li>If you are unable to load any pages, check your computer's network
connection.</li>
<li>If your computer or network is protected by a firewall or proxy, make sure
that Firefox is permitted to access the Web.</li>
</ul>
</div>
</div>
<!-- Retry Button -->
<xul:button xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="errorTryAgain" label="Try Again" oncommand="retryThis();"/>
</div>
<!--
- Note: It is important to run the script this way, instead of using
- an onload handler. This is because error pages are loaded as
- LOAD_BACKGROUND, which means that onload handlers will not be executed.
-->
<script type="application/x-javascript">initPage();</script>
</body>
</html>thank you for your prompt reply in advance,
Regards,
Mihir PandyaHi, thank you for your replies, I found out few things about my servlet, and its portability
and i have few questions, although i marked this topic as answered i guess its ok to post
I am using javax.servlet.context.tempdir to store my files in that servletcontext temporary directory. But i dont know how to give hyperlink
of the modified files to the user for them to download the modified files.
What i am using to get the tempdir i will paste
File baseurl = (File)this.getServletContext().getAttribute("javax.servlet.context.tempdir");
System.out.println(baseurl);
baseurl = new File(baseurl.getAbsolutePath()+File.separator+"temp"+File.separator+"files");
baseurl.mkdirs();so i am storing my files in that temp/files folder and the servlet processes them and modifies them, then how to present them as
links to the user for download ?
and as the servlet is multithreaded by nature, if my servlet gets 2 different requests with same file names, i guess one of them will be overwritten
And i want to create unique directory for each request made to the servlet , so file names dont clash.
one another thing is that i want my servlet to be executed by my <form action> only, I dont want the user to simply type url and trigger the servlet
Reply A.S.A.P. please..
Thanks and regards,
Mihir Pandya -
Hi,
What is that you are trying to accomplish ? Is it deployment or
trying to develop applications ? Are you getting any errors ? If so,
please post them to help you. I think the documentation is the best place
for you to begin with.
Regards & Happy New Year
Raj
Arif Khan wrote:
New To Iplanet app server.Can some one help me getting started by
delpoying and calling one of each of these:JSP,Servlet,EJB.Tried with
iplanet docs..didnt quite get it. thanx
Try our New Web Based Forum at http://softwareforum.sun.com
Includes Access to our Product Knowledge Base! -
How do I get the URL of a jsp page which calls a servlet?
I have a jsp page which will lead to a servlet, I can get the URL of the servlet, but how do I get the URL of the jsp page which lead to the Servlet in the servlet?
You could try doing:
request.getHeader("Referer"); -
Deploy JSP/Servlet along with EJB
how could deploy EJB with JSP/Servlet?.
First i have
package project.account
1.HomeInterface class
2.RemoteInterface class
3.Bean class
4.Client class
I deployed the above bean in J2EE using Deploytool GUI.
run the client like this
java -classpath %CLASSPATH%;personDepClientClient.jar project.account.Client
it displays result at prompt
what i am asking is
now i wrote JSP file which is kept also this project.account package
i used the JSP file as client for the that bean.
it is Show.jsp file(client file)
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.rmi.PortableRemoteObject" %>
<%
double balance;
try
Context initi = new InitialContext();
Object ref = initi.lookup("AccountHome");
AccountHome home = (AccountHome)javax.rmi.PortableRemoteObject.narrow(ref,AccountHome.class);
AccountRemote vijay = home.create("200","vijay",0.00);
vijay.credit(2000.0);
vijay.debit(600);
balance = vijay.getBalance();
%>
<tr>
<td width="38%" height="31">
</td>
<td width="62%" height="31">
<div align="center"><%= balance %></div>
</td>
</tr>
<%
AccountRemote kumar = home.create("199", "kumar", 0.00);
kumar.credit(14000);
AccountRemote xyz = home.findByPrimaryKey("199");
xyz.debit(200.00);
balance = xyz.getBalance();
%>
<tr>
<td width="38%" height="31">
</td>
<td width="62%" height="31">
<div align="center"><%= balance %></div>
</td>
</tr>
<%}
catch(Exception ex)
System.err.println("Caught an exception." );
ex.printStackTrace();
%>
after deployed this JSP file and executed as
http://localhost:8000/project/person/Show.jsp
it displays error as follows
unable to find AccountRemote,AccountHome,findByPrimaryKey
How could deploy JSP along with EJB?.
pls any one tells steps to be followed while Deploying EJB/JSP.
with thanks
vijayHmmmm...
ssniazi does nothing but ask for contact information or recommend Oracle products.
Based on this I consider it likely that this person is some sort of sales representative either directly or indirectly associated with Oracle.
I personally wouldn't provide any contact information to this person. Nor would I accept any advice until this person starts to actually provide some solutions or at least correctly reveals any financial interests that they might have. -
URL mapping between jsp and servlet
recently, I try glassfish, and I get surprised, for example My application name is HelloWorld if I have jsp action to servlet I can't use action ="servlet/myservlet1" I have to use
action="HelloWorld/myservlet " if I put my servlet2 under test folder I can't call this servlet by servlet/test.servlet2, I have to use HelloWorld/servlet2,. I realize that is not glassfish problem , I just wonder is any one could give more expiration on servlet mapping ??
Thank you !Depends on several factors. In which context and how exactly are you specifying the URL? In client context, the leading "/" brings you to domain root. In servlet context, the leading "/" brings you to context root. The HTML <a> element is relative to client context and JSTL <c:url> is relative to servlet context. That kind of things.
-
Determine an URL from an identifier (servlet name, jsp name or something)
I would like to write URLs in my JSP files, but I don't want to hardcode them. Is any way to use the datas from the web.xml?
So I would write the name of the Servlet / name of the JSP file and it would resolve to an URL.
Is any method for this?
Very thanks your help!The server will load the properties file into memory so there will be some memory overhead. The actual amount of memory used will be server dependent. If you want to make sure the file is loaded just once and the data cached for the entire application set the scope in the fmt:setBundle tag to application. This means the file will be loaded once and stored in memory. The cache will be maintained for the life of the application.
If you want to free memory when the the properties aren't needed, then you can set the scope in the fmt:setBundle tag to page (the default), which will allow (but not force) the memory used by the cache to be released when memory is low.
Note that there are 2 scopes at play here, the properties file is loaded and cached in the resource-loading process so the file would only need to be re-loaded when the data changed. The second is the scope the bundle is stored in for the web application. As long as the web application holds the bundle, the resource cache will not be freed. When the reference is released by the web application the cache may be released if memory requires it, or may be kept so the next time the resource is needed there isn't an overhead related to loading the bundle again.
Setting the scope in the fmt:setBundle to page is the most flexible use, because it allows the Resource cache to hold the properties file in memory then just provide references as needed (much like if you had the scope set to application), but also allows the cache to be free its memory if required.
In the particular example provided above, you don't have control of the Resource Caching. You could implement your own implementation of a ResourceBundle and use ResourceBundle.Control to configure the Cache. This could be done invisibly behind the scenes if you find the memory used by the default implementation too much. -
Using jFreeCharts with JSP-Servlet Web App
Can someone please help me to get started on using the jFreeCharts in mt JSP Servlet we app? So far I have this in my servlet but I do not know what to do from here.
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// create a dataset...
double[][] data = new double[][] {
{ 1.0, 4.0, 3.0, 5.0, 5.0, 7.0, 7.0, 8.0 },
{ 5.0, 7.0, 6.0, 8.0, 4.0, 4.0, 2.0, 1.0 },
{ 4.0, 3.0, 2.0, 3.0, 6.0, 3.0, 4.0, 3.0 }
//DefaultCategoryDataset dataset = new DefaultCategoryDataset(data);
//return DatasetUtilities.createCategoryDataset("Series ", "Factor ", data);
CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Series ", "Factor ", data);
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Demo 2", // chart title
"Category", // domain axis label
"Score (%)", // range axis label
dataset, // data
PlotOrientation.HORIZONTAL, // orientation
true, // include legend
true,
false
}the JFreeChart documentation has examples doing just that.
And if you don't know how to get a browser to call some resource from some html you should get a beginner's tutorial to html.
Maybe you are looking for
-
All of a sudden I can't play my itunes, everytime I click on the icon it comes up with an error message " This version of Itunes has not been correctly localized for this language. Please run the English version. There has never been a problem before
-
When using a thread pool executor (java.util.concurrent.ThreadPoolExecutor) to limit the number of threads executing at a time, the number of threads running still exceeds the limit number. This is the code: private ThreadPoolExecutor threadPoolExecu
-
Performance issue adding a new product line to existing Quote pricing issue
Hi All, Morning , need some assistance with this as we are currently stuck with this... Using the Seeded API call mentioned here : aso_quote_pub.update_quote we are trying to add a new product/item lines to an existing quote in Sales Online Module bu
-
Frustrating problem with Bridge 6.1.0
I have been experiencing a frustrating problem with Bridge 6.1.0 and previous versions. Soemtimes when I save a file to a particular folder, the file is present in the Finder window, but is not visible in Bridge. If I move the file from Finder to Bri
-
Debugger: The Page Can Not Be Displayed
Hello, I've been using 9052 for a few weeks, everything has been fine with the debugger. Now I suddenly can't access it, receiving the error message in the subject. I tested 904 standalone oc4j and can access it fine on 8888. I also had another perso