博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc基础知识:配置;ajax;重定向;文件上传
阅读量:5073 次
发布时间:2019-06-12

本文共 3931 字,大约阅读时间需要 13 分钟。

 

1,springmvc中的基础配置

<bean name="/toIndex.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">

<!-- 配置你想要跳转的视图 -->
<property name="viewName" value="index"></property>
</bean>
<bean name="/toIndex1.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<!-- 配置你想要跳转的视图 -->
<property name="viewName" value="jsp1/index"></property>
</bean>
<bean name="/comm.do" class="com.sxx.controller.xxxx">
<!-- 用来指定接收的参数类型 -->
<property name="commandClass" value="com.sxx.model.xxx"></property>
</bean>
<bean name="/form.do" class="com.sxx.controller.xxxx">
<!-- 用来指定接收的参数类型 -->
<property name="formView" value="com.sxx.model.xxx"></property>
<property name="successView" value="com.sxx.model.xxx"></property>
</bean>

 

2,springmvc:ajax调用springmvc的方法

/**     * 使用ajax的返回值是void,不能使用string。     * 在参数列表中定义HttpServletResponse,为了获得PrintWriter。     * @param name     * @param resp     */    @RequestMapping("/ajax.do")    public void ajax(String name,HttpServletResponse resp){        String result = "hello" + name;        try {            resp.getWriter().write(result);        } catch (IOException e) {            e.printStackTrace();        }            }        /**     * 如果有中文问题,就无法处理     * @param name。在参数列表中定义PrintWriter。     * @param out     */    @RequestMapping("/ajax1.do")    public void ajax1(String name,PrintWriter out){        String result = "hello" + name;        out.write(result);    }

 3.springmvc的重定向小例

/**     * controller类内部的重定向return时不需要加类上的@RequestMapping的值,     * 只要加上方法上@RequestMapping的值就可以了。例如转发到form.jsp     * 语法:redirect:toForm.do     * (toForm.do当前controller中要重定向到的方法的@RequestMapping的值)     * @return     */    @RequestMapping("/redirectForm.do")    public String redirectForm(){                return "redirect:toForm.do";    }        /**     * controller类中间的额重定向。     * 语法:redirect:后面加/:代表从项目的根目录开始匹配。     * 再加上要重定向到的类上的@RequestMapping值,再加上方法上的@RequestMapping值。     * @return     */    @RequestMapping("/redirectForm1.do")    public String redirectForm1(){                return "redirect:/test1/toForm.do";    }

 4,文件上传

4.1,复杂类型表单解析器的配置

4.2,controller类

package com.sxx.controller;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;@Controller@RequestMapping("/upload")public class UploadController {    @RequestMapping("/uploadPic.do")    public String uploadPic(HttpServletRequest req) throws IOException{        //转换request        MultipartHttpServletRequest mr = (MultipartHttpServletRequest) req;        //接受文件        MultipartFile mf = mr.getFile("pic");        //获得文件的字节数组        byte[] bs = mf.getBytes();        //给文件命名        String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS")                            .format(new Date());        Random random = new Random();        for(int i = 0; i < 3; i++){            fileName = fileName + random.nextInt(10);        }        //获得文件的后缀名        String oriFileName = mf.getOriginalFilename();        //获得到包括.的后缀名        String suffix = oriFileName.substring(oriFileName.lastIndexOf("."));        //获得项目部署的绝对路径        String realPath = req.getSession().getServletContext().getRealPath("/");        OutputStream out = new FileOutputStream(realPath+"/upload/"+fileName+suffix);        out.write(bs);        out.flush();        return "sucess";    }

    @RequestMapping("/toForm.do")

    public String toForm(){
    return "form1";
    }

}

4.3 jsp页面

    

 

转载于:https://www.cnblogs.com/Mr-Dxin/p/11170556.html

你可能感兴趣的文章
double类型空值和0的区分
查看>>
Eclipse验证码
查看>>
Spring2.5零散笔记
查看>>
Elastic Stack 笔记(五)Elasticsearch5.6 Mappings 映射
查看>>
3.23-重新定义操作者框架
查看>>
python 多进程
查看>>
chop 与 chomp 的对比
查看>>
在ASP.NET里实现计算器代码的封装
查看>>
head 里主要的标签:meta和link 标签
查看>>
编写程序对文件进行增删改查
查看>>
什么是Silverlight?
查看>>
LINQ查询字符串判断是否大写
查看>>
Uploadify上传大文件
查看>>
Java多态特性:重载和覆写的比較
查看>>
Open Xml 创建Excel并插入数据
查看>>
B. Odd Sum Segments CF(分割数组)
查看>>
Java四种引用
查看>>
javascript Date 总结
查看>>
go中json的tag使用
查看>>
实验吧 WriteUp 合集
查看>>