Вы находитесь на странице: 1из 8

Libre Configuracin Curricular.

Programacin Orientada a Objetos con Herramientas Visuales

1/8

Ejercicios bsicos de aplicaciones Web


Ejercicios bsicos de aplicaciones Web ..............................................................................................................1 HolaMundoWeb...................................................................................................................................................1 CalculadoraWeb ..................................................................................................................................................3 ElTiempoWeb......................................................................................................................................................4 UsuariosDiaryWeb...............................................................................................................................................6 Sesion7Web ........................................................................................................................................................8

HolaMundoWeb
El objetivo de este primer ejercicio es hacer una aplicacin web que acceda al servicio web HolaMundoWS desarrollado en la sesin 4 del curso. El interfaz de la aplicacin es el que se muestra en la figura 1.

Figura 1

Los pasos a seguir son: 1) Comprobar que el servicio web funciona correctamente desde Internet Explorer 2) Aadir el directorio virtual HolaMundoWeb al IIS 3) Crear un solucin sesion 7 y aadir un nuevo proyecto web asp.net llamado HolaMundoWeb 4) Agregar un web form con el aspecto de la figura 1

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

2/8

5) Crear una hoja de estilos corporativa y aadirla al web form 6) Crear una referencia al servicio web y almacenarla en una variable de sesin. El cdigo para hacer esto es: protected localhost.HolaMundoWS ws { get { localhost.HolaMundoWS result; if (Session["ws"] != null) result = (localhost.HolaMundoWS)Session["ws"]; else { result = new localhost.HolaMundoWS(); result.CookieContainer = new System.Net.CookieContainer(); result.Credentials = System.Net.CredentialCache.DefaultCredentials; Session["ws"] = result; } return result; } } 7) Aadir cdigo al evento de los botones: private void holaBtn_Click(object sender, System.EventArgs e) { holaLbl.Text = ws.HelloWorld(); } private void adiosBtn_Click(object sender, System.EventArgs e) { adiosLbl.Text = ws.ByeWorld(); } 8) Probar la misma aplicacin con los servicios web del ordenador del profesor y de un compaero

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

3/8

CalculadoraWeb
El objetivo de este ejercicio es afianzar los conocimientos adquiridos en el ejercico anterior y aprender a manejar excepciones (cuando los nmeros introducidos son demasiado grandes y cuando se intenta dividir por cero) El interfaz de la aplicacin es el que se muestra en la figura 2.

Figura 2 Los pasos a seguir son: 1) Comprobar el servicio web, crear el nuevo directorio virtual CalculadoraWeb y agregar un nuevo proyecto asp.net a la solucin actual llamado CalculadoraWeb 2) Agregar un formulario y darle el aspecto de la figura 2 3) Aadir la referencia y crear una propiedad que almacene el servicio web en el estado de la sesion. 4) Aadir cdigo a los eventos 5) Probar la misma aplicacin con los servicios web del ordenador del profesor y de un compaero Cmo maneja las excepciones antes indicadas? La respuesta en el laboratorio.

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

4/8

ElTiempoWeb
El objetivo de este ejercicio es hacer una aplicacin web que se conecte a un servicio web desarrollado por terceras personas. En esta prctica se aprender a deserializar archivos XML. El interfaz de la aplicacin es el que se muestra en la figura 3:

Figura 3 Los pasos a seguir son: 1) Crear el directorio virtual y aadir un nuevo proyecto ElTiempoWeb

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

5/8

2) Crear un formulario con el aspecto de la figura 3 3) Agregar las referencia web y almacenarla en el estado de la sesin 4) Crear una clase para almacenar los valores devueltos por el servicio web:
[Serializable()] public class CurrentWeather { public CurrentWeather(){} public string Location; public string Time; public string Wind; public string Visibility; public string Temperature; public string DewPoint; public string RelativeHumidity; public string Pressure; public string Status; }

