Yes i got it working.
But i think this method takes more time to load on the client than copy
paste the 3 css into one and download that one.
Am i right ?

On Thu, Feb 24, 2011 at 5:21 PM, Juan Pablo Gardella <
gardellajuanpa...@gmail.com> wrote:

> For example you have 3 .css files:
>
> /styles/
> +style1.css
> +style2.css
> +style3.css
>
> And you will have in your .html like this:
>
> <link type="text/css" rel="stylesheet" href="/styles/style1.css">
> <link type="text/css" rel="stylesheet" href="/styles/style2.css">
> <link type="text/css" rel="stylesheet" href="/styles/style3.css">
>
> Then you need 3 request for download the styles file.
>
> With this servlet you can reduce to 1 request for download "the union" of
> the three files if you put:
>
> <link type="text/css" rel="stylesheet" href="/styles/cssServlet.css">
>
> This URL map with the servlet.
>
> Juan
>
>
>
>
> 2011/2/23 Deepak Singh <deepaksingh...@gmail.com>
>
>> what is this cssServlet.css ?
>>
>>
>> On Thu, Feb 24, 2011 at 1:22 AM, Juan Pablo Gardella <
>> gardellajuanpa...@gmail.com> wrote:
>>
>>> In your html:
>>>
>>> /styles/cssServlet.css
>>>
>>> In web.xml:
>>>
>>> <servlet-mapping>
>>> <servlet-name>cssServlet</servlet-name>
>>>  <url-pattern>/styles/cssServlet.css</url-pattern>
>>> </servlet-mapping>
>>>
>>> Juan
>>>
>>> 2011/2/23 Deepak Singh <deepaksingh...@gmail.com>
>>>
>>>> Hi Jaun,
>>>>
>>>> How to use this CssServlet class ?
>>>>
>>>> On Wed, Feb 23, 2011 at 9:14 PM, Juan Pablo Gardella <
>>>> gardellajuanpa...@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Try that (thanks Gabriel Nossier):
>>>>>
>>>>> public class CssServlet extends HttpServlet {
>>>>>  private static final long serialVersionUID = 2545846261709821197L;
>>>>>
>>>>> private static final String path1 = "./";
>>>>> private static final String path2 = "webapps/styles/";
>>>>>
>>>>> /*
>>>>>  * (non-Javadoc)
>>>>>  *
>>>>>  * @see
>>>>>  *
>>>>> javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest
>>>>>  * , javax.servlet.http.HttpServletResponse)
>>>>>  */
>>>>> @Override
>>>>>  protected void doGet(HttpServletRequest req, HttpServletResponse
>>>>> resp) throws ServletException, IOException {
>>>>> doPost(req, resp);
>>>>>  }
>>>>>
>>>>> /*
>>>>>  * (non-Javadoc)
>>>>>  *
>>>>>  * @see
>>>>>  *
>>>>> javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
>>>>>  * , javax.servlet.http.HttpServletResponse)
>>>>>  */
>>>>> @Override
>>>>>  protected void doPost(HttpServletRequest req, HttpServletResponse
>>>>> resp) throws ServletException, IOException {
>>>>> resp.setContentType("text/css");
>>>>>
>>>>> PrintWriter out = resp.getWriter();
>>>>> out.println("@CHARSET \"ISO-8859-1\";");
>>>>>  generateMonoliticCssFile(out);
>>>>> out.close();
>>>>> }
>>>>>
>>>>> private void generateMonoliticCssFile(PrintWriter out) throws
>>>>> IOException {
>>>>> File dir = new File(path1);
>>>>>  if (dir.exists()) {
>>>>> listFolder(out, dir);
>>>>> } else {
>>>>>  dir = new File(path2);
>>>>> if (dir.exists()) {
>>>>> listFolder(out, dir);
>>>>>  } else {
>>>>> out.println("Paths '" + path1 + "' and ' " + path2 + "' doesn't
>>>>> exists");
>>>>>  File local = new File(".");
>>>>> out.println("Local path:" + local.getAbsolutePath());
>>>>>  }
>>>>> }
>>>>> }
>>>>>
>>>>> private void listFolder(PrintWriter out, File dir) throws IOException {
>>>>> for (File file : getAllCssFiles(dir)) {
>>>>>  process(out, file);
>>>>> }
>>>>> }
>>>>>
>>>>> /**
>>>>>  * @param out
>>>>>  * @param file
>>>>>  * @throws IOException
>>>>>  */
>>>>> private void process(PrintWriter out, File file) throws IOException {
>>>>>  out.println("");
>>>>> out.println("/******  file:" + file.getName() + "  *******/");
>>>>>  out.println("");
>>>>>
>>>>> BufferedReader fileReader = new BufferedReader(new FileReader(file));
>>>>>
>>>>> String aLine = null;
>>>>> while ((aLine = fileReader.readLine()) != null) {
>>>>>  if (!aLine.startsWith("@CHARSET")) {
>>>>> out.println(aLine);
>>>>> }
>>>>>  }
>>>>>
>>>>> out.println("");
>>>>> }
>>>>>
>>>>> /**
>>>>>  * @param dir
>>>>>  * @return
>>>>>  */
>>>>>
>>>>> private List<File> getAllCssFiles(File dir) {
>>>>> List<File> rv = new LinkedList<File>();
>>>>>
>>>>> FilenameFilter filenameFilter = new FilenameFilter() {
>>>>> @Override
>>>>>  public boolean accept(File dir, String name) {
>>>>> return name.toLowerCase().endsWith(".css");
>>>>>  }
>>>>> };
>>>>>
>>>>> for (File file : dir.listFiles(filenameFilter)) {
>>>>>  rv.add(file);
>>>>> }
>>>>>
>>>>> return rv;
>>>>>  }
>>>>> }
>>>>>
>>>>>
>>>>> 2011/2/23 Deepak Singh <deepaksingh...@gmail.com>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> After compiling our gwt project we get one statndard.css file which
>>>>>> loads to the client consuming 1 http request.
>>>>>> We also have our application specific style.css file which loads
>>>>>> consuming 1 seperate http request.
>>>>>>
>>>>>> To reduce the number of http requests, how should i combine them into
>>>>>> 1 css file ?
>>>>>>
>>>>>> Also, we have many application specific images which loads to the
>>>>>> client using 1 http request for 1 image. If i create 1 ImageBundle and 
>>>>>> put
>>>>>> all images into this bundle, how do i get this bundle loaded to the 
>>>>>> client
>>>>>> in just 1 http request at the application start up time ?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Google Web Toolkit" group.
>>>>>> To post to this group, send email to
>>>>>> google-web-toolkit@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>>>
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Google Web Toolkit" group.
>>>>> To post to this group, send email to
>>>>> google-web-toolkit@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Google Web Toolkit" group.
>>>> To post to this group, send email to
>>>> google-web-toolkit@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google Web Toolkit" group.
>>> To post to this group, send email to google-web-toolkit@googlegroups.com
>>> .
>>> To unsubscribe from this group, send email to
>>> google-web-toolkit+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Google Web Toolkit" group.
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-web-toolkit+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to