Thanks Pid,
I think that is a good idea
Let me try
- Regards
Vinu
Pid wrote:
you can get a Locale from the request, and adjust the time accordingly.
Vinu Varghese wrote:
but that still sets the server date - yes ?
Pid wrote:
write a filter that activates for that url, and get the time just before
you doFilter. if you need to, you can pass the date obj as an attribute
Date date = new Date();
hreq.setAttribute("thisIsTheDate", date);
chain.doFilter(hreq, hres);
Jon Wingfield wrote:
The HTTP spec (rfc2616) says clients should only send the Date header
with http messages with body content (POST, PUT) and even then it's
optional.
Try adding a date string as a parameter on your GET request which your
servlet can then parse from request.getParameter(...).
One way to do this would be to change your link to a form with a hidden
input field for your date value. Add an onclick/onsubmit javascript
handler to your form button which sets the value of the hidden field to
the current date in a format that your servlet will understand.
for example:
function setDate(form) {
form.dateField.value = new Date().toString();
}
Example assumes a hidden form input field with name dateField.
HTH,
Jon
Vinu Varghese wrote:
SK,
That javascript prints the current client time. But I want the client
time with the request.
The scenario is :
I have a index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Client time : <a href="clienttime.htm"> Click</a>
</body>
</html>
and a servlet that can take the client time (Hoping to :-) ) which is
mapped to 'clienttime.htm'
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
long time = request.getDateHeader("Date"); // Hoping to
get the client date.
PrintWriter out = response.getWriter();
out.println("Server time " + new Date());
out.println("Client time (long) " + time);
out.println("Client time " + new Date(time));
}
Is there any way to do this (get the client time from the request) ?
Or Am I trying to do a dumb thing ? ;)
Thanks & Regards
Vinu
Shinya Koizumi wrote:
Vinu
Yeah, you are right about it, I can't get getDateHeader working.
For the solution one, I have setup like this for jsp and worked.
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title><%= application.getServerInfo() %></title>
</head>
<body>
Current Time:
<%
out.println("<SCRIPT LANGUAGE=JavaScript>");
out.println("var currentTime = new Date();");
out.println("document.write(currentTime.toLocaleString());");
out.println("</SCRIPT>");
out.println("</HEAD>");
%>
</body>
</html>
SK
----- Original Message ----- From: "Vinu Varghese" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Tuesday, July 11, 2006 1:24 AM
Subject: Re: Getting the date/time from the client
Thanks SK,
I tried the second solution , but request.getDateHeader("Date")
returns -1 .
Also I didn't understand the first solution ( embed a javascript),
Can u
pls elaborate that.
Thanks and regards
Vinu
Shinya Koizumi wrote:
One is to embed javascript in the output
out.println("<HTML><HEAD><title>JavaScriptExample</title>");
out.println("<SCRIPT LANGUAGE=JavaScript>");
out.println("function back() {");
out.println("history.back(-1);");
out.println("}");
out.println("</SCRIPT>");
out.println("</HEAD>");
The other solution is to get it from the request header.
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
long l = request.getDateHeader("Date");
Date d = new Date(l);
System.out.println(d);
}
SK
----- Original Message ----- From: "Vinu Varghese"
<[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Tuesday, July 11, 2006 12:51 AM
Subject: Getting the date/time from the client
Hi All,
I am doing a project in jsp/servlet and tomcat, which requires to
take
the client date/time (ie the time of the machine the browser is
running). Is there any way to accomplish this ?
Thanks & regards
Vinu
--
........................................
Vinu Varghese
[EMAIL PROTECTED]
www.x-minds.org
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
........................................
Vinu Varghese
[EMAIL PROTECTED]
www.x-minds.org
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
........................................
Vinu Varghese
[EMAIL PROTECTED]
www.x-minds.org