最新eclipse從零開始建立SpringMVC項目(詳細過程)


最新eclipse從零開始建立SpringMVC項目(詳細過程)

https://blog.csdn.net/qq_36708868/article/details/93878396

一、首先記錄一下我的開發環境版本

1.查看jdk版本Java 12.0.1 (win+R,打開cmd,輸入 java --version命令):

(下載安裝jdk的過程不贅述)

2.查看eclipse版本 2019-03 (4.11.0) (Help-->About Eclipse IDE)

注意:jdk和eclipse位數要一致,要么均為32位 要么均為64位

3.查看web應用服務器 Tomcat 的版本: 9.0.21(下載的時候注意即可,這里我從Tomcat官網下載的最新版本)

注意:安裝Tomcat后不需要配置環境變量,因為查看startup.bat文件源代碼可知,Tomcat的環境變量在它運行的時候自動配上了。詳情參見 這篇博客。

 

(這里有必要說一下Tomcat的啟動方式)

Tomcat分為在本地啟動和Eclipse里啟動兩種方式。

如果在本地啟動服務,Eclipse里再啟動就會報錯,因為存在沖突。如果要在本地啟動Tomcat服務,有兩種方式:一種是在 tomcat安裝路徑\bin文件夾下點擊startup.bat文件,對應的關閉就是shutdown.bat文件,出現
Tomcat本地成功啟動示意圖

說明成功在本地啟動服務。

第二種本地啟動方式:bin目錄下找到tomcat9w.exe,直接點擊或者發送快捷方式到桌面,點擊Start即可

在瀏覽器地址欄里輸入 localhost:8080,回車

出現這個說明成功啟動。關閉服務之后會無法訪問。

4.接下來在Eclipse里配置Tomcat

添加新的Server運行時配置。點擊Window -->Preferences ,展開 Server --> Runtime Environments

這里我已經配置好了。

5.MySQL+ Navicat 安裝和配置

我找到的最有效最快捷的方法在 這篇博客里。

其中的Navicat Premium是破解版的(Navicat破解免安裝版百度網盤鏈接 提取碼:nq4v)。非常好,在裝好Navicat之后一定要記住用戶名(這個默認為root)和自己修改后的密碼,假設用戶名為root,密碼為 user-password。

然后需要下載一個mysql的驅動mysql-connector-java,這樣才可以讓eclipse連接到數據庫。這里驅動包的版本最好和MySQL配對,都用最新的就沒什么問題了。低版本的配對問題請百度。

網上有些不好找,這里放上我的 鏈接:mysql-connector-java-8.0.16.jar百度網盤鏈接 提取碼:xhwi

把這個jar包放在Tomcat安裝目錄\lib下。等建好工程后自動把jar包添加進去。
至此,環境方面基本上配置好了,可以准備創建工程,搭建框架來實現Hello World了

二、在Eclipse里創建一個Dynamic Web Project項目

1.新建一個Dynamic Web Project

項目名稱為springMVC,Dynamic web module version 為4.0

這里我已經做了處理,把mysql-connector-java-8.0.16.jar手動復制到WEB-INF\lib目錄下。然后選中工程名稱,鼠標右鍵,Properties --> Java build path -->Libraries

這樣mysql就和eclipse的驅動連接好了。剩下的就是在配置文件里設置好連接參數,eclipse即可訪問數據庫。

2.SpringMVC框架

搭建簡單的SpringMVC框架,准備好相關的jar包,直接在官網下載SpringFramework的GA版本(表示發布版本)

或者直接在這里的鏈接下載https://repo.spring.io/libs-release-local/org/springframework/spring/

選擇其中最新的版本(官網下載需要通過git工具來下載)

下載完成后,把這些jar包復制到WEB-INF/lib目錄下。全部粘貼進去就可以(只粘貼jar包,source和doc不用粘貼,全粘貼進去也沒啥大問題,就是看起來很多)我是一個個粘貼進去的。

還要再下載幾個jar包,如下:

commons-logging-1.2下載網址為http://commons.apache.org/proper/commons-logging/download_logging.cgi?Prefer

下載bin的zip版即可,格式說明見https://www.cnblogs.com/s1-myblog/p/10228816.html

還有jstl-1.1.2.jar和standard-1.1.2.jar