5) Crear una propiedad currentWeather para almacenar en el estado de sesin el valor devuelto por el servico web. 6) Aadir cdigo a los eventos. Para deserializar la cadena XML devuelta por el servicio web escriba el siguiente cdigo:
private void crearBtn_Click(object sender, System.EventArgs e) { string filename = @"F:\usr\... //ruta del directorio virtual StreamWriter swFromFile = new StreamWriter(filename,false,System.Text.Encoding.Unicode); swFromFile.Write(resultTxt.Text); swFromFile.Flush(); swFromFile.Close(); XmlSerializer serializer = new XmlSerializer(typeof(CurrentWeather)); FileStream fs = new FileStream(filename, FileMode.Open); currentWeather = (CurrentWeather) serializer.Deserialize(fs); fs.Close(); rellenaTabla(); }

Qu espacios de nombres tiene que aadir a su proyecto?

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

6/8

UsuariosDiaryWeb
El objetivo de este ejercicio es desarrollar una aplicacin web para poder ver y aadir usuarios a la base de datos DiaryDB vista en el sesin 6. Asimismo, se hace una introduccin al control datagrid para formularios web. El interfaz de la aplicacin es el que se muestra en la figura 4:

Figura 4 Los pasos a seguir son los siguientes: 1) Aada al servicio web DiaryWS hecho en la sesin 6 las operaciones getUsers para obtener el dataset de todos los usuarios y changeUsers para guardar los cambios realizados en dicho dataset. (Recuerde cmo lo ha hecho para retrieveNotes y changeNotes) 2) Pruebe getUsers desde Internet Explorer 3) Cree el directorio virtual y aada el proyecto UsuariosDiaryWeb 4) Cree un formulario con el aspecto de la figura 4 5) ree propiedades para almacenar en el estado de sesin tanto la referencia al servicio web DiaryWS (ws) como el valor devuelto por getUsers (usersDataSet)

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

7/8

6) Aada cdigo a los eventos 7) Para rellenar el datagrid con el resultado de getUsers escriba:
private void usuariosBtn_Click(object sender, System.EventArgs e) { usuariosDtg.DataSource = usersDataSet; usuariosDtg.DataMember = "Users"; usuariosDtg.DataBind(); }

8) Para aadir un nuevo usuario el cdigo sera:


private void aadirBtn_Click(object sender, System.EventArgs e) { try { if (nuevoPass1Txt.Value == nuevoPass2Txt.Value) { localhost.usersDts.UsersRow r; r = usersDataSet.Users.NewUsersRow(); r.BeginEdit(); r.login = nuevoLogTxt.Text; r.password = nuevoPass1Txt.Value; r.name = nuevoNomTxt.Text; r.EndEdit(); usersDataSet.Users.AddUsersRow(r); ws.changeUsers(usersDataSet); } else { throw new Exception ("Las contraseas no coinciden"); } } catch ( System.Data.ConstraintException) { throw new Exception("Claves de usuario repetidas"); } }

9) Ejecute la aplicacin web utilizando los servicios web del profesor y de un compaero

Libre Configuracin Curricular. Programacin Orientada a Objetos con Herramientas Visuales

8/8

EjerciciosWeb
El objetivo de este ejercicio es hacer una aplicacin web con frames para centralizar todos los ejercicios hecho durante esta sesin. El interfaz de esta aplicacin es el que se muestra en la figura 5

Figura 5 Los pasos a seguir son: 1) Crear el directorio virtual para albergar la aplicacin EjerciciosWeb 2) Establecer como formulario de inicio una pgina html que defina los marcos de nuestra aplicacin. Para esto puede utilizar el asistente que proporciona visual studio. (Agregar -> nuevo elemento -> conjunto de marcos) 3) Cree la pgina aspx con los botones del men 4) Para redireccinar una pgina web a un marco puede utilizar la siguiente funcin
public void redirect(string page, string frame) { Response.Write("<script>window.open(\"" + page + "\", \"" + frame + "\");</script>"); }

5) Para los eventos de los botones del men el cdigo queda de la siguiente forma:
private void holaMundoBtn_Click(object sender, System.EventArgs e) {redirect("http://localhost/HolaMundoWeb","main");}

Вам также может понравиться