springmvc配置及接值和共享

来源:互联网 发布:kali linux和centos 编辑:程序博客网 时间:2024/05/29 16:44
1.加入JAR包;spring-webmvc
2.在web.xml里面让spring接收所有的.action文件(注意,默认情况下文件名为dispatch-servlet.xml)


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>test2</display-name>
  <servlet>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
3.编写spring的前缀,后缀


Dispatcher-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:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">

<!-- 开启控制层mvc注解:相当于省略了所有的struts.xml文件配置 -->
<mvc:annotation-driven />

<import resource="springmvc.xml"/>


</beans>
----------------------------------------------------
springmvc.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">

<!-- 配置MVC:1.访问action地址  2.访问的方法名3.返回地址 4.数据接收 5.数据共享 -->

<!-- 配置spring要访问的页面前缀以及后缀(因为不是所有页面都是jsp) -->
<bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/" /><!-- 页面放在哪个文件夹里面,/表示webroot -->
<property name="suffix" value=".jsp" /><!-- 页面是jsp -->
</bean>


<!-- 实现化控制层 -->
<bean id="userinfoAction" class="com.ruicaiedu.action.UserinfoAction">
</bean>
</beans>
--------------------------------------------------------
4.配置类的访问地址及方法的访问地址


UserinfoAction.java:


package com.ruicaiedu.action;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;


import com.ruicaiedu.action.Userinfo;


//注解方式
@RequestMapping("/userinfoAction")//相当于<action name="userinfoAction" class=""/>
public class UserinfoAction {//extends Controller  //ModleAndView handleRequest(request,response)
//userinfoAction!add.action  相当于<action name="userinfoAction" class="" method=""/>
@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(){
return "index"; //文件名,没后缀
}

//添加
@RequestMapping(value="/save",method=RequestMethod.POST)
public String save(HttpServletRequest request,Userinfo userinfo){
String userid = request.getParameter("userid");
String userpwd = request.getParameter("userpwd");
int userage = Integer.parseInt(request.getParameter("userage"));

userinfo.setUserid(userid);
userinfo.setUserpwd(userpwd);
userinfo.setUserage(userage);
userinfoService.save(userinfo);
return "index";
}


@RequestMapping("/delete")
public String delete(){
return "admin/MyJsp";
}

//接值:action的方法,一般要求将对象当参数
@RequestMapping("/getParam")
public String getParam(HttpServletRequest request){
String userid = request.getParameter("userid");
System.out.println("接收的值是:"+userid);
return "index";
}

//接值,普通(spring配置的接值方式)
@RequestMapping(value="/param2")
public String reg2(@RequestParam(value = "userid") int userid){
System.out.println(userid);//页面传userid
return "index";//就是jsp页面的名字
}

//共享数据到页面(变量)
@RequestMapping("/arg")
public String getArgs(Map<String, String> map){
map.put("pageIndex", "1");//共享一个变量;
return "index";
}

//共享数据到页面(对象)
@RequestMapping("/object")
public String getObject(Map<String, Userinfo> map){
Userinfo userinfo = new Userinfo();//模拟service.getUserinfo()
userinfo.setUserid("10010");
map.put("userinfo", userinfo);
return "index";
}

//共享数据到页面(集合)
@RequestMapping("/list")
public String getList(Map<String, List<Userinfo>> map){
Userinfo userinfo = new Userinfo();
userinfo.setUserid("333");

Userinfo userinfo2 = new Userinfo();
userinfo2.setUserid("222");

List<Userinfo> userinfos = new ArrayList<Userinfo>();
userinfos.add(userinfo);
userinfos.add(userinfo2);

map.put("userinfos", userinfos);//模拟service.getUserinfo()
return "index";
}
}
5.注意:return "index"这个是真的页面文件名字,不 是return...


6.别忘记在spring中实例化Action类<bean/>
0 0
原创粉丝点击