Dịch vụ Học java web cơ bản free Bài viết java web hay Học java cơ bản free Bài viết java hay Liên hệ

Học spring mvc và hướng dẫn tạo project spring mvc cơ bản

Trong bài viết này, mình muốn giới thiệu cho các bạn biết spring mvc là gì

Sau khi tìm hiểu được khái niệm spring mvc là gì thì mình tiếp tục hướng dẫn các bạn học spring mvc thông qua tạo 1 project spring mvc cơ bản như thế nào

Khóa học spring mvc cơ bản miễn phí: XEM TẠI ĐÂY

Các nội dung trong bài viết học spring mvc tạo project spring mvc

1. Tạo project spring mvc sử dung XML config và eclipse

2. Tạo project spring mvc sử dụng java config và eclipse (đang update)

3. Tạo project spring mvc sử dụng intellij (đang update)

3. Tạo project spring mvc sử dụng Spring Tool Suite (đang update)

Khái niệm spring mvc là gì ?

Trước khi tìm hiểu spring mvc là gì các bạn cần biết spring framework là gì: XEM TẠI ĐÂY

Spring mvc là gì ?

Sau khi biết được spring framework là gì rồi thì chúng ta đi vào spring mvc là gì nhé. Hiểu đơn gian thế này, các bạn đã nghe qua mô hình MVC (model, view, controller) trong thiết kế.

Khi các bạn lập trình với jsp servlet thì mô hình MVC được hiểu như sau: jsp chính là view, servlet là controller. Tuy nhiên các bạn biết rồi đó, servlet nó có rất là nhiều nhược điểm vì vậy các nhà phát triển Spring framework đã cố gắng phát triển và đưa ra cho chúng ta 1 công nghệ cao cấp hơn, xịn xò hơn, hỗ trợ nhiều thứ hơn cũng hoạt động trên mô hình MVC giống như khi chúng ta build bằng jsp,servlet.

Nhưng công nghệ này, controller không phải là servlet nữa mà nó sẽ sử dụng 1 vài thư viện có sẵn mà nhà cung cấp Spring framework viết ra ví dụ như @Controller, @RequestMapping, @RequestBody ... Và công nghệ mà chúng ta đang nói chính là Spring mvc, nói 1 cách dễ hiểu là khi các nhà phát triển Spring framework họ xài servlet họ thấy chuối và họ thấy servlet không hỗ trợ nhiều, từ đó họ giận tìm người và phát triển ra phiên bản Spring mvc như ngày hôm này

Rồi giải thích sơ sơ cho các bạn hiểu vậy hen, phía dưới này sẽ là phần mình hướng dẫn tạo project spring mvc, các bạn theo dõi tiếp nhé

 

1. Tạo project spring mvc sử dụng XML config, Eclipse

Các phần mềm và thư viện sử dụng để tạo project spring mvc:

  • Apache maven 3.6.0
  • Eclipse EE
  • JDK 1.8
  • Spring framework 4.3.13.RELEASE
  • Tomcat 8.5
  • Mysql 8
  • Servlet api 3.1.0, jsp api 2.3.1, jstl 1.2

Download các phần mềm tại đây: LINK DOWNLOAD

Spring MVC flow:

Hình 1: Flow trong Spring MVC

Cấu trúc project spring mvc:

Hình 2: Cấu trúc project Spring MVC là gì

Các bước tạo project spring mvc cơ bản sau khi hiểu spring mvc:

1. Tạo 1 project java web sử dụng maven:

Mở Eclipse EE, sau đó File -> New -> other

Hình 3: tạo maven project

Chú ý: Artifact Id là tên project mà các bạn đang làm, ví dụ cái chúng ta đang làm là spring mvc thì các bạn để là spring-mvc

2. Sau khi tạo xong project, update lại project:

3. Mở file POM.xml, add các thông tin như bên dưới:

Thông tin file POM.xml:

 

<properties>
   <servlet.api.version>3.1.0</servlet.api.version>
   <springframework.version>4.3.13.RELEASE</springframework.version>
   <jsp.api.version>2.3.1</jsp.api.version>
   <jstl.version>1.2</jstl.version>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
   <!-- Spring -->
  
