I am a beginner at GIS and I am developing a Java Application which needs a map. (The map would specifically be of just one city in the Philippines.) I have researched on different ways to do this and I have found that I will need a tile server to put the map because I need to be able to access this without the connection of the internet. I am a beginner and most of the tutorials I have seen have been complicated and have steps that I do not know how to do yet. Does anyone know of any tutorials or can help me start creating the tile server considering that I am a beginner at this?
But if you want to create some tiles to be served offline something like http://www.maptiler.org/ but it's focused on raster data.
If I had to do this I would probably take a look on TileMill to create the design and produce a MBTiles file and then convert it to a TMS file structure to be consumed by an OpenLayers or Leaflet in offline mode.
Yes, it's quite complicated and lot of new (but exciting!) stuff, sorry.
For a single city, Tilemill and Tile Drawer are two great options: http://switch2osm.org/serving-tiles/using-an-all-in-one-solution/
Tilemill will get you an '.mbtiles' file, a SQLite3 database that contains all your rendered tiles. You'll also need to develop a custom stylesheet for the data.
Tile Drawer will do essentially everything for you, resulting in an EC2 server that you can use to do the actual rendering of your tiles. If you ssh into that server and run tilestache-seed.py for your area, you can get out a directory full of pre-rendered tile images that can be copied to wherever you need them.
Since you're a beginner, I'd suggest that you use the OpenGeo Suite. It comes with GeoServer ( map server ) and PostGIS ( spatial database ). It's an integrated package so you won't have to worry about integration yet. I suggest that you do the tutorials first and when you're confident enough, try your own data or OSM data. It has a shape file loader so it shouldn't be too hard. Good luck :)
If I understand correctly, you want to put the tiles on the same computer your Java app will run on. In that case you don't really need a tile Web server per se, you just need to prepare your Web map HTML and place it on a local disk together with map tiles. You can then access it using the file URI scheme.
One fairly easy way to generate tiles would be to follow the "Maperitive Tutorial: A Hiking Web Map In Ten Easy Steps".