Bài 1: Cấu hình và chạy ứng dụng đầu tiên

Spring Framework hay ngắn hơn là Spring, là một cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngôn ngữ lập trình Java. Để có thể xây dựng được một ứng dụng bằng Spring Framework thì bước đầu tiên là bạn cần phải cấu hình Spring Framework và chạy ứng dụng đầu tiên để làm quen.

Để sử dụng Spring MVC thì bạn cần phải thực hiện việc cấu hình ứng dụng trong file web.xml ở lớp org.springframework.web.servlet.DispatcherServlet, mục đích là để nhận các yêu cầu từ người dùng gởi tới ứng dụng và sau đó dựa vào thông tin cấu hình sẽ chuyển tiếp các yêu cầu này đến các controller xử lý.

Trong ứng dụng đơn giản, chúng ta thường cấu hình ứng dụng Spring Framework bao gồm 2 file: web.xml và dispatcher-servlet.xml. Nếu như bạn dùng IDE Netbean lập trình thì mặc định khi tạo project đã sinh ra 2 file cấu hình này, việc còn lại là bạn chỉnh sửa thêm cho phù hợp.

Cấu hình Spring Framework tập tin web.xml:

Cấu hình Spring Framework tập tin dispatcher-servlet.xml:

Trong khai báo này thì org.springframework.web.servlet.DispatcherServlet được sử dụng để tiếp nhận tất cả các yêu cầu và thường thì file cấu hình của Spring đặt theo dạng sau “<name>-servlet.xml”.

Ngoài ra, bạn có thể xem video dưới đây để có thể hiểu rõ hơn về phần cấu hình Spring Framework cơ bản là như thế nào, sau đó bạn cũng sẽ biết cách chạy thử một ứng dụng bằng Spring Framework.

Download source code tại đây.

Link Google Drive:

Cấu hình và chạy ứng dụng đầu tiên

Link Fshare:

Cấu hình và chạy ứng dụng đầu tiên

(Tác giả: Tùng Dương)

9 thoughts on “Bài 1: Cấu hình và chạy ứng dụng đầu tiên

  1. đây là lỗi gì ạ
    Sep 18, 2017 8:29:45 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.j2ee.server:Project’ did not find a matching property.
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server version: Apache Tomcat/7.0.77
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server built: Mar 28 2017 16:01:48 UTC
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Server number: 7.0.77.0
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Name: Windows 10
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: OS Version: 10.0
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Architecture: amd64
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Java Home: C:\Program Files\Java\jre1.8.0_144
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Version: 1.8.0_144-b01
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: JVM Vendor: Oracle Corporation
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_BASE: E:\Spring_Framwork\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: CATALINA_HOME: D:\Tomcat\apache-tomcat-7.0.77
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.base=E:\Spring_Framwork\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dcatalina.home=D:\Tomcat\apache-tomcat-7.0.77
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dwtp.deploy=E:\Spring_Framwork\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Djava.endorsed.dirs=D:\Tomcat\apache-tomcat-7.0.77\endorsed
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.VersionLoggerListener log
    INFO: Command line argument: -Dfile.encoding=Cp1252
    Sep 18, 2017 8:29:45 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_144\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_144/bin/server;C:/Program Files/Java/jre1.8.0_144/bin;C:/Program Files/Java/jre1.8.0_144/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Users\It’s Me\AppData\Local\Microsoft\WindowsApps;;C:\Users\It’s Me\eclipse\jee-oxygen\eclipse;;.
    Sep 18, 2017 8:29:45 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler [“http-bio-8080”]
    Sep 18, 2017 8:29:45 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler [“ajp-bio-8009”]
    Sep 18, 2017 8:29:45 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1105 ms
    Sep 18, 2017 8:29:45 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Sep 18, 2017 8:29:45 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.77
    Sep 18, 2017 8:29:46 PM org.apache.catalina.deploy.WebXml setVersion
    WARNING: Unknown version string [3.1]. Default version will be used.
    Sep 18, 2017 8:29:46 PM org.apache.catalina.core.ApplicationContext log
    INFO: Marking servlet dispatcher as unavailable
    Sep 18, 2017 8:29:46 PM org.apache.catalina.core.StandardContext loadOnStartup
    SEVERE: Servlet [dispatcher] in web application [/Project] threw load() exception
    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:495)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:477)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1133)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Sep 18, 2017 8:29:46 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler [“http-bio-8080”]
    Sep 18, 2017 8:29:46 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler [“ajp-bio-8009”]
    Sep 18, 2017 8:29:46 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 877 ms

    1. Mình thấy lỗi : “java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet”
      Bạn kiểm tra lại xem.

  2. Minh gặp lỗi sau.mà không biết tại sao ,bạn chỉ giúp mình với
    org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI [/home/index] in DispatcherServlet with name ‘dispatcher’

  3. Mình bị lỗi này là như thế nào vậy ad
    Starting of Tomcat failed, the server port 8080 is already in use.
    See the server log for details.

    1. Chào bạn, lỗi này báo là cổng 8080 đã được mở, bạn kiểm tra lại một là tắt cổng 8080 để chạy lại, 2 là chạy cổng khác

Bình luận

Loading...