<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${springframework.version}</version>
   </dependency>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${springframework.version}</version>
   </dependency>

   <!-- servlet api -->
  
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${servlet.api.version}</version>
   </dependency>

   <!-- jsp api -->
  
<dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>${jsp.api.version}</version>
   </dependency>

   <!-- jstl -->
  
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>${jstl.version}</version>
   </dependency>
</dependencies>

<build>
   <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.6.1</version>
         <configuration>
            <source>1.8</source>
            <target>1.8</target>
         </configuration>
      </plugin>
   </plugins>
</build>

4. Tiếp tục làm theo hình:

Bước 1: trong folder main, tạo 1 folder tên webapp

Bước 2: trong folder webapp tạo 1 folder tên WEB-INF

Bước 3: trong folder WEB-INF tạo 1 file web.xml, và add thông tin như bên dưới vào file web.xml:

Thông tin file web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        
xmlns="http://java.sun.com/xml/ns/javaee"
        
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        
version="2.5"
>
    <display-name>spring-mvc</display-name>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/context/applicationContext.xml
        </
param-value>
    </context-param>

    <!-- Spring MVC -->
   
<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/context/dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <session-config>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
   
</
web-app>

 

Bước 4: Trong folder webapp tạo 1 file index.jsp và add thông tin như bên dưới vào file index.jsp

Thông tin file index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:redirect url="/trang-chu"/>

5. Tiếp tục làm theo như hình bên dưới:

Bước 1: tạo folder context trong WEB-INF

Bước 2: trong folder context tạo 2 file applicationContext.xml và dispatcher-servlet.xml và copy code vào 2 file này theo code bên dưới

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

      
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      
xmlns:context="http://www.springframework.org/schema/context"

      
xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd"
>

    <!-- Activates scanning of @Repository and @Service and @Component -->

   
<context:component-scan base-package="com.laptrinhjavaweb" />

</beans>

dispatcher-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"

  
xmlns:context="http://www.springframework.org/schema/context"

  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  
xmlns:mvc="http://www.springframework.org/schema/mvc"

  
xsi:schemaLocation="

        http://www.springframework.org/schema/beans

        http://www.springframework.org/schema/beans/spring-beans.xsd

        http://www.springframework.org/schema/mvc

        http://www.springframework.org/schema/mvc/spring-mvc.xsd

        http://www.springframework.org/schema/context

              http://www.springframework.org/schema/context/spring-context.xsd"
>

   <context:component-scan
     
base-package="com.laptrinhjavaweb.controller"
/>

   <mvc:annotation-driven />

   <bean
     
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
>

      <property name="prefix" value="/WEB-INF/views/" />

      <property name="suffix" value=".jsp" />

   </bean>
</beans>

 

Bước 3: trong WEB-INF tạo folder views

Bước 4: tạo file home.jsp và copy code như bên dưới vào file home.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Home Page</title>

</head>

<body>
<h1>Trang chủ</h1>
<h1>Menu</h1>

<%@ include file="menu.jsp" %>
</body>

</html>

 

6. Tiếp tục làm theo hình bên dưới:

Tạo 1 package có tên là: com.laptrinhjavaweb.controller

7. Trong package “com.laptrinhjavaweb.controller” tạo 1 file java HomeController.java và copy code bên dưới

package com.laptrinhjavaweb.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HomeController {
  
  
@RequestMapping(value = "/trang-chu", method = RequestMethod.GET)
  
public ModelAndView homePage() {
      ModelAndView mav =
new ModelAndView("home");
     
return mav;
   }
  
  
@RequestMapping(value = "/springmvc", method = RequestMethod.GET)
  
public ModelAndView springMVCPage() {
      ModelAndView mav =
new ModelAndView("springmvc");
     
return mav;
   }
}

 

8. Sau khi hoàn thành các bước trên, bạn build lại project như sau:

 

 

 

 

 

 

 

Sử dụng câu lệnh trong maven: mvn clean install để build project

9. Cuối cùng thì chúng ra sẽ run project sử dụng tomcat

Khóa học spring mvc cơ bản miễn phí: XEM TẠI ĐÂY

Thông tin liên hệ: