一、springMVC流程图省略
二、写一个简单的springmvc的demo来说明
2.1引入springMVC相关的jar包
2.2配置DispatcherServlet 在web.xml
2.3配置springmvc的配置文件
<!-- 注册自己的controller类 -->
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
2.4创建Controller类
public class MyController1 extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
ModelAndView mv=new ModelAndView();
mv.setViewName("login");// /WEB-INF/view/login.jsp
mv.addObject("username", "Hello World!");//功能类似于setAttribute 在request中
System.out.println("====mycontroller1====");
return mv;
}
}
三、springmvc的流程
四、常见的HandlerMapping
4.1 BeanNameUrlHandlerMapping 根据bean标签的名称找到对应的Controller类
<!-- 注册自己的controller类 -->
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
4.2 ControllerClassNameHandlerMapping 根据controller类的名字找到对应的Controller。
<!-- 注册自己的controller类 -->
4.3 SimpleUrlHandlerMapping 根据bean的id查找对应的Controller类。
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping ">
<property name="mappings">
<props>
<prop key="/a.do">my1</prop>
<prop key="/b.do">my2</prop>
</props>
</property>
</bean>
<!-- 注册自己的controller类 -->
<bean id="my1" class="com.zhiyou100.xz.controller.MyController1"></bean>
<bean id="my2" class="com.zhiyou100.xz.controller.MyController2"></bean>
五、使用注解来替代配置信息
5.1 添加aop的jar包
5.2 创建Controller类
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //等价于
public class MyController1 {
@RequestMapping("/list.do") //RequestMapping:表示的就是你的访问地址
public String list() {
System.out.println("查询所有");
return "login";
}
}
5.3 在springmvc的配置文件中配置注解(包扫描和开启注解驱动)
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
六、通过springmvc来完成接受的参数
import com.zhiyou100.xz.controller.bean.User;
@Controller
@RequestMapping("/user")
public class MyController1 {
@RequestMapping("/list.do") //RequestMapping:表示的就是你的访问地址
public String list(String name,int age) { //参数一定要和请求的参数名相同
System.out.println("name:"+name+";age:"+age);
return "login";
}
@RequestMapping("/list2.do") //RequestMapping:表示的就是你的访问地址
public String list(User user) { //参数一定要和请求的参数名相同
System.out.println(user); //请求的参数名要和实体类中的属性名相同
return "login";
}
}
注意:
接受参数时出现乱码。使用过滤器。(自定义的过滤器 也可以使用springmvc提供的过滤器)
1.使用springmvc提供的过滤器,在spring-web-4.2.2.RELEASE.jar下的org.springframework.web.filter.CharacterEncodingFilter.class中
在web.xml中配置过滤器
2.自定义的过滤器
先创建一个EncodingFilter.java
public class EncodingFilter implements Filter{
@Override
public void destroy() {//过滤销毁时调用
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {//过滤功能
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {//过滤初始化时调用
System.out.println("过滤初始化时调用");
}
}
在web.xml中配置过滤器
手机扫一扫
移动阅读更方便
你可能感兴趣的文章