首先了解url
/springmvc-1这个是工程名字
/hello这个是控制器中指定的@RequestMapping(value="/hello")
这下面那个被注解的方法即是 相应这整个完整url的方法
1.新建一个Web Project,名字叫springmvc-1
2.将springmvc的关键jar拷贝到lib目录下
\springmvc-1\WebRoot\WEB-INF\lib
commons-logging-1.1.1.jar spring-core-4.3.0.RELEASE.jar
spring-aop-4.3.0.RELEASE.jar spring-expression-4.3.0.RELEASE.jar
spring-beans-4.3.0.RELEASE.jar spring-web-4.3.0.RELEASE.jar
spring-context-4.3.0.RELEASE.jar spring-webmvc-4.3.0.RELEASE.jar
3.修改
\springmvc-1\WebRoot\WEB-INF\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">
<servlet>
<!-- 创建名为myServletName的servlet -->
<servlet-name>myServletName</servlet-name>
<!-- 固定写法 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 固定写法 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<!-- 名字跟上面创建的myServletName一样 -->
<servlet-name>myServletName</servlet-name>
<!-- servlet的根路径,可以有多个。根据请求的url,交给特定servlet处理请求,这里只指定一个/,所以所有的请求都是由myServletName这个servlet处理的 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
4.myServletName这个servlet的具体配置
新建myServletName-servlet.xml,
命名规则是“你的servlet名字”+-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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
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="pkg.springmvc"></context:component-scan>
<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven />
<!-- 视图解释类 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 视图的前缀(含路径) -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 视图的前缀后缀 -->
<property name="suffix" value=".jsp" />
</bean>
</beans>
5.控制器
springmvc-1\src\pkg\springmvc\MyController.java
package pkg.springmvc;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller//指明这事一个控制器,以便自动注入
public class MyController {
@RequestMapping(value="/hello", method = RequestMethod.GET)//处理http://127.0.0.1:8080/springmvc-1/hello这个请求
public String dealHello(ModelMap model,HttpServletRequest request){
System.out.println("dealHello");
model.addAttribute("message", "message");
model.addAttribute("key",request.getParameter("key"));
return "helloPage";//所输出的视图,即 前缀[/WEB-INF/jsp/]+helloPage+后缀[.jsp]
}
@RequestMapping(value="/hello2", method = RequestMethod.GET)//处理http://127.0.0.1:8080/springmvc-1/hello2?key=dfdsfsd这个请求
public ModelAndView dealHello2(HttpServletRequest request){
System.out.println("dealHello2");
ModelAndView view = new ModelAndView("helloPage2");//使用helloPage2.jsp作为输出视图
view.addObject("msg","helllllll");
return view;
}
@RequestMapping(value="/hello3", method = RequestMethod.GET)//处理http://127.0.0.1:8080/springmvc-1/hello3?key=fwhjekhf这个请求
public void dealHello3(HttpServletRequest request,HttpServletResponse response){
System.out.println("dealHello3");
try {
response.getWriter().write("You say :"+request.getParameter("key"));//不需要视图,直接输出
} catch (IOException e) {
e.printStackTrace();
}
}
}
6.视图springmvc-1\WebRoot\WEB-INF\jsp\helloPage.jsp
里面随便写点什么东西就可以了
helloPage.jsp out put
<h2>Hello, ${message}</h2>
<h3>key:${key}</h3>
7.在 Servers 标签(在Console标签旁边) 中右击 MyEclipse Tomcat ---- Add Deployment...----选择自己的工程springmvc-1--OK
再右击MyEclipse Tomcat-- Run Server
浏览器中打开
http://127.0.0.1:8080/springmvc-1/hello