spring mvc代码示例
程序员文章站
2022-03-10 17:58:07
Handler对应的参数代码实敲import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.context.annotation.Scope;import org.sprin...
Handler对应的参数代码实敲
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.m.entity.User;
@Controller
@Scope("prototype")
@RequestMapping("/test2")
public class TestController2 {
@RequestMapping("/t1")
public void test1() {
System.out.println("t1 已抵达");
}
@RequestMapping("/t2")
public void test2(HttpServletRequest req,
HttpServletResponse resp,
HttpSession session,
ServletContext application
) {
System.out.println("t2 已抵达");
}
@RequestMapping("/t3")
public void test3(String arg1 , Integer arg2) {
System.out.println("t3 已抵达:" + arg1);
System.out.println("t3 已抵达:" + arg2);
}
@RequestMapping("/t4")
public void test4(User user,String username) {
System.out.println("t4 已抵达:" + username);
System.out.println("t4 已抵达:" + user);
}
//提取路径中的变量值
@RequestMapping("/t5/{arg1}/{arg2}/{arg3}")
public void test5(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3) {
System.out.println("t5 已抵达:" + arg1);
System.out.println("t5 已抵达:" + arg2);
System.out.println("t5 已抵达:" + arg3);
}
//限制请求类型
@RequestMapping(value = "/t6/{arg1}/{arg2}/{arg3}",
method= {RequestMethod.POST,RequestMethod.GET})
public void test6(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3) {
System.out.println("t6 已抵达:" + arg1);
System.out.println("t6 已抵达:" + arg2);
System.out.println("t6 已抵达:" + arg3);
}
//限制请求参数
@RequestMapping(value = "/t7/{arg1}/{arg2}/{arg3}",
method= {RequestMethod.POST,RequestMethod.GET},
params= "random=123")
public void test7(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3) {
System.out.println("t7 已抵达:" + arg1);
System.out.println("t7 已抵达:" + arg2);
System.out.println("t7 已抵达:" + arg3);
}
//ant风格,?号代表后面一个字符
//id1,ida……允许
//id11,idaa,id……不允许
@RequestMapping(value = "/t8/{arg1}/{arg2}/{arg3}/id?")
public void test8(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3) {
System.out.println("t8 已抵达:" + arg1);
System.out.println("t8 已抵达:" + arg2);
System.out.println("t8 已抵达:" + arg3);
}
//ant风格,*号代表后面N个字符
//id11,idaa,id……都允许
@RequestMapping(value = "/t9/{arg1}/{arg2}/{arg3}/id*/{arg4}")
public void test9(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3,
@PathVariable String arg4) {
System.out.println("t9 已抵达:" + arg1);
System.out.println("t9 已抵达:" + arg2);
System.out.println("t9 已抵达:" + arg3);
System.out.println("t9 已抵达:" + arg4);
}
//ant风格,**号可以匹配任意长度,可空
@RequestMapping(value = "/t10/{arg1}/{arg2}/{arg3}/**/{arg4}")
public void test10(@PathVariable String arg1,
@PathVariable String arg2,
@PathVariable String arg3,
@PathVariable String arg4) {
System.out.println("t10 已抵达:" + arg1);
System.out.println("t10 已抵达:" + arg2);
System.out.println("t10 已抵达:" + arg3);
System.out.println("t10 已抵达:" + arg4);
}
//ant风格
//多路径映射
@RequestMapping(value = {"test11","test12"})
public void test11_12() {
System.out.println("test11_12 已抵达");
}
//当参数某个值没有或者不匹配,required用来确定是否是必须的,默认是true;defaultValu表示当没有值的时候,给这个默认值
@RequestMapping(value = "/t11")
public void test11(@RequestParam(name="str",required=false,defaultValue="abc") String arg1,
@RequestParam(name="num",required=false,defaultValue="123") int arg2) {
System.out.println("t11 已抵达:" + arg1);
System.out.println("t11 已抵达:" + arg2);
}
}
Handler视图解析器代码实敲
配置文件配置视图解析器*
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix" value="/jsp/"/><!-- 前缀 -->
<property name="suffix" value=".jsp"/><!-- 后缀 -->
</bean>
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@Scope("prototype")
@RequestMapping("/test3")
public class TestController3 {
//传统的jsp解析方式
@RequestMapping("/t1")
public void test1(HttpServletRequest req,
HttpServletResponse resp) {
try {
System.out.println("t1 已抵达");
//转发
req.setAttribute("message", "this is mvc message1");
req.getRequestDispatcher("/jsp/index.jsp").forward(req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}
//通过ModelAndView
@RequestMapping("/t2")
public ModelAndView test2() {
System.out.println("t2 已抵达");
ModelAndView mv = new ModelAndView("/jsp/index.jsp");
mv.addObject("message", "this is mvc message2");
return mv;
}
//通过ModelMap
@RequestMapping("/t3")
public String test3(ModelMap map) {
System.out.println("t3 已抵达");
map.addAttribute("message", "this is mvc message3");
return "/jsp/index.jsp";
}
//通过ModelMap了,通过解析器里面的前后缀,使得代码简洁
@RequestMapping("/t4")
public String test4(ModelMap map) {
System.out.println("t4 已抵达");
map.addAttribute("message", "this is mvc message4");
return "index";
}
@RequestMapping("/t5")
public String test5(ModelMap map,String arg1) {
System.out.println("t5 已抵达");
System.out.println("t5 已抵达:"+arg1);
map.addAttribute("message", "this is mvc message5");
return "forward:/jsp/index.jsp";
}
//通过forward完成内部controller之间的转发,重定向
@RequestMapping("/t6")
public String test6(ModelMap map) {
System.out.println("t6 已抵达");
return "forward:/test3/t5.do?arg1=abc";
}
}
@ResponseBody返回json
@Controller
@Scope("prototype")
@RequestMapping("/test5")
public class TestController5 {
@ResponseBody//把所有的返回类型变为json对象进行返回
@RequestMapping("/ajax")
public Object ajax() throws IOException {
User user = new User();
user.setId(1);
user.setUsername("xxxx");
user.setPassword("123");
//map array list object string
return user;
}
}
本文地址:https://blog.csdn.net/weixin_43770224/article/details/110855014