環境准備
eclipse
jdk1.8
tomcat 7
步驟總綱
a.准備好開發環境
b.下載相關jar包
c.在eclipse 中創建好工程
d.引進下載的jar 包
e.配置xml文件
f.編寫代碼及測試
彈簧mvc相關jar包
jsp,servelet相關jar包
創建工程及導入jar包
在項目瀏覽器中右鍵 - >新建 - >動態Web項目
有時候可能你的工作空間中並沒有創建過類似的工程,所以在新的子菜單中並沒有Dynamic Web Project,
那么你可以點其他,然后在彈出的對話框中找到Web,打開其折疊的項目可以找到Dynamic Web Project。
選擇Dynamic Web Project后會有對話框彈出,對話框主要是設置一下工程的基礎東西,如工程名,web服務器tomcat
之類的,本例子采用eclipse集成的tomcat 7(如何把tomcat 7集成到eclipse中網上有很多教程,也很簡單,相信你搜一下就可以知道了)。
填好之后可以直接finish,我得到的目錄是如下所示。
然后,將下載到的所需要的jar包全部放到WebContent / WEB-INF / lib中去,
然后選中工程 - >右鍵 - >刷新,刷新一下,就可以看到jar包自動配到環境路徑中了。
接下來是xml的配置文件,本例只需要配置兩個xml文件。一個是web.xml,這是所有web項目都需要配置的;另一個是spring相關所需要配置文件,我這里將其命名為spring-mvc.xml,當然你也可以叫其他名字,只要在相應配置的地方別把你起的名字搞錯就行了。
web.xml這個文件是放到WebContent / WEB-INF /路徑下的。
web.xml中的內容如下
<?xml version =“1.0”encoding =“UTF-8”?>
<web-app version = “3.0”
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
<! - 配置springmvc的核心分發器 - >
的<servlet>
<servlet-name> springMVC </ servlet-name>
<servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet-class>
<! - 有哪些文件是要跟着一起初始的 - >
<INIT-PARAM>
<param-name> contextConfigLocation </ param-name>
<param-value> classpath:spring - *。xml </ param-value>
</ INIT-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--核心分發器 要攔截哪些url -->
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
|
首先注意到 version="3.0" ,
這是我創建工程 的時候有相關選項,這里得跟那個選擇對應。
<!--有哪些文件是要跟着一起初始化的 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml </param-value>
</init-param>
|
這個的意思就是有哪些配置文件要在啟動時跟着初始化的,當然我們的另一個xml文件也是要初始化的。但是web容器的入口就是web.xml,其他的xml你不跟它說,它是不不知道的。所以在此告知我們src下的長得像spring - *。xml這樣的文件也要初始化。前面我也說過,spring-mvc.xml這個文件名是我我自行起的,你可以別別的名字,在web.xml中能清楚告訴人家你的叫什么就行了。
spring-mvc .xml是放到src下的
其內容為
注意,我用到的彈簧版本為4.3所以在該文件開頭對應地方也是對應着我4.3的版本。如果你的彈簧是其他版本,請對應到你的版本上去。這些都是網上對應的文本,你不確定你寫的是不是真有其文件的時候可以復制網址打開瀏覽器查詢一下就知道了
創建所需要的包及文件。我創建了兩個包:com.hlm.command,com.hlm.controller及一個文件夾jsp
分別創建兩個類
/ **
* <p>
* <ul> 用戶:對應hlm_users表的實體</ ul>
* <li> userName:用戶姓名</ li>
* <li> 性別:性別0表示女,1表示男</ li>
* <li> 令牌:注冊令牌,手機或郵箱</ li>
* <li> tokenType:令牌類型.0為手機,1為郵箱</ li>
* <li> 密碼:密碼</ li>
* </ p>
* @author hlm
*
* /
公共 類 UsersCommand {
私人 字符串 用戶名 ;
私人 整數 性 ;
私人 字符串 令牌 ;
私人 整數 tokenType ;
私人 字符串 密碼 ;
public UsersCommand(){
}
public UsersCommand(String userName ,Integer sex ,String token ,
整數 tokenType ,字符串 密碼){
這個。userName = userName ;
這個。性別 = 性別;
這個。標記 = 標記;
這個。tokenType = tokenType ;
這個。密碼 = 密碼;
}
public String getUserName(){
返回 用戶名;
}
public void setUserName(String userName ){
這個。userName = userName ;
}
public Integer getSex(){
返回 性別;
}
public void setSex(Integer sex ){
這個。性別 = 性別;
}
public String getToken(){
返回 令牌;
}
public void setToken(String token ){
這個。標記 = 標記;
}
public Integer getTokenType(){
返回 tokenType ;
}
public void setTokenType(Integer tokenType ){
這個。tokenType = tokenType ;
}
public String getPassword(){
返回 密碼;
}
public void setPassword(String password ){
這個。密碼 = 密碼;
}
}
|
包 com.hlm.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.hlm.command.UsersCommand ;
@Controller
公共 類 UsersController {
@RequestMapping (“/sigup.do” )
public ModelAndView sigup(HttpServletRequest req ){
ModelAndView mv = new ModelAndView();
UsersCommand cmd = new UsersCommand(“小明” ,0,“ admin@hlm.com ” ,1,“123456” );
req .getSession()。setAttribute(“user” , cmd );
mv .addObject(“password” , cmd .getPassword());
mv .addObject(“userName” , cmd .getUserName());
系統。out .println(cmd .getPassword());
mv .setViewName(“index” );
返回 mv ;
}
}
|
兩個頁面相關的文件如下
<!DOCTYPE html>
< html >
< head >
< meta charset = “UTF-8” >
< title > 登錄頁面</ title >
</ head >
< body >
< 一個 HREF = “sigup.do” > 點我登錄</ 一>
</ body >
</ html >
|
<%@ page language = “java” contentType = “text / html; charset = utf-8”
pageEncoding = “utf-8”%>
<!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 = utf-8” >
< title > 登錄后的信息</ title >
</ head >
< body >
< p > $ {密碼} </ p >
< p > $ {userName} </ p >
</ bod>
|
所有的配置及代碼都寫好之后,准備部署到tomcat讓它跑起來了。
找到如下位置,點擊藍色英文字來創建服務器
如果在整個eclipse版面中你沒有找到上面的Servers那么你可以到Window - > Show View - > Servers中將其找出來。
點擊創建服務后,會出現如下彈窗。選擇你在eclipse中配的tomcat就好了,我這里配的是tomcat 7。
創建之后還需要設置一下。
然后將我們的工程添加到這個服務上去。
啟動成功之后,打開瀏覽器。我用的是默認端口:8080,如果你改變自己tomcat的端口,對應輸入自己的就行了,然后后面是工程的名字。
回車之后就是默認的首頁WebContent / index.html。點擊“點我登錄”,應該跳轉到WebContent / WEB-INF / index.jsp。
有時候,如果你視圖解析的地方如果配得不正確,它有可能找不到你的jsp的地址