• 0909.804.713 / 0896.446.753
  • cskh@laptrinhjavaweb.com

Spring mvc là gì ? Tạo project spring mvc sử dụng XML configuration

Trong bài viết này, laptrinhjavaweb 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ì laptrinhjavaweb tiếp tục hướng dẫn các bạn học lập trình java spring mvc thông qua tạo 1 project spring mvc cơ bản như thế nào

Laptrinhjavaweb Academy cung cấp các khóa học: Java Core, Java Web, Java Hosting

Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí

- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT

- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT

- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT

- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản

1. Java backend api web service: CHI TIẾT

2. Thiết kế website

2.1 Thiết kế website cơ bản: CHI TIẾT

2.2 Thiết kế website nâng cao: CHI TIẾT

- Học spring framework không sử dụng spring boot: CHI TIẾT

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

Để lập trình web trong spring framework chúng ta sẽ sử dụng spring mvc

Spring MVC hiện nay có 2 cách xây dựng

1. Xây dựng theo phương pháp không sử dụng spring boot

2. Xây dựng dựa trên Spring boot

Hiện tại trong series này laptrinhjavaweb giới thiệu cho mọi người xây dựng theo phương pháp không sử dụng spring boot

Phần xây dựng theo spring boot mọi người tham khảo TẠI ĐÂY

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

File 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>

File 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

Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí

- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT

- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT

- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT

- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản

1. Java backend api web service: CHI TIẾT

2. Thiết kế website

2.1 Thiết kế website cơ bản: CHI TIẾT

2.2 Thiết kế website nâng cao: CHI TIẾT

- Học spring framework không sử dụng spring boot: CHI TIẾT

Tham gia livestream, workshop học java miễn phí cùng Laptrinhjavaweb

Tham gia group facebook để hỏi đáp trong quá trình học

Các kênh để nhận thông báo sớm nhất, hỏi đáp miễn phí trong quá trình học

Để có thể nhận thông báo nhanh nhất về các nội dung mà Laptrinhjavaweb biên soạn, các bạn follow facebook, youtube, nhóm Zalo. Trong quá trình học, cần hỏi đáp thì các bạn join vô nhóm facebook để hỏi đáp nhé

1. Nhận thông báo

- Facebook Laptrinhjavaweb: XEM TẠI ĐÂY

- Facebook cô giáo Lâm: XEM TẠI ĐÂY

- Youtube Laptrinhjavaweb: XEM TẠI ĐÂY

- Youtube Cô giáo Lâm: XEM TẠI ĐÂY

- Nhóm Zalo nhận thông báo: XEM TẠI ĐÂY

2. Hỏi đáp miễn phí, report bug, gợi ý nội dung

- Nhóm Facebook hỏi đáp miễn phí: XEM TẠI ĐÂY

Trên mạng có rất nhiều nguồn, tài liệu để học rất vui khi các bạn chọn Laptrinhjavaweb. Chúc các bạn học vui, hiệu quả cùng Cô giáo Lâm và Laptrinhjavaweb

Laptrinhjavaweb Academy cung cấp các khóa học: Java Core, Java Web, Java Hosting

Nhận Ebook phỏng vấn lập trình
Java và Spring Framework

Hy vọng tài liệu phỏng vấn này sẽ giúp cho anh/chị/em tốt hơn trong quá trình phỏng vấn

Đăng ký nhận ebook ngay
phone zalo zalo