spring-mvc 介绍
- Spring-mvc 属于表现层的框架,他是Spring 框架的一部分,作用就是controller(控制层)
- spring mvc 的执过程:
- 客服端发送请求 dispacherServlet
- 把相应的结果请求给 HandlerMapping (HanlerAdapter 进行处理(处理( 比如到那个界面,数据返回给那个界面,对数据哟啊做哪些处理(modleAndView(里面包括了要处理的数据、视图))
- 把这个 modleAndView 给你的 dispacherServlet 给你的视图渲染器 --> 最后还会到 dispacherServlet 最后用户才会看到一个好的网页)))
- 里面有几个核心的对象:
- 第一个是:dispacherServlet
- 第二个是:HandlerAadapter
- 第三个是:你的视图渲染器
- springmvc 的框架的项目
- 1.导入相关的 jar spring-webmvc-3.2.13.RELEASE.jar
- 2.核心 xml文件 springmvc.xml 配置,请求的地址
- 3.配置 它统一的前缀(目录的文件),后缀(.jsp.html)
- 核心配置文件在那里加载 web.xml (核心配置文件要配置到 web.xml)
- 在这里面配置 servlet spring-webmvc-3.2.13.RELEASE.jar
开始配置servlet 配置在 web.xml
<!--开始配置servlet servlet-name 取一个名字-->
<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:springmvc-servlet.xml</param-value>
</init-param>
<!-- 立刻加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
springmvc-srevlet 非注解 与 注解
<!--当你的请求地址 是 index.html 的时候 就会到 UserController 类 -->
<bean name="/index.html" class="com.offcn.controller.UserController"></bean>
<!-- 扫描 controller 下所有的包-->
<context:component-scan base-package="com.offcn.controller" />
<!--开启注解驱动-->
<mvc:annotation-driven />
<!-- 完成视图的对应-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--开始配置前缀 prefix 前缀-->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!--开始配置后缀 suffix 后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
非注解
public class UserController implements Controller{
@Override
public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
return new ModelAndView("doIndex");
}
}
Contoller层的各种实现方式
@Controller
public class UserController {
*@RequestMapping("index")
public String index(@RequestParam(value = "userName",required = false) String userName){
System.out.println(userName);
return "doIndex";
}
@RequestMapping(value = "/index/*.do",params = {"userName"},method = RequestMethod.GET)
@RequestMapping(value = "/index/{pid}/{userName}")
public String index(@PathVariable String pid,@PathVariable String userName){
System.out.println(pid+"\t"+userName);
return "doIndex";
}
@RequestMapping("/toDoIndex")
public ModelAndView toDoIndex( String userName){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("userName",userName);
modelAndView.setViewName("doIndex");
return modelAndView;
}
@RequestMapping("/toDoIndex1")
public String toDoIndex1(String userName, Model model){
model.addAttribute("userName",userName);
return "doIndex";
}
@RequestMapping("/toDoIndex2")
public String toDoIndex2(String userName, Map<String,Object> map){
map.put("userName",userName);
return "doIndex";
}
@RequestMapping("/toUpdata")
public String toUpdata(@RequestParam(value = "userName",required = false) String userName,
@RequestParam(value = "userPwd",required = true) String userPwd){
return "doIndex";
}
public String index(@RequestParam("userName") String userName){
System.out.println(userName);
return "doIndex";
}
}