First, if new web app resides in the same farm, the challenge is, each collection Id has to be unique.
- use stsadm addcontentdb to assign a different id, but as warned by MS, the site collection very likely becomes an orphan;
- use stsadm backup/restore for each individual site collection;
Second, it is very tempting to take this shortcut: create a web application and then do content database backup/restore. This is an absolute failure path since SharePoint Config DB is left out totally.
The working path is:
- Restore the content DB (if in the same SQL instance, file names need to be changed)
- creating a new web application in a different farm, use the restored db to replace the one randomly generated by SP
- after web application being created, use stsadm -o addcontentdb cmd line or UI to add the restored db, and then remove the one auto-generated by SP.