springMVC

springMVC

执行流程:

[图片上传中。。。(1)]

//springmvc重定向 需要ModelMap的对象来存储参数
@RequestMapping(method=RequestMethod.GET,value="springredirect")
public String springRedirect(ModelMap modelMap){
System.out.println("2");
modelMap.put("message","springredirect");
//视图层不用再去解析
//因为值是通过url中传递的,所以要加${param.msg}
return "redirect:hello.jsp";
}
//spring 服务器跳转(转发)
@RequestMapping(method=RequestMethod.GET,value="springforword")
public String springForward(ModelMap modelMap){
System.out.println("3");
modelMap.put("message", "forword");
//视图层不用再去解析
return "forward:hello.jsp";
}

处理中文乱码的方式:
在web。xml中设置编码过滤器

characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true



characterEncodingFilter
/*

获取页面传来的值:
1,页面写什么属性,直接在contronller参数列表中写出即可
public void print(String name,int age){

2。当在传实体类的时候
jsp直接写属性







controller参数传实体对象,然后直接让实体类用get方法获取

上传文件头文件这样写

文件上传
1。配置上传解析器

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">




图片无法保存到项目文件夹原因:
http://blog.csdn.net/frost_pig/article/details/52712394

图片保存问题:图片能保存到tomcat下,保存不到Eclipse下的工作区间,导致图片上传后重新部署的时候就消失
源码: String webPath=getServletContext().getRealPath("/")+"upload\"+fileName; (fileName是图片名称)
这句查找出来的就是服务器的文件路径,不是Eclispe的工作区间 。
修改后:String webPath="E:\workplace\Image\WebContent\upload\"+fileName;
这句话就是Eclipse的工作区间的路径
总的来说,我的情况是只有Eclipse的web项目下保存好图片,在发布到服务器的时候,服务器里面的webapp里面自然就有图片了
PS:如果不是发布到本地服务器,就可以直接写成服务器的路径
在此处找到的解决办法:http://m.blog.csdn.NET/article/details?id=47661759

1)@ResponseBody // 直接输出不经过视图层

配置json解析器


class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">






class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">





web.xml的servlet配置中/*表示所有的都要拦(包括jsp),/不拦jsp

你可能感兴趣的:(springMVC)