Run servlet from form action tag
This is my first post to this forum, thanks in advance for any and all help!
I'm utilizing Tomcat 4.0.1. I've got the following form tag within my JSP:
<form name="orderForm" method="GET" action="/myAppName/myServletName">
I've made the context entry for myAppName within ..tomcat/conf/server.xml.
I've got a properly formatted ..tomcat/webapps/myAppName/web-inf/web.xml
When submitting the form, Tomcat immediately reports that the resource (myServletName) is unavailable.
I've download the bookstore sample app from Sun; it is working properly.
Any idea what I'm missing here?
The bookstore app calls the servlet from a hyperlink rather that a form action. Do JSP's treat forms differently when calling servlets?
Thanks again for any assistance.
Bruce
Yes, my .class files in in Tomcathome/webapps/appname/web-inf/classes
If I try and call the servlet from the Address box of the browser, I get the same error listed above.
Here is the contents of my Tomcathome/webapps/appname/web-inf/web.xml:
<-- entry begins here
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>myServletName</servlet-name>
<servlet-class>myServletName</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServletName</servlet-name>
<url-pattern>/myServletName</url-pattern>
</servlet-mapping>
</web-app>
< -- entry ends here
Here is the entry I've made in Tomcathome/conf/server.xml:
<--entry begins here
<Context path="/appName" docBase="appName" debug="0" reloadable="true" />
<--entry ends here
The only Tomcat related entry in my classpath is:
d:\jakarta-tomcat-4.0.1\common\lib\servlet.jar;
Again, thanks for all your assistance...this is driving me nuts (granted, it wasn't a long trip!)
Bruce
Similar Messages
-
Maintain session when calling servlet from form in a JSP
I have the following set up:
index.jsp calls login servlet from the action tag in a form.
Login servlet handles the login, stores the user info and db connection in the session and uses forward(req,res) to call another jsp.
That jsp has a form where user enters search info and in that form's action tag there is a search servlet. In the search servlet I am unable to access the session.
Is there any way to pass the session to the servlet from that jsp using a form/action?I've read elsewhere that if you go from a jsp to a servlet that the >request object is cleared of any attributes from the previous request.which is correct. But arent we speaking about session object here? A request object is valid for a request - ie the phase from where the server receieves a hit for a resource upto the point it sends the output for that request.
A session spans multiple requests.
it doesn't retrieve the session info and gives me a null pointer >exception when I try to use the connection object stored in the session.Bad bad bad . Why do you store Connection objects in session? Create them when necessary or use a connection pool. Do you for example clean up the connections when the session expires. What if its a 30 minute session and the user hits every say 15 minutes with a request. Why do you need to hold on to the Connection in the intervening interval when the user's session is inactive?
gives me a null pointer exception when I try to use the connection object stored in the session.which means that the Connection object is null - not the session object.
That last line is where I get the null pointer exception. And that is
Statement stmt = con.createStatement();?
Same answer as above.
If the session object was null,
userSession.getAttribute("connection");would have thrown a NPE.
ram. -
Running reports from forms on the web
On forms and reports 6i we used the following code to run reports from forms.
We need to do the same on 9i forms and reports, we are running into problems.
Any help will be appreciated.
PROCEDURE web (inFileName VARCHAR2,
inRecordGroup RECORDGROUP) IS
outVirtualPath VARCHAR2(200) := '/forms90/f90servlet?p_url=/reports/rwservlet?'; outServer VARCHAR2(200) := 'server=rep_ora-app-4';
outReport VARCHAR2(200) := 'report='||inFileName;
outUserid VARCHAR2(200) :=
'userid='||GET_APPLICATION_PROPERTY(USERNAME)||'/'||GET_APPLICATION_PROPERTY(PAS
SWORD)||'@'||GET_APPLICATION_PROPERTY(CONNECT_STRING);
outDesType VARCHAR2(200) := 'DESTYPE=CACHE';
outDesFormat VARCHAR2(200) := 'DESFORMAT=PDF'; outUser VARCHAR2(2000);
outCount INTEGER;
error we are getting.
FRM-42017:Module name must be specified.S Hatch (guest) wrote:
: I'm thinking that you're going to have to install the Reports
: cartridge, create an entry in the keymap with any parameters
and
: call your report via the url.
: Dessislava Gantcheva (guest) wrote:
: : How do I call a report from a form on the web?
: : I have installed Windows NT Server 4.0 with SP 5, OAS4.0.7
EE
: : with patch 1, Developer 6.0 with patch 1. Developer server
and
: : forms server work fine in a non-cartridge implementation,
but
: I
: : cannot run a report within a form. I just have no any info
how
: : to do this.
I have entries in my keymap file and I can call my reports via
the url, but I cannot run a report WITHIN a form. I mean to call
a report by clicking on a button of a form on the web. The
RUN_PRODUCT built-in does not work (at leas it seems like this)
If any one has expiriense with it, please, give me a hint.
Thanks
null -
hi,
I am having problems in running report from form.
I am using oracle 9i on windows 2000 server and no 9iAS at the moment. On client side, i have windows xp and 9iDS installed. I want to run report from forms in 9iDS testing environment.
my forms are running ok but now i need to run report. so what i have done is that i have created a report object in form and following are enteries present in it at the moment.
Name REPORT7
FileName D:\Projects\IBMR\forms\soil_water_quality_data.rdf
Execution Mode Batch
Communication Mode Synchronous
Destination Type Cache
Report Server 9irep
and in when_button_pressed trigger
DECLARE
Report_Id REPORT_OBJECT;
Report_Job_Id VARCHAR2(20);
Report_Status VARCHAR2(80);
Report_Svr VARCHAR2(20);
BEGIN
Report_Id := FIND_REPORT_OBJECT('REPORT7');
Report_Svr := '9irep';
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_FILENAME, '\projects\ibmr\forms\soil_water_quality_data.rdf');
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_OTHER, 'paramform=no');
Report_Job_Id := RUN_REPORT_OBJECT(Report_Id);
Report_Status := REPORT_OBJECT_STATUS(Report_Job_Id);
WHILE Report_Status IN ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
Report_Status := REPORT_OBJECT_STATUS(Report_Job_Id);
END LOOP;
IF Report_Status = 'FINISHED' then
WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(Report_job_id,instr(Report_Job_Id,'_',-1)+1)||'?'||'server=9irep','_blank');
else
message ('report server failed with error message '||report_status);
END IF;
END;
i have installed report server with following command
rwserver -install 9irep
i have changed entry in rwservlet.properties like
SINGLESIGNON=NO and i have removed the following entire block of 9irep.conf, which i have read from some documentation
<!--security id="rwSec" class="oracle.reports.server.RWSecurity">
<property name="securityUserid" value="%PORTAL_DB_USERNAME%/%PORTAL_DB_PASSWORD%@%PORTAL_DB_TNSNAME%" confidential="yes" encrypted="no"/>
</security-->
i get the following error message when i run my form
frm-41214 Unable to run report
and then next message is
frm-41217 unable to get report job status
i debugged the report id and it is
9irep_0
returned by Report_Job_Id := RUN_REPORT_OBJECT(Report_Id);
When I checked the Report Queue Manager
it is showing status like
(9irep)Terminated with error
and detail it shows is
Unable to connect to the specified database.
Now I am wondering what to do next.
any suggestions???????Hello,
From your description, it seems like the report is faling due to a database authentication problem. When you run your report from Forms, Forms internally passes the its database connection information to Reports automatically. So ensure that you are connected to a valid database in Forms, before the report is called.
Please verify whether a simple report which does not require a database connection, for example, a report containing only a boilerplate text object, is running correctly. Also, in the trigger code that you have specified, you should add the following:
SET_REPORT_OBJECT_PROPERTY(Report_Id, REPORT_DESTYPE, CACHE);
so that the report output gets generated to the server cache, and can be retrieved using rwservlet/getjobid.
Thanks,
The Oracle Reports Team. -
FRM-92101 error while running report from form
HI All,
I am getting the form error FRM-92101 while running report from form menu.My code is given below:
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
BEGIN
repid := FIND_REPORT_OBJECT('REPORT47');
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
WEB.SHOW_DOCUMENT('http://192.168.0.21:8889/reports/rwservlet/getjobid'||
substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
ELSE
message('Error when running report');
END IF;
Clear_message;
END;
Clear_message;
--Arifhi Arif
Please see this note on MOS/Metalink for some common causes of this error:
Known Causes of FRM-92101 Error In Forms [ID 604633.1]
thanks,
AMN -
I want to run report from FORM
I want to run report from FORM. The report will save in PDF format then OPEN automatically in PDF
Every PDF file should have a unique file name.
I am using Form 6i and Reports 6iDECLARE
vParamList PARAMLIST;
BEGIN
vParamList:=GET_PARAMETER_LIST('MyRep');
IF NOT ID_NULL(vParamList) THEN
DESTROY_PARAMETER_LIST(vParamList);
END IF;
vParamList:=CREATE_PARAMETER_LIST('MyRep');
SET_REPORT_OBJECT_PROPERTY('report_path\emp_rep_def',REPORT_DESFORMAT,'PDF');
RUN_PRODUCT(REPORTS,'report_path\emp_rep_def',ASYNCHRONOUS,RUNTIME,FILESYSTEM,vParamList,NULL);
END; -
When run report from form(6i) on the web,error FRM-921000
While I was trying to run report from form (6i)on the web,it will give me this error
message FRM-921000 and hang.
But when I try to call form using form,I do
not have the problem.
May I know ehat is the cause?
Anybody encounter this before?
Thanks
nullI am running Forms 6i on the web and attempting to call me report via RUN_REPORT_OBJECT. I am getting the same error as Jenny FRM-92100. I need to pass a parameter list so I don't think I can use WEB.SHOW_DOCUMENT. Any ideas???
Thanks,
Jenny N.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Joseph Schwertner ([email protected]):
Dear Jenny,
I am running reports from Forms 6i on the WEB. I did not encounter your problem. Nevertheless I would like to share the following with you.
RUN_PRODUCT doesn't work for calling reports ON THE WEB. Instead using RUN_PRODUCT do the following:
1. Install Oracle Reports Server
2. For WEB calls of reports use WEB.SHOW_DOCUMENT
3. Learn how to pass parameters to the reports. It is a litlle bit strange, but it is explaint excellent in the documentation to the Reports Server.
I hope this will help you.
Joseph Schwertner
<HR></BLOCKQUOTE>
null -
OAS in Unix: URL not found when run report from Form???? please help
Hi,
We have succesfully install OAS with Form Server and Report Server in
Unix. We able to run Form and Report direct from browser. But we having
problem to run Report from direct Form within the browser. The message from
the browser was 'The requested URL was not found'. We use run_product to run
report from form. Below is the statement:-
Run_Product(REPORTS, 'A10001', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id,
NULL);
Does anyone have an idea??
Thanks in advance.
nullplease check env. variables
1. FORMS60_MAPPING
2. FORMS60_OUTOUT
FORMS60_MAPPING should point to vartual directory on your forms webserver
FORMS60_OUTPUT should point to physical
directory path of vartual directory
FORMS60_MAPPING
regards
Darshan
[email protected]
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by leong([email protected]):
Hi,
We have succesfully install OAS with Form Server and Report Server in
Unix. We able to run Form and Report direct from browser. But we having
problem to run Report from direct Form within the browser. The message from
the browser was 'The requested URL was not found'. We use run_product to run
report from form. Below is the statement:-
Run_Product(REPORTS, 'A10001', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id,
NULL);
Does anyone have an idea??
Thanks in advance.
<HR></BLOCKQUOTE>
null -
I've interview tomorrow , still do not know how to run report from forms
hi all ,
i asked before about running report from forms 10g rel2 , but vainly , because i could not configure the reports server ,
and no one told me .
now i've an interview tomorrow , and sure it will be included in the task which i have to do .
i am in a bad need for your step by step help
thanks in advanceExcuse me for being lazy and not searching your previous threads containing questions about configuring your reports server. As I don't know their content I don't know the links posted, the advices given and what you did, and as this is a new thread I'll go ahead and ask what you tried, where you failed and what exactly did not work out for you.
i am in a bad need for your step by step help Fine, here is an easy one:
Step 1: go to http://tahiti.oracle.com
Step 2: click on "Oracle Application Server, 10g Release 2 (10.1.2)"
Step 3: click in the searchbox, type "Configuring Reports Server"
Step 4: click "search"
Step 5: You will be redirected to some links, the very fist of them is this:http://docs.oracle.com/cd/B14099_19/bi.1012/b14048/pbr_conf.htm
This is as step-by-step as it gets, if you want detailed help ask detailed questions.
cheers -
hi all,
i have tried to run report from forms using below codig(got from online help)
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status varchar2(20);
v_host varchar2(100):= 'localhost';
v_port varchar2(10);
v_parameter_string varchar2(4000);
v_username varchar2(50);
v_password varchar2(50);
v_database varchar2(50);
BEGIN
repid := find_report_object('REPORT27');
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
if rep_status = 'FINISHED' then
message('Report Completed');
copy_report_object_output(v_rep,'E:/Rep/local1.pdf');
-- host('MOZILLA E:/Rep/local.pdf');
-- WEB.SHOW_DOCUMENT('http://192.168.0.160:1521/reports/rwservlet/getjobid'||
-- substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver','_blank');
else
message('Error when running report.');
end if;
-- Get the full domain name of the server from the formsweb.cfg
tool_env.getvar('SERVER_URL',v_host);
-- Get the username/password and database from the .env file
tool_env.getvar('APPLICATION_USERNAME',v_username);
tool_env.getvar('APPLICATION_PASSWORD',v_password);
tool_env.getvar('APPLICATION_DATABASE',v_database);
-- If it is localhost then we are running on windows and need to use the windows port, otherwise we
-- are on AIX and need to use the AIX port
IF v_host = 'localhost' THEN
v_port := '8889';
ELSE
v_port := '8889';
END IF;
-- Now build the parameter string for running the report
v_parameter_string := 'server=repserver';
v_parameter_string := v_parameter_string||'&report= E:\AGE_NoELIGIBLEReport.rdf';
v_parameter_string := v_parameter_string||'&userid='||v_username||'/'||v_password||'@'||v_database;
v_parameter_string := v_parameter_string||'&execution_mode=batch';
v_parameter_string := v_parameter_string||'&comm_mode=synchronous';
v_parameter_string := v_parameter_string||'&destype=cache';
v_parameter_string := v_parameter_string||'&desformat=pdf';
-- Now run the report
web.show_document('http://'||v_host||':'||v_port||'/reports/rwservlet?'||v_parameter_string,'_blank');
END;
REP-110: Unable to open file ' AGE_NoELIGIBLEReport.rdf'.
REP-1070: Error while opening or saving a document.
REP-0110: Unable to open file ' AGE_NoELIGIBLEReport.rdf'.
but i hav report in e:\ then why its getting?Hi,
I suggest you not to use the "E:\" directory letter, but the REPORTS_PATH instead.
<p>
from the Online Help
</p>
<p>
On Windows, edit environment variables through the Registry Editor (Start > Run > Regedit).
</p>
<p>
On UNIX, edit environment variables by revising and running the shell script that defines the initial default values (reports.sh). If you do this, be sure to keep a backup of the original, unaltered reports.sh file.
</p>
<p>
Regards
JeanYves
</p> -
How to run report from forms 6i
i want to run report from forms 6i.
can anyone help me in this regard.
asif iqbal
karachi.hi
try something like this.
parameter_list_id := CREATE_PARAMETER_LIST('temp_data');
mywhere:='where 1=1';
if :RESULT_VALUE is not null then
mywhere:=mywhere || ' and diagnosis like ''%'||:RESULT_VALUE||'%''';
end if;
if :HISTORY is not null then
mywhere:=mywhere || ' and histodesc like ''%'||:HISTORY||'%''';
end if;
if :RCOMMENTS is not null then
mywhere:=mywhere || ' and scomments like ''%'||:RCOMMENTS||'%''';
end if;
if :PATHOLOGIST is not null then
mywhere:=mywhere || ' and PATHOLOGISTS like ''%'||:PATHOLOGIST||'%''';
end if;
mywhere:=TRANSLATE(mywhere,' ','~');
ADD_PARAMETER(parameter_list_id,'MYWHERE',TEXT_PARAMETER,mywhere);
RUN_PRODUCT(REPORTS,'C:\SearchResult.RDF',SYNCHRONOUS,RUNTIME,FILESYSTEM,parameter_list_id,NULL);
ADD_PARAMETER(parameter_list_id,'PARAMFORM',TEXT_PARAMETER,'NO');
DESTROY_PARAMETER_LIST(parameter_list_id);and also u can try the following code please modify it with u r requirements.
declare
v_plist_id paramlist;
pl_name varchar2(50) := 'rep_params';
begin
v_plist_id := get_parameter_list(pl_name);
check_param_list (pl_name); --Check availability of paramlist and
destroy is present
--When the parameter list already exists it needs to be distroyed first
if not id_null(v_plist_id) then
destroy_parameter_list(v_plist_id);
end if;
v_plist_id := create_parameter_list(pl_name);
add_parameter(v_plist_id, 'P_1', text_parameter, :block_name.item);
-- input parameter
add_parameter(v_plist_id, 'PARAMFORM', text_parameter, 'NO'); --
suppress the display of the Reports p-form
add_parameter(v_plist_id, 'DESTYPE', text_parameter,
:control.dest_type); -- set file destination type
add_parameter(v_plist_id, 'DESNAME', text_parameter,
:control.dest_name); -- set file destination name
add_parameter(v_plist_id, 'DESFORMAT', text_parameter,
:control.dest_format); -- set file destination format
-- call reports
run_product(reports, 'reports_file', asynchronous, runtime,
filesystem, v_plist_id, null);
end;sarah -
hi all,
I am working in oracle forms 6i and i am trying to run report from
form while press one of the push-button. works fine upto 2nd line from the
begin key-word.After that its showing error like " FRM-40738:Argument 1 to builtin
REPORT_OBJECT_STATUS cannot be null.". Can any-one help me of how to solve this and
wat would be the problem.........?
declare
run_rep varchar2(200);
rep_obj report_object;
rep_stat varchar2(20);
begin
rep_obj := find_report_object('report46');
run_rep := run_report_object(rep_obj);
rep_stat := report_object_status(run_rep);
if rep_stat = 'FINISHED' then
copy_report_object_output(run_rep, 'C:\Documents and Settings\trainee\Desktop\Icons\test.pdf');
else
message('error when running report');
end if;
end;
Please help asup!
regards,
jamehi rosario,
Thanks for ur reply. My requirement is, I want to generate pdf file from the report output. so i wrote the following code which is taken from d2k documentation. Problem area has been highlighted in bold.
declare
run_rep varchar2(200);
rep_obj report_object;
rep_stat varchar2(20);
begin
rep_obj := find_report_object('report46');
run_rep := run_report_object(rep_obj);
rep_stat := report_object_status(run_rep);
if rep_stat = 'FINISHED' then
copy_report_object_output(run_rep, 'C:\Documents and Settings\trainee\Desktop\Icons\test.pdf');
else
message('error when running report');
end if;
end;
Report is running but while coming to report_object_status. complior shows error like "FRM-40738:Argument 1 to builtin REPORT_OBJECT_STATUS cannot be null". Parameter for report_object_status is null, i dont know y it is null because report is running. If report is running means,then there must be some values in run_rep.
why complior doesnt find the values from run_rep.......???
regards,
jame -
Oracle 10g Developer suite
using OC4J
hi experts
can you please share some code here to run report from form with and without passing parameters.
regardsTry This
Declare
v_connect VARCHAR2 (200) := 'userid=nisadmin/nisadmin@abc';
v_report_name VARCHAR2(100) := 'Voucher.rdf';
v_format VARCHAR2(12) :='Htmlcss';
Begin
Web.Show_Document('http://hoitvoltes5:9002/reports/rwservlet?'||v_connect||'&server=ReportsServer_HOITVOLTES5_asin&destype=cache&report='||v_report_name||'&desformat='||v_format||'&companyid='||:voucher.companyid||'&vouno='||:voucher.vouno,'_blank');
End; -
Run servlet from statelesssessionbean
hi,
Can anybody help me about ............
How can i run(call) servlet from stateless sessionBean (EJB).
Code to call(run) servlet from stateless sessionbeanHi
Actually it is not advisable to call an servlet from a session bean .
I mean you can not create an object of servlet from session bean .
In otherway it can be possible if your session bean can call this through an protocol.
means you can create an URL or URL connection class and call it through http protocol.
i .e we can create URLConnetion ( HttpURLConnection ) object to that servlet from a session bean.
I hope this will help you some extent to solve your problem.
Thanks
Mrutyunjaya Tripathy -
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
Maybe you are looking for
-
Got an Error trying to start scheduler services in obiee 11g
hi, when i am trying to start the services in linux through ./opmnctl startall got the following error Please help me out... ias-component/process-type/process-set: coreapplication_obisch1/OracleBISchedulerComponent/coreapplication_obisch1/ Error
-
Hello for some reason when I click on the App Store icon on my iPad it sends me to the US version not the UK where I live! I have no idea how to switch this back so that I can update my apps etc All help welcomed
-
Problem in JDBC request sending
Hi, I am creating JDBC request 1)I defined STATEMENTNAME 2) specified Table name i.e., TEST in my case 3)action element 4) table name Here the problem appears 5) Heee the problem appears for access also i am getting <b>element</b> in category but
-
Vizio 46" won't display from MacBook using miniDisplay to HDMI--used to tho!!!
That about sums it up. I'm running Lion and about to update to Mountain Lion. I've tried PRAM reset, using disk utility--repairing the permissions and disk, &disk warrior. Random combinations of unplugging HDMI cables and turning off and on the compu
-
I am trying to restore an aperture library on my MacBook Pro that I have backed up with Backblaze. I received the restored file in my email. I downloaded the restored file and it unzipped as it was loaded. I then clicked on the restored file and aper