您的位置:首页 > 编程语言 > Java开发

搭建SpringMVC框架、控制器、传值、拦截器

2017-07-30 17:20 260 查看
1、导入jre包、Spring下的包。不要忘了logging包

2、配置 web.xml

<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- src下Spring配置文件 -->
<param-value>classpath:test.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--   	<url-pattern>*.from</url-pattern> -->
<!--   	<url-pattern>*.do</url-pattern> -->
<!-- 拦截所有 -->
<url-pattern>/</url-pattern> </servlet-mapping>
3、生成spring的配置文件,配置命名空间不要忘了勾选mvc
<!-- 配置扫描组件 -->
<context:component-scan base-package="com.hp.controller"/>
<!-- mvc 驱动 -->
<mvc:annotation-driven/>
<!-- 视图解析 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 视图解析路径,注意后面有个斜杠 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 视图解析后缀名 -->
<property name="suffix" value=".jsp"/>
</bean>
4、创建控制器

5、jsp与 后台交互 如何接受参数。model向页面传值

@Controller
/*类似命名空间*/
@RequestMapping("/a")
public class HelloController {
@RequestMapping("/hello")
private String hello(Model model) {
model.addAttribute("me", "hello word");
/*返回页面*/
return "index";
}
@RequestMapping("/hello2")
private String hello2(@RequestParam(value="he") String name,Model model) {
model.addAttribute("name", name);
return "index";
}
6. url 参数获取
@RequestMapping("/hello3/{pid}")
public String hello3(@PathVariable(value="pid") String pid1){
return "index";
}
7、拦截器
1)编写一个拦截器类,实现HandlerInterceptor接口

public class MyInterceptor implements HandlerInterceptor{

@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.err.println("==请求后==");
}

@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
System.err.println("==请求过程==");
}

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
System.err.println("==请求前==");
String user =(String) request.getSession().getAttribute("user");
String url=request.getContextPath();
if (StringUtils.isEmpty(user)) {
response.sendRedirect(url+"/login.jsp");
return false;
}
return true;
}

}
2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: