Hi Jaun, How to use this CssServlet class ?
On Wed, Feb 23, 2011 at 9:14 PM, Juan Pablo Gardella < [email protected]> 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 <[email protected]> > >> 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 [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
