一.xml模式
springmvc是个啥我就不多说了,c层框架的boss,要使用肯定第一件事就是导jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
然后在项目中的web.xml中加上
<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:mvc-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
然后在resources文件夹下弄一个主配置文件 详细看注释
<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--1.配置url处理映射
url处理映射的方式有三种:
1.BeanNameUrlHandlerMapping[通过url名找到对应bean的name的控制器]
2.SimpleUrlHandlerMapping:[简单的url处理映射]通过key找到id的控制器 了解就行
3.ControllerClassNameHandlerMapping[控制器类名处理映射]不要配置路径
默认路径就是类名,首字母小写,后面加上.do就行-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--2-->
<!--<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">-->
<!--<property name="mappings">-->
<!--<props>-->
<!--<prop key="/student1.do">studentController</prop>-->
<!--</props>-->
<!--</property>-->
<!--</bean>-->
<!--3-->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
</bean>
<!--2.配置适配器处理适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!--3.配置控制器 相当于配置了访问路径 name="/sutdent.do" id="studentController"-->
<bean class="com.hw.controller.StudentController"></bean>
<!--4.配置资源视图解析-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/views/"></property>
<!--后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
然后贴上控制层的代码
public class StudentController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView view=new ModelAndView("studentlist");//返回的页面
view.addObject("names","lisi");
return view;
}
}
前台 studentlist.jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page pageEncoding="utf-8" isELIgnored="false"%>
<html>
<head>
<title>Title</title>
</head>
<body>
${names}
</body>
</html>
示例
二.然后看看注解式的开发,简单,方便
导jar和web.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" 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.xsd">
<!--1.配置注解扫描位置-->
<context:component-scan base-package="com.hw.controller"/>
<!--2.配置处理器映射,通过注解查找-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<!--3.配置适配器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!--4.配置资源视图解析-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/"></property>
<!--后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
然后是控制层的代码
package com.hw.controller;
import com.alibaba.fastjson.JSON;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller //控制器
@RequestMapping("/student") //这个是为了分清模块
public class StudentController {
@RequestMapping("/list") //链接名
public String list(){
System.out.println(1);
return "/index"; //返回的页面
}
//这个为ajax的套路
@RequestMapping("/list2")
public void list2(HttpServletRequest request, HttpServletResponse response) throws IOException {
String str=JSON.toJSONString("ssssss");
response.getWriter().println(str);
response.getWriter().flush();
response.getWriter().close();
}
}
看看效果 吧
点赞或者评论是我最大的动力,有问题欢迎留言或者联系q:1559810637
来源:CSDN
作者:beyond丿q:1559810637
链接:https://blog.csdn.net/qq_41594146/article/details/85642565