Spring mvc là gì ? Tạo project spring mvc sử dụng XML configuration
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 lập trình java 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í không sử dụng spring boot
– Chi tiết: XEM TẠI ĐÂY
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
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
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í không sử dụng spring boot
– Chi tiết: XEM TẠI ĐÂY
Follow nhóm zalo, fanpage, facebook cá nhân, group facebook, kênh youtube để nhận các nội dung về lập trình java core, java web hay ho
– Fanpage: XEM TẠI ĐÂY
– Facebook cá nhân: XEM TẠI ĐÂY
– Nhóm Zalo: https://zalo.me/g/hjeert065
– Nhóm học lập trình java core: XEM TẠI ĐÂY
– Nhóm học lập trình java web: XEM TẠI ĐÂY
– Kênh youtube của laptrinhjavaweb: XEM TẠI ĐÂY