接着在WebContent目錄下新建一個index.jsp文件,內容如下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="ISO-8859-1">
<title>Spring 5.0 MVC demo</title>
</head>
<body>
<a href ="hello.jsp">Say hello</a>
</body>
</html>

在WEB-INF目錄下新建兩個配置文件,分別是web.xml和spring-servlet.xml

web.xml內容:

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

<display-name>Spring3MVC</display-name>
<servlet>

<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- load-on-startup:表示啟動容器時初始化該Servlet; -->
<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>spring</servlet-name>
<!-- url-pattern:表示哪些請求交給Spring Web MVC處理, “/” 是用來定義默認servlet映射的。 --> <!-- 也可以如“*.html”表示攔截所有以html為擴展名的請求。 -->
<url-pattern>/</url-pattern>
</servlet-mapping>

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

<!-- 自此請求已交給Spring Web MVC框架處理,因此我們需要配置Spring的配置文件, -->
<!-- 默認DispatcherServlet會加載WEB-INF/[DispatcherServlet的Servlet名字,也就是上面的spring]-servlet.xml配置文件。 -->
<!-- 即spring-servlet.xml -->

</web-app>

spring-servlet.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:p="http://www.springframework.org/schema/p"
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-3.0.xsd">

<context:component-scan base-package="net.spring.controller" />

<!-- 在Spring配置文件中配置ViewResolver -->
<!-- InternalResourceViewResolver:用於支持Servlet、JSP視圖解析;
viewClass:JstlView表示JSP模板頁面需要使用JSTL標簽庫,classpath中必須包含jstl的相關jar包;
prefix和suffix:查找視圖頁面的前綴和后綴(前綴[邏輯視圖名]后綴),
比如傳進來的邏輯視圖名為hello,則該該jsp視圖頁面應該存放在“WEB-INF/jsp/hello.jsp”; -->

<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />

</bean>
</beans>

在WEB-INF下新建jsp文件夾,再在jsp目錄下新建一個hello.jsp文件,內容如下

<pre name= "code" class="java"></pre>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-type" content="text/html" charset="ISO-8859-1">
<title>Spring MVC demo</title>
</head>
<body>
<p> This is my message:${message }</p>

</body>
</html>

 

然后在Java Resources資源文件夾下新建一個包:net.spring.controller

<pre name= "code" class="java"></pre>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-type" content="text/html" charset="ISO-8859-1">
<title>Spring MVC demo</title>
</head>
<body>
<p> This is my message:${message }</p>

</body>
</html>

在包目錄下新建一個HelloWorldController.java文件

代碼內容:

package net.spring.controller;

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

@Controller
public class HelloWorldController {

@RequestMapping("Hello")
public ModelAndView helloworld() {
String me = "Hello World,Spring 5.0";

//ModelAndView:包含了試圖要實現的模型數據和邏輯視圖名
//message是數據的名稱,在視圖中用來引用的名字
//me 是對應的值
//hello 是對應視圖的名字

ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message",me);
modelAndView.setViewName("hello");
return modelAndView;

//以上4個語句相當於以下一句:
//return new ModelAndView("hello","message",me);
}

}

最后,整個工程的目錄是這樣的:

這樣,框架就已經搭好了,並且可以實現在本地服務器tomcat運行該項目。

選中該項目,鼠標右鍵,Run as ——> Run On Server

直接選擇finish

中間有個 restart的詢問,點擊確定。可以看到index.jsp渲染的歡迎界面

(也可以在瀏覽器輸入地址:http://localhost:8080/springMVC,但是這種方法需要關閉Eclipse的tomcat,打開本地的tomcat,前面已經提到過)

然后點擊Sayhello超鏈接,跳轉到 hello.jsp頁面(這里需要調整,把hello.jsp文件放在index.jsp同級目錄下才可以運行。)

點擊之后出現這個

但是還有bug,后面的 message里的信息提取不出來。

基本成功,基本實現了基於簡單的SpringMVC框架實現web訪問,可以在此基礎上加上數據庫的訪問。

參考資料:https://blog.csdn.net/linyk3/article/details/47155931?tdsourcetag=s_pcqq_aiomsg

https://www.cnblogs.com/pcmcnblogs/p/6088777.html
————————————————
版權聲明:本文為CSDN博主「KeneathGuo」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36708868/article/details/93878396


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM