Trong thời đại công nghệ hiện nay, việc phát triển các ứng dụng web động và dịch vụ web là một nhu cầu thiết yếu của các doanh nghiệp và lập trình viên. ASP.NET, một framework mã nguồn mở được phát triển bởi Microsoft, đã nhanh chóng trở thành công cụ không thể thiếu cho việc này. Được thiết kế để đơn giản hóa quá trình phát triển ứng dụng web, ASP.NET cung cấp nhiều tính năng mạnh mẽ và linh hoạt, giúp lập trình viên dễ dàng tạo ra các ứng dụng chất lượng cao, bảo mật và hiệu quả. Cùng TopDev tìm hiểu ASP.NET là gì? và các lợi ích tuyệt vời của ASP.NET ngay trong bài viết dưới đây! [caption id="attachment_62863" align="alignnone" width="1101"] ASP.NET là gì? Phân tích thành phần và phương thức hoạt động chi tiết[/caption] ASP.NET là gì? ASP.NET là một framework mã nguồn mở phía server được phát triển bởi Microsoft, nhằm mụ [...]
Read more →Bài viết được sự cho phép của tác giả Lê Hồng Kỳ Hướng dẫn xử lý database trong Spring MVC 5 với Hibernate sẽ bao gồm 4 xử lý cơ bản đó là thêm (C), lấy dữ liệu (R), cập nhật dữ liệu (U) và xóa dữ liệu (D). Trong những bài hướng dẫn trước, chúng tôi đã trình bày cách tạo một Web application với Spring MVC nhưng chưa có phần xử lý database. Và để xử lý database, chúng ta phải cần đến Hibernate. Hướng dẫn xử lý database trong Spring MVC 5 với Hibernate – Các bước thực hiện 1/ Tạo một Maven Web Application Project Các bạn có thể tạo mới một Project. Trong bài hướng dẫn này, chúng tôi sử dụng lại project của bài Hướng dẫn validation trong Spring MVC 5 2/ Mở file pom.xml và thêm dependency <!-- Spring ORM --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>5.1.0.RELEASE</version> </dependency> <!-- Hibernate Core --> <dependency> <groupId>org.hibernate</groupId& [...]
Read more →Quay lại với chuỗi bài phỏng vấn các ngôn ngữ lập trình, lần này là ASP.NET. Thế gian không chia thành 2 phe là .NET và Java nha. Anh em nào có dự định phỏng vấn .NET thì bài viết này đích thị là danh cho anh em rồi. Nhưng nếu anh em làm Java, làm Golang, anh em cũng có thể tham khảo. Nắm được một số điểm cơ bản của .NET cũng như kiến trúc .NET cũng tốt. Ôi dào dễ ăn lắm anh em ơi. Dễ hơn JS, SQL này kia đấy. Cứ tự tin mà xúc thôi à. Bắt đầu thôi anh em, điểm qua lần lượt 5 câu nha! 1. Giải thích mô hình MVC trong ASP.NET Câu hỏi đầu tiên phỏng vấn ASP.NET tất nhiên là câu hỏi về architectural pattern. Với một số anh em đi làm đã có kinh nghiệm thì MVC không còn là gì quá xa lạ. Nhưng thôi cũng điểm qua chút định nghĩa. MVC is a software architectural pattern that divides an application into three main parts [...]
Read more →Bài viết được sự cho phép của tác giả Lê Chí Dũng Hôm nay ôn lại bài web service vừa học trên lớp sẳn tìm kiếm thông tin về web service và mình vừa thu thập được một số thông tin hay về web service và share cho ace xem. Trước tiên là phần cơ bản về SOAP, WSDL, ASP.NET Web Service (trích từ YinYangit.wordpress.com) Web Service là gì? – Dịch vụ Web (Web Service) là một chuẩn để tích hợp các ứng dụng trên nền web (Web-based applications). Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ.Về bản chất, Web service dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải. Web Service không phụ thuộc vào platform nào, do đó bạn có thể dùng Web Service để truyền tải dữ liệu giữa các ứng dụng hay giữa các platform. Ví dụ như máy chủ chạy một trang web thương mại đ [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Sau khi định nghĩa API specs với RAML, chúng ta sẽ tiến hành implement API specs này. Nếu ứng dụng của các bạn đang sử dụng Spring framework thì các bạn có thể sử dụng Spring MVC-RAML Plugin để generate API contract với Spring framework và chỉ cần thêm code implementation. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé! [irp posts="44900" name="Authentication trong Spring Security"] [irp posts="44759" name="Bean, ApplicationContext, Spring Bean Life Cycle và Component scan"] Xem thêm tuyển dụng Spring hấp dẫn trên TopDev Đầu tiên, mình sẽ tạo mới một Spring Boot project với Web dependency như sau: Kết quả: Để làm ví dụ, mình sẽ sử dụng API specs được định nghĩa với RAML trong bài viết về API fragments với RAML. Các bạn có thể lấy nội dung của API specs này ở đây, copy tất cả các tập tin, folder vào thư muc src/main/resources/api của project của chúng ta: & [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết này, mình sẽ hướng dẫn các bạn tạo mới một ứng dụng Jakarta EE MVC với Maven trong Eclipse các bạn nhé! [irp posts="42914" name="Build executable jar sử dụng Maven Shade Plugin"] [irp posts="44051" name="Hiện thực một Maven Archetype"] Xem thêm các việc làm Django lương cao trên TopDev Đầu tiên, trong Eclipse, các bạn hãy vào File, chọn New rồi chọn Maven project: Để tạo một project Jakarta EE MVC với Maven, cách nhanh nhất là chúng ta sẽ sử dụng một cho Maven Archetype dành cho Jakarta EE MVC project. Mình có tạo mới một Maven Archetype để làm điều này, tên là huongdanjava-jakartaee8-archetype, sử dụng implementation cho Jakarta EE MVC 1.1.0 từ Eclipse Krazo. Các bạn có thể sử dụng nhé! Ở cửa sổ trên, chúng ta sẽ không chọn Create a simple project (skip archetype selection), để mặc định rồi nhấn nút Next nha các bạn. Đây là cửa sổ cho phép chúng ta lựa chọn [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Mình đã hướng dẫn các bạn cách tạo mới một Spring MVC project sử dụng Spring Legacy Project trong Spring Tool Suite 3. Nhược điểm của cách này là các bạn phải sử dụng Spring Tool Suite 3 mặc dù hiện tại Spring Tool Suite 4 đã được release rất lâu rồi. Thêm nữa là sau khi tạo project, các bạn phải update chỉnh sửa các dependencies lại, rồi phải thêm Maven Jetty Plugin để chạy ứng dụng cho nhanh. Thấy được những bất cập đó, mình đã tạo mới một Maven Archetype project, publish lên Central Maven Repository để các bạn có thể dễ dàng tạo mới một ứng dụng Spring MVC và sử dụng mà không cần phải tốn công như vậy. Bây giờ thì nếu các bạn muốn tạo mới một Spring MVC project với Maven thì có thể sử dụng huongdanjava-springmvc-archetype của mình. [irp posts="37261" name="Cài đặt Spring Boot CLI"] [irp posts="44051" name="Hiện thực một [...]
Read more →MVC được hình thành bởi các nghiên cứu của Trygve Reenskaug vào khoảng các năm 1978-1979. Sau đó nó được điều chỉnh và được cài đặt lần đầu tiên vào các lớp của thư viện Xerox PARC Smalltalk-80. Mô hình MVC cổ điển hiện tại ít được sử dụng trong môi trường lập trình desktop như trước đây nhưng hiện tại nó vẫn được sử dụng cực kì rộng rãi như là kiến trúc cơ bản trong các môi trường lập trình web. Tổng quan mô hình MVC [caption id="attachment_62677" align="aligncenter" width="2277"] Tổng quan mô hình MVC[/caption] MVC là gì? Mô hình MVC - Model-View-Controller là phương pháp chia nhỏ các các thành phần dữ liệu (data), trình bày (output) và dữ liệu nhập từ người dùng (input) thành những thành phần riêng biệt. MVC hoạt động như thế nào? Thông thường, chúng ta biết rằng mô hình MVC gồm 3 thành phần: Model, View và Controller View – Nơi người dùng tương tá [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong các nền tảng lập trình hiện đại như .NET, khi mà các công cụ và kĩ thuật hỗ trợ lập trình giao diện người dùng (UI) ngày càng trở nên mạnh mẽ và tiện dụng thì chúng ta thường có xu hướng đưa nhiều xử lý bên ngoài vào các lớp UI. Kết quả là các thành phần UI này chứa nhiều xử lý logic và dữ liệu mà lẽ ra nên tách rời thành những thành phần riêng. Việc tách rời xử lý và trình bày vì những lí do sau: Trong một hệ thống, UI là thành phần có nhiều khả năng thay đổi nhất nên việc tách rời các thành phần UI giúp có thể thay đổi các thành phần UI này một cách độc lập mà không ảnh hưởng đến các thành phần xử lý khác. Đặc biệt việc tách rời các thành [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Khi làm việc với các ứng dụng web sử dụng Spring MVC hoặc Spring Boot, đôi khi chúng ta sẽ có nhu cầu lấy thông tin base URL của ứng dụng để làm gì đó. Base URL ở đây là https://huongdanjava.com hoặc là https://google.com đó các bạn. Để làm được điều này, các bạn có thể dùng class ServletUriComponentsBuilder của Spring. [irp posts="36724" name="Cách sử dụng properties trong tập tin cấu hình của Spring"] [irp posts="11468" name="cURL là gì? Cách sử dụng Curl"] Cụ thể class này nó có một phương thức tên là fromRequestUri() với tham số là đối tượng của class HttpServletRequest. Chúng ta sẽ lấy được base URL của ứng dụng với đối tượng của class HttpServletRequest này, cụ thể như sau: String baseUrl = ServletUriComponentsBuilder.fromRequestUri(request) .replacePath(null) .build() .toUriString(); Phương thức fromRequestUri() sẽ trả về schema (http hoặc https), host, port và context path của ứng dụng. Vì nhu cầu của chúng ta chỉ cần schema, host và port nên như các bạn thấy, [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Internationalization là tính năng của các ứng dụng web hiện đại, có khả năng hiển thị giao diện trên nhiều ngôn ngữ từ các quốc gia khác nhau. Ví dụ như nếu ứng dụng web của bạn có thể hiển thị tiếng Anh, tiếng Việt, tiếng Đức, tiếng Hàn, tiếng Nhật thì người dùng biết một trong các ngôn ngữ này, có thể chọn lựa ngôn ngữ mà họ rành nhất. Nếu các bạn đang sử dụng Spring MVC cho ứng dụng web của mình thì có thể đọc bài viết này. Mình sẽ hướng dẫn các bạn cách hiện thực Internationalization trong Spring MVC các bạn nhé! [irp posts="38369" name="Cho phép tùy chọn Giao diện trong Spring Web MVC framework"] [irp posts="29432" name="Giải thích mô hình MVC thông qua … cốc trà đá"] Đầu tiên, mình sẽ tạo mới một Spring MVC project sử dụng Spring Tool Suite 3 để làm ví dụ: Kết quả: [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết trước, mình đã giới thiệu với các bạn về Liquibase, một thư viện giúp chúng ta hiện thực việc database migration cho một ứng dụng Java bất kỳ. Trong bài viết này, mình sẽ hướng dẫn các bạn hiện thực database migration sử dụng Liquibase với Spring MVC các bạn nhé! [irp posts="30615" name="Chạy database migration khi deploy, nên hay không?"] [irp posts="18024" name="Migrate từ hệ thống monolithic sang microservice - part 2"] Đầu tiên, mình sẽ tạo mới một Spring MVC project sử dụng Spring Tool Suite 3 để làm ví dụ. Kết quả: Mình sẽ sử dụng Maven Jetty Plugin để chạy project này. <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.40.v20210413</version> <configuration> <webApp> <contextPath>/springmvc-liquibase</contextPath> </webApp> </configuration> </plugin> Kết quả khi mình chạy project này sẽ như sau: Để làm việc với Liquibase, các bạn cần khai [...]
Read more →Bài viết được sự cho phép của Tạp chí Lập trình Trong phần này, bạn sẽ sửa đổi file “HelloWorldController.cs”, sử dụng view để đóng gói quá trình sinh ra HTML trả về cho client. Bạn sẽ tạo một view sử dụng “Razor view engine”. “Razor view” có phần mở rộng là “.cshtml” và cung cấp cách thức để tạo ra HTML sử dụng C#. Razor sẽ giúp tinh gọn mã lệnh khi bạn viết một view. [irp posts="14011" name="ASP.NET Core là gì?"] [irp posts="13086" name=".NET core vs ASP.NET core: Phân biệt .NET Framework, .NET Core và Mono"] Hiện tại, phương thức “Index” trả về một chuỗi là một thông báo đã được khai báo trong Controller. Chúng ta sẽ thay đổi phương thức “Index” để trả về một đối tượng view: [sourcecode language=”csharp”] public ActionResult Index() { return View(); } [/sourcecode] Phương thức “Index” ở trên sử dụng một view để sinh ra HTML trả về cho trình duyệt. Các phương thức trong Controller (gọi là action methods) như phương thức “Index” ở trên thường trả về ActionResult (hoặc một lớp dẫn xuất từ [...]
Read more →Bài viết được sự cho phép của smartjob.vn Trong bài viết này chúng tôi giới thiệu đến các bạn sử dụng tổ hợp nhiều kỹ thuật khác nhau: Spring Web MVC 4 Hibernate Validator Maven build tool Chúng ta sẽ xây dựng ứng dụng gồm 2 màn hình: màn hình nhập thông tin và màn hình thông báo kết quả thành công như sau: Kết quả trả về sau khi đã validate (kiểm tra dữ liệu đầu vào) 18 Web Developer Jobs lương cao tại TopDev Các bước thực hiện Tạo mới project sử dụng Maven archetype maven-archetype-webapp . Nếu bạn chưa rõ về cách tạo project từ archetype, bạn có thể xem phần đầu bài viết Kỹ thuật Autowiring sử dụng annotation trong Spring Framework . Một project khuôn được tạo ra, bạn cần bổ sung thêm các thư mục ( src , main , java ), khai báo thêm thư viện để project có được cấu trúc như sau: File pom.xml đầy đủ như bên dưới, Bạn cần khai báo các thư viện. Mỗi thư viện đề [...]
Read more →Bài viết được sự cho phép của tác giả Trần Thị Thu Hà Để tăng độ hài lòng của khách truy cập, trang web có thêm tùy chọn Giao diện theo ý muốn của người dùng. Trong bài viết này, chúng mình sẽ chia sẻ với bạn cách xây dựng một ứng dụng Spring Web MVC như thế. [irp posts="29432" name="Giải thích mô hình MVC thông qua … cốc trà đá"] [irp posts="587" name="Google AMP là gì ? Cài đặt AMP cho website asp.net mvc"] Bạn cần khởi tạo project bằng Maven archetype có tên maven-archetype-webapp, nếu bạn chưa rõ cách khởi tạo hãy xem bài viết Kỹ thuật Autowiring sử dụng annotation trong Spring Framework. Cấu trúc thư mục của ứng dụng sẽ như sau: Chúng ta sẽ tạo 14 files mã nguồn bao gồm: JobController.java Job.java beach.properties classic.properties modern.properties beach.css classic.css modern.css addjob.jsp resultJob.jsp springmvc-servlet.xml web.xml index.jsp pom.xml Sau khi Maven tự động tạo cho bạn một số thư mục có sẵn, bạn cần tạo thê [...]
Read more →