пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

ПРАКТИКА

1. Отправить  HTTP POST-запрос с параметрами: login - admin, password - admin123 по адресу http://host:port/webapp/registration.

  • static void Main(string[] args)
  •         {
  •             using(var client = new HttpClient())
  •             {
  •                 var pairs = new List<KeyValuePair<string, string>>
  •                 {
  •                     new KeyValuePair<string, string>("login", "admin"),
  •                     new KeyValuePair<string, string>("password", "12345")
  •                 };
  •  
  •                 var content = new FormUrlEncodedContent(pairs);
  •                 var response = client.PostAsync("http://localhost:8080/users", content).Result;
  •                 if (response.IsSuccessStatusCode)
  •                 {
  •                     Console.WriteLine("Success");
  •                 }
  •             }
  •         }

2. Обработать принятый HTTP POST-запрос, который содержит в себе параметры login и password, вывести в консоль приложения полученные параметры.

  • public void HandlePost()
  •         {
  •             var login = Request.Form["login"];
  •             var pass = Request.Form["password"];
  •             Console.WriteLine("Login: {0}\nPassword: {1}", login, pass);
  •         }

3. Обработать принятый HTTP GET-запрос, который содержит в себе параметр id, вывести в консоль приложения полученный параметр.

  • public void HandlePost()
  •         {
  •             var id = Request.QueryString["id"];           
  •             Console.WriteLine("Id: {0}", id);
  •         }

4. Продемонстрировать работу с HTTP сессией. Положить параметр в сессию. Извлечь параметр, сохраненный в сессии. Завершить сессию.

  • public void AddParameter(string userData)
  •         {
  •             Session["userData"] = userData;
  •         }
  •         public string ExtractParameter()
  •         {
  •             string userData = Session["userData"];
  •             Session.Abandon();
  •         }

5. Реализовать форму входа пользователя в систему. В серверной части приложения обработать данные с формы и сохранить пользователя в сессии.

  • public class HomeController : Controller
  •     {
  •         public ActionResult Index()
  •         {
  •             return View(new User());
  •         }
  •         [HttpPost]
  •         public ActionResult Index(User user)
  •         {
  •             Session["user"] = user.Login;
  •             return RedirectToAction("Result", user);
  •         }
  •         public ActionResult Result(User user)
  •         {
  •             return View(user);
  •         }
  •     }

 

  • @model PI.Models.User
  • @{
  •     ViewBag.Title = "Index";
  • }
  •  
  • <h2>Index</h2>
  • @using (Html.BeginForm())
  • {
  •     @Html.EditorFor(model => model.Login)
  •     <br/>
  •     @Html.EditorFor(model => model.Password)
  •     <input type="submit" value="Go"/>
  • }
  •  
  • @model PI.Models.User
  • @{
  •     ViewBag.Title = "Result";
  • }
  •  
  • <h2>Result</h2>
  •  
  • <p>Hello @Session["user"]</p>

 

6. Продемонстрировать работу с HTTP Cookie. Добавить в Cookie идентификатор сессии. Установить время жизни Cookie - 14 дней.

  • public void AddCookie()
  •         {
  •             HttpCookie aCookie = new HttpCookie("sessionId");
  •             aCookie.Value = HttpSessionState.SessionID.ToString();
  •             aCookie.Expires = DateTime.Now.AddDays(14);
  •             Response.Cookies.Add(aCookie);
  •  
  •         }

7. Продемонстрировать работу с HTTP Cookie. Прочитать Сookie c именем SESSION_ID, получить сессию по её идентификатору. Инвалидировать сессию.

  • string sessionId = Request.Cookies["sessionId"].Value;
  •             HttpCookie currentUserCookie = Request.Cookies["sessionId"];
  •             Response.Cookies.Remove("sessionId");
  •             currentUserCookie.Expires = DateTime.Now.AddDays(-10);
  •             currentUserCookie.Value = null;
  •             Response.SetCookie(currentUserCookie);
  •             Session.Abandon();

8. Принять HTTP POST-запрос, который содержит в себе имя пользователя и его дату рождения и вернуть ответ с полученными данными в формате JSON.

  • public JsonObject UserData()
  •         {
  •             string name = Request.Form["name"];
  •             DateTime birthday = DateTime.Parse(Request.Form["birthday"]);
  •             return new JSONObject().Put("name",name).Put("birthday",birthday);
  •         }

9. Нарисовать диаграмму паттерна MVC, привести пример кода, реализующий данный паттерн.

 

  • public class LoginView
  • {
  •         public string Login { get; set; }
  •         public string Name { get; set; }
  •  
  •         public LoginView() {}
  •         public LoginView(string l, string n)
  •         {
  •                Login = l;
  •                 Name = n;
  •          }
  • }

 

  • public class LoginController : Controller
  • {   
  •         [HttpGet]
  •         public ActionResult Index()
  •         {
  •             return View(new LoginView(“admin”, “Administrator”));
  •         }
  • }

 

  • @model lb2.Models.LoginView
  • <h2> user</h2>
  • <table>
  •     <tr>
  •         <th>
  •             Login
  •         </th>
  •         <th>
  •             Name
  •         </th>
  •     </tr>
  •  
  •     <tr>      
  •         <td>
  •             @Model.Login
  •         </td>
  •         <td>
  •             @Model.Name
  •         </td>       
  •     </tr>
  • </table>

 

10. Реализовать форму входа пользователя в систему, где в качестве логина используется email, пароль должен содержать не меньше 8 символов и обязательно содержать одну цифру.  Реализовать клиентскую валидацию введенных данных.

  • <form action="" method="get">
  • <input id="login" name="login" type="email" required>
  • <input id="pass" name="password" type="password" pattern="^(?=.*\d).{8,}$" required>
  • <input type="submit" value="login">
  • </form>

13.01.2016; 01:18
хиты: 313
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь