Spring框架中自带的文件上传

来源:互联网 发布:java socket编程 代码 编辑:程序博客网 时间:2024/06/03 22:49

登录界面功能分析:
页面中间展示页面登录框,能够根据用户输入的用户名(手机号)、密码的正确与否进行判断是否登录。还有 “忘记密码?”功能,点击“忘记密码?”后会弹出一个幕布层,中间有一个对话框,会提示用户输入用户名(手机号),然后进行短信验证,验证成功后会显示密码信息。然后用户可以重新登录

 

鼠标经过个人菜单:”

显示下拉框:

1 基本资料;

点击个人资料,显示个人资料编辑界面

2 密码修改;

点击密码修改,显示密码编辑界面

3 头像修改;

点击头像修改,显示头像修改界面

鼠标经过审核菜单:”

显示下拉框:

1. 我的提交;

显示我提交合同列表;

点击可进行详细内容的查看;

点击删除/编辑可以进行对应的操作;

2. 审核列表;

点击选中的合同可以进行审批/不同意

3. 用户列表;

点击可以显示用户列表界面;

 显示相应添加用户/编辑用户/删除用户:点击可以进行相对应的操作

 

18

19

20

21

22

23

24

25

登录界面设计

登录功能的实现

基本资料修改

 

头像修改

密码修改

审核:显示我提交的合同

审批所有员工的合同

查看员工列表;

查询员工;

新增员工;

编辑员工;

删除员工;

 

新增小区;

显示小区[楼盘]列表;

查询小区

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

错误:

Property 'id' not found on type java.lang.String问题解决

一般出现上述问题:存在两种情况

1、你的程序的属性没有提供getter方法

2、在<c:forEach var="list" items="${requestScope.list}" varStatus="vs">这里你没有采取EL表达式

 

但是我却犯了一个很弱智的错误 在这里items="${requestScope.list}"我写成了 items=" ${requestScope.list}",多了一个空格,一直出现上述错误

标准标签库

<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>

 

时间格式装换:

<fmt:formatDate value="${staff.hire_date }" pattern="yyyy-MM-dd"/>

手机号码的正则表达式:

function checkPhone(){

var phone = document.getElementById('phone').value;

var rule=/^1[34578]\d{9}$/;

    if(!(rule.test(phone))){

        alert("手机号码有误,请重填");  

        return false;

    }

}

密码的正则表达式:

正则表达式校验密码
1、密码必须由数字、字符、特殊字符三种中的两种组成;
2、密码长度不能少于8个字符;

Rule=/^((?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,})$/;

//强:字母+数字+特殊字符

 /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/

    

     

//中:字母+数字,字母+特殊字符,数字+特殊字符

     /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/

 

//弱:纯数字,纯字母,纯特殊字符

/^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$/

 

//校验用户姓名:只能输入1-30个以字母开头的字串

var patrn=/^[a-zA-Z]{1,30}$/;

匹配完整域名的正则表达式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

//重定向的错误

return "redirect:main_showStaffList.do";

SSM框架中使用

第一步,导入;[文件上传时需要的输入输出流进行封装]

第二步,配置依赖[控制反转IoC][spring-servlet.xml的配置文件里头]

<!-- 文件上传 -->

 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<!-- 配置文件的上传尺寸 -->

         <property name="maxUploadSize">

             <value>1048576</value>

         </property>

     </bean>

第三步,相应的jsp页面

<body>

<center class="file-box">  

        <form action="upLoadPic.do"  

            method="post" enctype="multipart/form-data">  

            <input type='text' name='textfield' id='textfield' class='txt' />

            <input type='button' class='btn' value='浏览...' />

            <input type="file" name="file" class="file" id="fileField" size="28" onchange="document.getElementById('textfield').value=this.value"/>   

            <input type="submit" class="btn" value="上传" />  

        </form>  

        <h5>上传结果:</h5>  

        <img id="img" class="myStaffHead" alt="暂无图片" src="${fileUrl}" />  

    </center>  

</body>

相对应的controll:

@RequestMapping("upLoadPic")

public String upLoadPic(@RequestParam("file") CommonsMultipartFile file,  

            HttpServletRequest request, ModelMap model,HttpSession session){

 // 获得原始文件名  

        String fileName = file.getOriginalFilename();  

        System.out.println("原始文件名:" + fileName);  

        //更新员工头像

        Staff staff=(Staff)(session).getAttribute("loginStaff");

        staff.setHead(fileName);

        staffService.updateStaffHead(staff);

        session.setAttribute("loginStaff", staff);

        //新文件名  

        String newFileName = fileName;  

        //获得项目的路径  

        ServletContext sc = request.getSession().getServletContext();  

        //上传位置  

        String path = sc.getRealPath("/images/head") + "/"; //设定文件保存的目录  

        File f = new File(path);  

        if (!f.exists())  

            f.mkdirs();  

        if (!file.isEmpty()) {  

            try {  

                FileOutputStream fos = new FileOutputStream(path + newFileName);  

                InputStream in = file.getInputStream();  

                int b = 0;  

                while ((b = in.read()) != -1) {  

                    fos.write(b);  

                }  

                fos.close();  

                in.close();  

            } catch (Exception e) {  

                e.printStackTrace();  

            }  

        }  

       // System.out.println("上传图片到:" + path + newFileName);  

        //保存文件地址,用于JSP页面回显  

        model.addAttribute("fileUrl", "images/head/"+ newFileName);  

        //System.out.println("上传图片到:" +"images/head/"+ newFileName);

        return "main_updateHead";  

}

 

原创粉丝点击