1.index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
<title>绍兴县政民互动系统后台</title>
<link href="css/module.css" rel="stylesheet" type="text/css">
<link href="css/base.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function beforeSubmit(loginForm){
if(loginForm.username.value==''){
alert('用户名不能为空!');
loginForm.username.focus();
return false;
}
if(loginForm.password.value==''){
alert('密码不能为空!');
loginForm.password.focus();
return false;
}
if(loginForm.textcode.value==''){
alert('验证码不能为空!');
loginForm.textcode.focus();
return false;
}
return true;
}
</script>
</head>
<body id="mybody" class="loginbody"
onKeyDown="if(event.keyCode==13)loginFunc();">
<div class="logintitle">
<img src="images/login_06.gif">
</div>
<div class="rjlogo">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="bottom">
建议使用Internet Explorer 6.0版本浏览器、1024*768分辨率以上浏览本系统
<br>
Copyright © 2006-2008 浙江榕基信息技术有限公司
</td>
<td>
<img src="images/login_10.gif">
</td>
</tr>
</table>
</div>
<div class="loginbg">
<div class="loginform">
<html:form action="/login?method=login"
onsubmit="return beforeSubmit(this);" method="post" enctype="multipart/form-data">
<table width="200" border="0" cellpadding="1" cellspacing="0"
id="ta1">
<tr>
<td align="right">
英文名称:
</td>
<td>
<html:text property="username"
style=" width:120px; height:18px; border:#FFFFFF solid 1px;" />
</td>
</tr>
<tr>
<td align="right">
用户密码:
</td>
<td>
<html:password property="password"
style=" width:120px; height:18px; border:#FFFFFF solid 1px;" />
</td>
</tr>
<tr>
<td align="right">
验证码:
</td>
<td>
<html:text property="textcode"
style="width:60px;height:18px; border:#FFFFFF solid 1px;"
maxlength="4" /><html:image src="image.jsp" border="0" align="absmiddle"></html:image>
</td>
</tr>
<tr>
<td align="right">
上传图片:
</td>
<td>
<html:file property="file" value="浏览"
style="width:30px;height:18px; border:#FFFFFF solid 1px;"
maxlength="4" />
</td>
</tr>
<tr>
<td> </td>
<td align="left">
<html:submit
style="background:url(images/login_05.gif); width:76px; height:26px; border:0;"
value="登陆"></html:submit>
</td>
</tr>
</table>
</html:form>
</div>
</div>
</body>
</html>
2.LoginForm.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package web.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
/**
* MyEclipse Struts Creation date: 05-19-2009
*
* XDoclet definition:
*
* @struts.form name="loginForm"
*/
@SuppressWarnings("serial")
public class LoginForm extends ActionForm {
/*
* Generated fields
*/
/** username property */
private String username;
/** password property */
private String password;
/** textcode property */
private String textcode;
/** FormFile property */
private FormFile file;
/*
* Generated Methods
*/
/**
* Method validate
*
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}
/**
* Method reset
*
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getTextcode() {
return textcode;
}
public void setTextcode(String textcode) {
this.textcode = textcode;
}
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
/**
* Returns the username.
*
* @return String
*/
}
3.loginAction
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package web.action;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import web.form.LoginForm;
import service.Service;
import vo.User;
/**
* MyEclipse Struts Creation date: 09-27-2006
*
* XDoclet definition:
*
* @struts.action path="/login" name="loginForm" input="/login.jsp"
* scope="request" validate="true"
* @struts.action-forward name="fail" path="/login.jsp"
* @struts.action-forward name="succeed" path="/welcome.jsp"
*/
public class LoginAction extends DispatchAction {
/*
* Generated Methods
*/
/**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
private Service service;
public void setService(Service service) {
this.service = service;
}
public Service getService() {
return service;
}
public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method
// stub
User user = new User();
user.setPassword(loginForm.getPassword());
user.setUsername(loginForm.getUsername());
String filepath = "D:/Upload\\";
if (!new File(filepath).isDirectory()) {
new File(filepath).mkdir();
}
String file_hz=loginForm.getFile().getFileName();
String file_name = filepath +file_hz;
System.out.println(file_name);
FileOutputStream out;
try {
out = new FileOutputStream(new File(file_name));
out.write(loginForm.getFile().getFileData());
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String code = "";
code = (String) request.getSession().getAttribute("rand");
if (code.trim().equals(loginForm.getTextcode())) {
System.out.print("ok1");
if (service.isValid(user)) {
System.out.print("ok");
return mapping.findForward("succeed");
} else {
System.out.print("no");
return mapping.findForward("fail");
}
} else {
return mapping.findForward("fail");
}
}
}
4.取得文件名乱码解决
重写org.apache.struts.upload.CommonsMultipartRequestHandler这个类
找到public void handleRequest(HttpServletRequest request)
throws ServletException方法
在
DiskFileUpload upload = new DiskFileUpload();
后边加上
upload.setHeaderEncoding(request.getCharacterEncoding());
编译后放到struts.jar包里覆盖原来的
posted on 2009-06-02 10:26
方涛升 阅读(282)
评论(0) 编辑 收藏 所属分类:
struts