环境准备
Eclipse
jdk1.8
tomcat 7
步骤总纲
a.准备好开发环境
b.下载相关jar包
c.在eclipse 中创建好工程
d.引进下载的jar 包
e.配置xml文件
f.编写代码及测试
spring mvc 相关jar 包
jsp、servelet 相关jar 包
创建工程及导入jar 包
在 Project Explorer 中 右键-->New -->Dynamic Web Project
有时候可能你的工作空间中并没有创建过类似的工程,所以在New 的子菜单中并没有 Dynamic Web Project ,
那么你可以点 other ,然后在弹出的对话框中找到Web ,打开其折叠的项就可以找到 Dynamic Web Project。
选择 Dynamic Web Project 后会有对话框弹出,该对话框主要是设置一下工程的基础东西,如工程名、web服务器tomcat
之类的,本例子采用eclipse 集成的 tomcat 7 (如何把tomcat 7集成到eclipse 中网上有很多教程,也很简单,相信你搜一下就可以知道了)。
填好之后可以直接 finish ,我得到的目录是如下所示。
扫描二维码关注公众号,回复:
1435385 查看本文章
然后,将下载到的所需要的 jar 包全部放到 WebContent/WEB-INF/lib 中去,
然后选中 工程 -->右键 -->Refresh,刷新一下,就可以看到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 下的
其内容为
注意,我用到的spring 版本为4.3 所以在该文件开头对应地方也是对应着我4.3的版本。如果你的spring 是其他版本,请对应到你的版本上去。这些都是网上对应的文本,你不确定你写的是不是真有其文件的时候可以复制网址打开浏览器查询一下就知道了
创建所需要的包及文件。我创建了两个包:com.hlm.command 、com.hlm.controller 及一个文件夹 jsp
分别创建两个类
package
com.hlm.command;
/**
*
<p>
*
<ul>
Users : 对应hlm_users 表的实体
</ul>
*
<li>
userName:用户姓名
</li>
*
<li>
sex:性别 0 表示女,1表示男
</li>
*
<li>
token:注册令牌,手机或邮箱
</li>
*
<li>
tokenType:令牌类型。0为手机,1为邮箱
</li>
*
<li>
password:密码
</li>
*
</p>
*
@author
hlm
*
*/
public
class
UsersCommand {
private
String
userName
;
private
Integer
sex
;
private
String
token
;
private
Integer
tokenType
;
private
String
password
;
public
UsersCommand(){
}
public
UsersCommand(String
userName
,Integer
sex
,String
token
,
Integer
tokenType
,String
password
){
this
.
userName
=
userName
;
this
.
sex
=
sex
;
this
.
token
=
token
;
this
.
tokenType
=
tokenType
;
this
.
password
=
password
;
}
public
String getUserName() {
return
userName
;
}
public
void
setUserName(String
userName
) {
this
.
userName
=
userName
;
}
public
Integer getSex() {
return
sex
;
}
public
void
setSex(Integer
sex
) {
this
.
sex
=
sex
;
}
public
String getToken() {
return
token
;
}
public
void
setToken(String
token
) {
this
.
token
=
token
;
}
public
Integer getTokenType() {
return
tokenType
;
}
public
void
setTokenType(Integer
tokenType
) {
this
.
tokenType
=
tokenType
;
}
public
String getPassword() {
return
password
;
}
public
void
setPassword(String
password
) {
this
.
password
=
password
;
}
}
|
package
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
public
class
UsersController {
@RequestMapping
(
"/sigup.do"
)
public
ModelAndView sigup(HttpServletRequest
req
){
ModelAndView
mv
=
new
ModelAndView();
req
.getSession().setAttribute(
"user"
,
cmd
);
mv
.addObject(
"password"
,
cmd
.getPassword());
mv
.addObject(
"userName"
,
cmd
.getUserName());
System.
out
.println(
cmd
.getPassword());
mv
.setViewName(
"index"
);
return
mv
;
}
}
|
<!
DOCTYPE
html>
<
html
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>
登录页面
</
title
>
</
head
>
<
body
>
<
a
href
=
"sigup.do"
>
点我登录
</
a
>
</
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
>
${password }
</
p
>
<
p
>
${userName }
</
p
>
</
bod>
|
所有的配置及代码都写好之后,准备部署到tomcat 让它跑起来了。
找到如下位置,点击蓝色英文字来创建 Server
如果在整个eclipse 版面中你没有找到上面的Servers 那么你可以到 Window--> Show View -->Servers 中将其找出来。
点击创建服务后,会出现如下弹窗。选择你在eclipse 中配的tomcat 就好了,我这里配的是 tomcat 7。
创建之后还需要设置一下。
然后将我们的工程添加到这个服务上去。
启动成功之后,打开浏览器。我用的是默认端口:8080,如果你改过自己tomcat 的端口,对应输入自己的就行了,然后后面是工程 的名字。
回车之后就是默认的首页 WebContent/index.html 。点击“点我登录”,应该跳转到 WebContent/WEB-INF/index.jsp 。
有时候,如果你视图解析的地方如果配得不正确,它有可能找不到你的jsp 的地址