File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Servlets and the fly likes Users screen resolution from servlet? JSP? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Users screen resolution from servlet? JSP?" Watch "Users screen resolution from servlet? JSP?" New topic
Author

Users screen resolution from servlet? JSP?

DC Dalton
Ranch Hand

Joined: May 28, 2001
Posts: 287
Im working on a new servlet driven site with an extremely constraining design and REALLY need to know the user screen resolution before rendering a page. I have successfully communicated this from the main site page (html) to the next page (servlet) using Javascript to get the screen.width & then concatenating it to the url in the redirect....OK no problem so far you say. All was well until lightning struck me this morning, what do I do when someone doesnt come in thru the main page (IE: a bookmark) ...I have no resolution to work with....YIKES, design blows up!
Does anyone know a way to get the users browser info from a servlet / JSP or any outside package that could possibly help me with this. All I need to know is what resolution they are using....thats all. If I cant make this work its back to the drawing board design wise & that really isnt an option at this point. Any & all help would be DEEPLY appreciated as this puppy is in the final phases......thanks
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60041
    
  65

Hmmm, off the top of my head: perhaps if you get to a page and don't have the screen resolution request parameters, you could redirect to a page (that emits no output) that gathers the data using javascript and then redirects back to the original page.
hth,
bear


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
DC Dalton
Ranch Hand

Joined: May 28, 2001
Posts: 287
Well Bearyou get a GOLD star for thinking outside the box. I thought about it today & came up with the EXACT same idea & by jove it works like a dream! Heres what I did just incase anyone else gets stuck with this problem:
Servlet code:
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
ServletContext sc = getServletContext();
HttpSession ses = req.getSession(true);
int pageWidth = 0;
String page = req.getParameter("page").trim();
/* Check the incoming request for the screen width variable */
if ((req.getParameter("width") == null) & (ses.getAttribute("custWidth") == null)){
/*variable doesnt exist - redirect user thru javascript page to get the variable & then back to this servlet */
res.sendRedirect("/getString.html?page="+page+"&serv=RitServer");
}
else{
/* Get the customers screen width from either the session or the query string */
if (ses.getAttribute("custWidth") != null){
pageWidth = Integer.parseInt((String)ses.getAttribute("custWidth"));
}
else{
pageWidth = Integer.parseInt(req.getParameter("width").trim());
String sesPageWidth = ""+pageWidth;
ses.setAttribute("custWidth", sesPageWidth);
}
and here's the javascript in an html file:
<SCRIPT LANGUAGE="JavaScript">
<!--
function getWidth(){
var width = screen.width;
var pageString = location.search;
var page = pageString.substring(6, pageString.indexOf("&"));
var servlet = pageString.substring(pageString.indexOf("&serv=") +6, pageString.length);
location.href = "/servlet/"+servlet+"?page="+page+"&width="+width;
}
//-->
</SCRIPT>
The beauty of it is the redirect is so fast they user never even knows the went thru it & if the session expires they are just sent thru it again.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Users screen resolution from servlet? JSP?
 
Similar Threads
Using a servlet to dispatch pages and redirect to other servlets.
Auto-adjustment for different screen resolutions
Fill out a html-form using a servlet ?
GUI and screen resolution
Unable to get the chackbox array values in Servlet file