Today when I was doing something my colleague asked me about what version of JSP and Servlet are you using. Untill now I never bothered about this, but later found a way for this. below are the lines of code to know what version of servlet you are running, version of JSP and application server you are running.
Servlet Version :
<%= session.getServletContext().getMajorVersion() %>.
<%= session.getServletContext().getMinorVersion() %>
JSP Version :
<%= JspFactory.getDefaultFactory().getEngineInfo().
getSpecificationVersion()%>
Server Version : <%= application.getServerInfo()%>
Showing posts with label JSP. Show all posts
Showing posts with label JSP. Show all posts
Calling JSP from a batch file
If you wondering why in the world should I call a JSP from a batch file then read on. In fact, my problem was to schedule a task that runs every day on a specific time and must generate a report for my management and email the same. Searching the net I was able to accomplish this by combining VB and batch files. But I was not happy with the results. Or to be more specific, my management was not happy with the type of report I was generating in terms of formatting etc.
What the management wanted was a nicely formatted report just as our internal WEB based reports. Now I realised that I have already a JSP that generates the report, now I only have to do two things.
1. Modify the JSP to instead of displaying, just generate the report in HTML format and then email it
2. Secondly I must find a way to schedule this emailing to auto email every day at a specific time.
So I have answered the question as to the necessity of calling a JSP from a batch file. Now that I have decided on what to do, I set search on how to do this. Then I found that batch file by itself cannot accomplish this, therefore I would need a combination of a batch file and a vbscript file (VBS).
So assuming you have a JSP page that generates the report and emails it. Do the following to automate the report generation:
1. Create a text file and copy the following content into it:
Option Explicit
Dim objIEA
Set objIEA = CreateObject("InternetExplorer.Application")
objIEA.Navigate "http://192.17.12.10/emailreport.jsp" (This should be changed to your actual url)
objIEA.visible = true
While objIEA.Busy
Wend
objIEA.Quit
Set objIEA = Nothing
2. Rename the text file to report.vbs
3. Create a batch file and name it as report.bat and copy the following content in that batch file.
cscript.exe report.vbs
4. Create a Scheduled task from windows or cron job in your Unix servers to call this report.bat as per your requirement.
What the management wanted was a nicely formatted report just as our internal WEB based reports. Now I realised that I have already a JSP that generates the report, now I only have to do two things.
1. Modify the JSP to instead of displaying, just generate the report in HTML format and then email it
2. Secondly I must find a way to schedule this emailing to auto email every day at a specific time.
So I have answered the question as to the necessity of calling a JSP from a batch file. Now that I have decided on what to do, I set search on how to do this. Then I found that batch file by itself cannot accomplish this, therefore I would need a combination of a batch file and a vbscript file (VBS).
So assuming you have a JSP page that generates the report and emails it. Do the following to automate the report generation:
1. Create a text file and copy the following content into it:
Option Explicit
Dim objIEA
Set objIEA = CreateObject("InternetExplorer.Application")
objIEA.Navigate "http://192.17.12.10/emailreport.jsp" (This should be changed to your actual url)
objIEA.visible = true
While objIEA.Busy
Wend
objIEA.Quit
Set objIEA = Nothing
2. Rename the text file to report.vbs
3. Create a batch file and name it as report.bat and copy the following content in that batch file.
cscript.exe report.vbs
4. Create a Scheduled task from windows or cron job in your Unix servers to call this report.bat as per your requirement.
How to read and write in file through JSP
<%@ page import="java.io.*" %>
Read write file JSP
<%
String fileName=getServletContext().getRealPath("jsp.txt");
File f=new File(fileName);
InputStream in = new FileInputStream(f);
BufferedInputStream bin = new BufferedInputStream(in);
DataInputStream din = new DataInputStream(bin);
StringBuffer sb=new StringBuffer();
while(din.available()>0)
{
sb.append(din.readLine());
}
try {
PrintWriter pw = new PrintWriter(new FileOutputStream("c:/file.txt"));// save file
pw.println(sb.toString());
pw.close();
} catch(IOException e) {
e.getMessage();
}
in.close();
bin.close();
din.close();
%>
Successfully write file
<%
String fileName=getServletContext().getRealPath("jsp.txt");
File f=new File(fileName);
InputStream in = new FileInputStream(f);
BufferedInputStream bin = new BufferedInputStream(in);
DataInputStream din = new DataInputStream(bin);
StringBuffer sb=new StringBuffer();
while(din.available()>0)
{
sb.append(din.readLine());
}
try {
PrintWriter pw = new PrintWriter(new FileOutputStream("c:/file.txt"));// save file
pw.println(sb.toString());
pw.close();
} catch(IOException e) {
e.getMessage();
}
in.close();
bin.close();
din.close();
%>
Successfully write file
Subscribe to:
Posts (Atom)