SpringMVC简单搭建与入门

时间:2023-03-09 20:01:55
SpringMVC简单搭建与入门

SpringMVC框架是spring框架的一个模块。springmvc和spring无需要通过中间整合层进行整合。

学习的时候,先了解一下流程至关重要,下面,简单介绍一下流程。

源码下载:http://pan.baidu.com/s/1mgUEaYs

1,用户发出请求到DispatcherServlet,我们就要在web.xml中去配置DispatcherServlet,从而拦截请求到Spring Web MVC。

2,拦截到的请求,将请求映射到处理器HandlerMapping。

3,处理器适配器对handler进行适配。

4,进行适配后,调用相应的处理方法。

5,进行视图解析,页面控制器进行配置。

6,视图处理后,返回到相应的相应界面。

下面介绍springMVC的搭建过程。

一、导入jar包。

SpringMVC简单搭建与入门

二、创建三个jsp界面,一个开始界面,一个成功界面,一个失败界面。

分别是:login.jsp,success.jsp,error.jsp。

SpringMVC简单搭建与入门

三、来配置一下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"
id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- Spring配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

我们可以看到,在配置web.xml中的DispatcherServlet,这就是流程中的第一步,用户发出请求到DispatcherServlet,我们就要在web.xml中去配置DispatcherServlet,从而拦截请求到Spring Web MVC。

然后,我们能看到下一行,对springMVC文件进行配置。

四,配置springmvc.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"
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/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <bean id="userInfoController" class="com.controller.UserInfoController">
<property name="successView" value="success"></property>
<property name="errorView" value="login"></property>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/user.do">userInfoController</prop>
</props>
</property>
</bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>

在第十行代码中,我们看到了SimpleUrlHandlerMapping,拦截到的请求,将请求映射到处理器HandlerMapping。
五、先建一个userinfo类,然后创建步骤四中UserInfoController,这个东西该提前建好,好在我所谓的步骤四中配置。

 package com.po;

 public class UserInfo {
private int id;
private String name;
private String pwd;
public UserInfo() {
super();
}
public UserInfo(int id, String name, String pwd) {
super();
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
} }
 package com.controller;

 import java.util.HashMap;
import java.util.Map; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController; import com.po.UserInfo; public class UserInfoController extends AbstractController{
private String successView;
private String errorView; public String getSuccessView() {
return successView;
} public void setSuccessView(String successView) {
this.successView = successView;
} public String getErrorView() {
return errorView;
} public void setErrorView(String errorView) {
this.errorView = errorView;
} @Override
protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse res) throws Exception {
// TODO Auto-generated method stub
String name = req.getParameter("username");
String pwd = req.getParameter("userpass");
UserInfo user = getUser(1,name, pwd);
Map<String, Object> model = new HashMap<String,Object>();
if(user!=null){
model.put("user", user);
return new ModelAndView(getSuccessView(),model);
}else{
model.put("error", "用户名或密码输入失败!!");
return new ModelAndView(getErrorView(),model);
} } public UserInfo getUser(int id,String name,String pwd){
if(name.equals("test")&&pwd.equals("test")){
return new UserInfo(1, name,pwd);
}else{
return null;
}
}
}

好了,这springmvc算配置好了。不足之处,欢迎请指正。