已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
具体步骤:1.新建web项目 命名为struts2demo2.向工程中导入所需要的jar包 必要的jar包有七个3.在web.xml文件中注册struts2struts2org.apache.struts2.dispatcher.FilterDispatcher struts2/*4.编写输入邀请码的JSP页面invite.jsp 验证码校验 请输入您的验证码: 5.在Tomcat的server.xml中加入工程 6.启动Tomcat服务器 测试当前所做是否有错误以上表明当前设置没有错误!7.在src下新建com.demo.action包,并在其中新建InviteAction类,此类要继承ActionSupport类package com.demo.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class InviteAction extends ActionSupport private String invitedcode;public String getInvitedcode() return invitedcode;public void setInvitedcode(String invitedcode) this.invitedcode = invitedcode;Overridepublic String execute() throws Exception if(220081078.equals(this.getInvitedcode() return SUCCESS;elsethis.addFieldError(invitedcode, 输入的邀请码不正确!请再次输入!);return INPUT;类中规定只有输入的验证码为220081078,才能进入到注册页面,否则会出现错误的提示信息并回到原页面继续输入。8.在src下新建struts.xml文件,在struts.xml文件中对InviteAction进行注册 /invite.jsp/register.jsp 9.新建register.jsp页面,并加入如下代码注册页面function validate()var usernameValue = document.getElementById(usernameId).value;var passwordValue = document.getElementById(passwordId).value;var repasswordValue = document.getElementById(repasswordId).value;if(usernameValue.length = 0)alert(用户名不能为空!);return false;else if(usernameValue.length 16)alert(用户名只能由6-16位字母和数字组成!);return false;if(passwordValue.length = 0)alert(密码不能为空!);return false;else if(passwordValue.length 16)alert(用户名只能由6-16位字母和数字组成!);return false;if(passwordValue != repasswordValue)alert(两次输入的密码不一致!);return false;return true;*用户名: *密码: *重复密码: 年龄: 生日: 其中脚本validate()方法对输入进行客户端的验证,如果没有输入必填项(用户名和密码)或输入的长度超过限制,都会提示相应的错误信息。10.对以上所做工作进行测试 如果输入错误的邀请码 如2200810888 则显示结果如下如果输入正确的邀请码 如220081078 则转入到注册页面 测试成功!11.在action包中创建RegisterAction类 并编写如下代码package com.demo.action;import java.util.Calendar;import java.util.Date;import com.opensymphony.xwork2.ActionSupport;public class RegisterAction extends ActionSupport private String username;private String password;private String repassword;private int age;private Date birthday;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getRepassword() return repassword;public void setRepassword(String repassword) this.repassword = repassword;public int getAge() return age;public void setAge(int age) this.age = age;public Date getBirthday() return birthday;public void setBirthday(Date birthday) this.birthday = birthday;Overridepublic String execute() throws Exception return SUCCESS;Overridepublic void validate() if(null = username | username.length()16)this.addActionError(用户名应该由6-10位字母和数字组成);if(null = password | password.length()16)this.addActionError(密码应该由6-10位字母和数字组成);else if(!(repassword.equals(password)this.addActionError(两次输入密码不一致!);if(age150)this.addActionError(年龄应该在0-150之间!); 其中validate()方法对输入进行服务器端的验证,以提高安全性。12.在struts.xml文件中对RegisterAction进行注册 在package下加入如下代码 /register.jsp/registersuccess.jsp13.编写registersuccess.jsp页面注册成功恭喜您已经注册成功!一下是您的注册信息:用户名:$requestScope.username密码:$requestScope.password年龄:$requestScope.age生日:$requestScope.birthday开始上传文件14.对上述工作进行测试 如果进行不合法的注册 如没有填入必填项或者输入长度不合法 会出现相关错误提示信息如果输入合法注册信息,将转到注册成功页面。15.编写文件上传页面upload.jsp代码上传文件页面function addMore()var td = document.getElementById(more);var br = document.createElement(br);var input = document.createElement(input);var button = document.createElement(input);input.type = file; = file;button.type=button;button.value=Remove;button.onclick = function()td.removeChild(br);td.removeChild(input);td.removeChild(button);td.appendChild(br);td.appendChild(input);td.appendChild(button);用户名: 密码: 选择文件: 该页面允许用户上传足够多的文件。点击“上传更多.”按钮一次会添加一个上传文件textfield,点击Remove按钮可以消去该行。16.编写UploadAction类代码 将文件上传到upload文件夹package com.demo.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport private String username;private String password;private List file;private List fileFileName;private List fileContentType;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public List getFile() return file;public void setFile(List file) this.file = file;public List getFileFileName() return fileFileName;public void setFileFileName(List fileFileName) this.fileFileName = fileFileName;public List getFileContentType() return fileContentType;public void setFileContentType(List fileContentType) this.fileContentType = fileContentType;Overridepublic String execute() throws Exception for(int i = 0;i 0)os.write(buffer, 0, length);is.close();os.close();return SUCCESS;17.在struts.xml文件中对UploadAction进行注册/uploadsuccess.jsp/upload.jsp4096000application/vnd.ms-powerpoint 上传文件时会用到内部的fileUpload拦截器 其中对上传文件的大小和类型进行了限制 如上也许上传最大文件为4000K,文件类型只能为ppt类型。18.对上传文件是的错误信息进行改进,系统提供的错误信息(如文件大小或类型不合法)可读性很差。在struts.xml中加入如下语句 第一句是配置错误信息perties,第二句是对上传文件过程中的中文乱码进行更正。在src目录下新建文件perties ,文件内容为struts.messages.error.content.type.not.allowed=u4e0au4f20u7684u6587u4ef6u7c7bu578bu4e0du5141u8bb8 u8bf7u91cdu8bd5struts.messages.error.file.too.large=u4e0au4f20u6587u4ef6u7684u5927u5c0fu8d85u8fc7u9650u5236右边的编码可以通过Java提供的native2ascii进行转换。19.编写download.jsp页面文件下载欢迎来到下载页面!点击下载20.编写DownloadAction类代码 假设我们要下载的是upload文件夹下的Struts2.ppt文件package com.demo.action;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class DownloadAction extends ActionSupport public InputStream getDownloadFile()return ServletActionContext.getServletContext().getResourceAsStream(/upload/Struts2.ppt);Overridepublic String execute() throws Exception return SUCCESS;21.在struts.xml文件中对DownloadAction进行注册 要注意其中的参数名称 application/vnd.ms-powerpointfilename=Struts2.pptdownloadFile22.对以上步骤进行测试上传文件类型不合法上传合法内容,如我们上传三个ppt文件 则能成功点击到下载页面下载文件23.实现邀请码功能 以上并没有实现邀请码的功能,即用户可以直接进入到注册页面进行注册。我们需要编写一个拦截器实现该功能。(1)编写InviteInterceptor拦截器代码package erceptor;import java.util.Map;impo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理伦理困境识别与应对原则
- 人工智能在眼科护理中的应用前景
- 儿童意外伤害的预防与应急处理
- 2026年高考数学一轮复习:空间向量的应用(讲义)解析版
- 医学生基础医学 耳鼻喉科疾病护理基础护理课件
- 医学内科学 CBL 案例教学课件
- 医学脑梗死步态训练方案创新案例教学课件
- 医学流行病学答辩癌症筛查行为干预教学课件
- 2026年高考数学一轮复习:重难点08 导数中的同构问题(专项训练)原卷版
- 2026高考物理模型讲义:“等效重力场”模型(原卷版)
- 第三单元一《伐檀》公开课一等奖创新教案-【中职专用】(中职语文高教版2023-2024-基础模块上册)
- 重型颅脑创伤指南(第四)
- 山西2023年晋商银行校园招聘柜员岗考试参考题库含答案详解
- 海姆立克急救操作考核评分标准
- 维克多高中英语3500词汇
- 口腔牙齿正畸矫正PPT
- 基于数字化实验探究氢氧化钠固体与二氧化碳的反应 课件
- NY 5052-2001无公害食品海水养殖用水水质
- 严重创伤的早期评估和处置
- 档案管理学(新)课件
- 免费求职简历模板下载word格式
评论
0/150
提交评论