精华内容
下载资源
问答
  • 员工管理系统

    万次阅读 多人点赞 2017-01-21 18:18:36
    员工管理系统 功能介绍 登录 条件查询员工 查看员工明细 下载简历 添加员工(上传简历) 修改员工 删除员工 环境搭建 导入基础项目 基础项目中已经包含了静态页面,以及js、css等等; 导包 struts2...

    员工管理系统

    功能介绍

    • 登录
    • 条件查询员工
    • 查看员工明细
    • 下载简历
    • 添加员工(上传简历)
    • 修改员工
    • 删除员工


    环境搭建

    导入基础项目

    基础项目中已经包含了静态页面,以及js、css等等;

     

     导包

    • struts2
    • c3p0
    • mysql
    • dbutils
    • beanutils

     

     建包

    • cn.hcx.user.domain
    • cn.hcx.user.dao
    • cn.hcx.user.service
    • cn.hcx.user.web.action

     

     主页

    让主页转发到/login/login.jsp

    1、创建数据库

    CREATE DATABASE empmng;
    
    #创建用户,指定为只能本地访问,不能远程访问
    create user empmng@localhost identified by '123';
    #授权
    grant all on empmng.* to empmng@localhost;
    
    CREATE TABLE S_User(
    	uid CHAR(32) PRIMARY KEY, 
    	username VARCHAR(50),
    	loginname VARCHAR(50),
    	loginpass VARCHAR(50),
    	gender VARCHAR(10),
    	birthday VARCHAR(50),
    	education VARCHAR(20),
    	cellphone VARCHAR(50),
    	hobby VARCHAR(20),
    	filepath VARCHAR(500),
    	filename VARCHAR(100),
    	remark VARCHAR(500)
    );
    
     

    c3p0-config.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
      <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql:///struts2-empmng</property>
        <property name="user">root</property>
        <property name="password">1234</property>
        <property name="initialPoolSize">3</property>
        <property name="maxIdleTime">30</property>
        <property name="maxPoolSize">5</property>
        <property name="minPoolSize">3</property>
      </default-config>
    </c3p0-config>

     

     

    2、创建User类

    对应t_user表来创建User类。

     

    3、创建javabean

    User:
    package cn.hcx.user.domain;
    
    import java.io.File;
    
    public class User {
    	private String uid;
    	private String username;
    	private String loginname;
    	private String loginpass;
    	private String gender;
    	private String birthday;
    	private String education;
    	private String cellphone;
    	private String hobby;
    	private String filepath;
    	private String filename;
    	private String remark;
    //upload 字段在数据库中并没有列与之对应
    // 接受表单提交的是否有简历的参数
    	private String upload;
    	
    	
    	
    
    
    	public String getUpload() {
    		return upload;
    	}
    
    	public void setUpload(String upload) {
    		this.upload = upload;
    	}
    
    	public String getUid() {
    		return uid;
    	}
    
    	public void setUid(String uid) {
    		this.uid = uid;
    	}
    
    	public String getUsername() {
    		return username;
    	}
    
    	public void setUsername(String username) {
    		this.username = username;
    	}
    
    	public String getLoginname() {
    		return loginname;
    	}
    
    	public void setLoginname(String loginname) {
    		this.loginname = loginname;
    	}
    
    	public String getLoginpass() {
    		return loginpass;
    	}
    
    	public void setLoginpass(String loginpass) {
    		this.loginpass = loginpass;
    	}
    
    	public String getGender() {
    		return gender;
    	}
    
    	public void setGender(String gender) {
    		this.gender = gender;
    	}
    
    	public String getBirthday() {
    		return birthday;
    	}
    
    	public void setBirthday(String birthday) {
    		this.birthday = birthday;
    	}
    
    	public String getEducation() {
    		return education;
    	}
    
    	public void setEducation(String education) {
    		this.education = education;
    	}
    
    	public String getCellphone() {
    		return cellphone;
    	}
    
    	public void setCellphone(String cellphone) {
    		this.cellphone = cellphone;
    	}
    
    	public String getHobby() {
    		return hobby;
    	}
    
    	public void setHobby(String hobby) {
    		this.hobby = hobby;
    	}
    
    	public String getFilepath() {
    		return filepath;
    	}
    
    	public void setFilepath(String filepath) {
    		this.filepath = filepath;
    	}
    
    	public String getFilename() {
    		return filename;
    	}
    
    	public void setFilename(String filename) {
    		this.filename = filename;
    	}
    
    	public String getRemark() {
    		return remark;
    	}
    
    	public void setRemark(String remark) {
    		this.remark = remark;
    	}
    
    	@Override
    	public String toString() {
    		return "User [uid=" + uid + ", username=" + username + ", loginname="
    				+ loginname + ", loginpass=" + loginpass + ", gender=" + gender
    				+ ", birthday=" + birthday + ", education=" + education
    				+ ", cellphone=" + cellphone + ", hobby=" + hobby
    				+ ", filepath=" + filepath + ", filename=" + filename
    				+ ", remark=" + remark + "]";
    	}
    
    }
    

     
    用户登录:
     
     
     
     
     
    用户列表:
     
    查看用户:
     
    保存用户:
    dao:
    UserDao:
    package cn.hcx.user.dao;
    
    import java.util.List;
    
    import cn.hcx.user.domain.User;
    
    public interface UserDao {
    	//根据登录名称获得用户对象
    	User  getUserByLoginName(String loginName);
    	// 根据查询条件获得用户列表
    	List<User> getUserByCondition(User u);
    	//保存用户对象
    	void  saveUser(User u);
    	//根据userid 获得user对象
    	User getUserByUid(String id);
    }
    

     
     
    UserDaoImpl:
    package cn.hcx.user.dao;
    
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    import cn.hcx.user.domain.User;
    
    public class UserDaoImpl implements UserDao {
    	private static QueryRunner qr = new QueryRunner(new ComboPooledDataSource());
    	
    	public User getUserByLoginName(String loginName) {
    		//1 书写sql语句
    		String sql = " select * from tab_user where loginname = ? ";
    		//2 调用runner的 query方法
    		try {
    			User u  = qr.query(sql, new  BeanHandler<User>(User.class), loginName);
    			//3 返回
    			return u;
    		} catch (SQLException e) {
    			e.printStackTrace();
    			throw new RuntimeException("查询用户失败!");
    		}
    	}
    
    	public List<User> getUserByCondition(User u) {
    		String sql = " select * from tab_user  where 1=1";
    		//准备放置参数的集合
    		List<Object> params = new ArrayList<Object>();
    		//判断 拼装查询语句,和添加参数
    		//用户名
    		if(u.getUsername() != null && !"".equals(u.getUsername().trim())){
    			sql = sql + " and  username=? ";
    			params.add(u.getUsername());
    		}
    		//根据学历
    		if(u.getEducation() != null && !"".equals(u.getEducation().trim())){
    			sql = sql + " and  education=? ";
    			params.add(u.getEducation());
    		}
    		//根据性别
    		if(u.getGender() != null && !"".equals(u.getGender().trim())){
    			sql = sql + " and  gender=? ";
    			params.add(u.getGender());
    		}
    		//根据是否上传简历
    		if(u.getUpload() != null && !"".equals(u.getUpload().trim())){
    				if(u.getUpload().equals("1")){//用户要找有简历的
    					sql = sql + " and  filepath is not null ";
    				}
    				if(u.getUpload().equals("2")){//用户要找没有简历的
    					sql = sql + " and  filepath is  null ";
    				}
    		}
    		
    		try {
    			System.out.println(sql);
    			System.out.println(params);
    			List<User> list = qr.query(sql, new BeanListHandler<User>(User.class), params.toArray());
    			return list;
    		} catch (SQLException e) {
    			e.printStackTrace();
    			throw new RuntimeException("查询用户列表失败!");
    		}
    		
    		
    	}
    
    	public void saveUser(User u) {
    		String sql =	
    				" INSERT INTO `tab_user`                 "+
    				" VALUES                                 "+
    				"   (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ";
    		
    		try {
    			int result = qr.update(sql, u.getUid(),u.getUsername(),
    					u.getLoginname(),u.getLoginpass(),
    					u.getGender(),u.getBirthday(),u.getEducation(),
    					u.getCellphone(),u.getHobby(),u.getFilepath(),
    					u.getFilename(),u.getRemark());
    			if(result!=1){
    				throw new RuntimeException("保存用户失败!");
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    			throw new RuntimeException("保存用户失败!");
    		}
    		 
    	}
    
    	public User getUserByUid(String id) {
    		//1 书写sql语句
    		String sql = " select * from tab_user where uid = ? ";
    		//2 调用runner的 query方法
    		try {
    			User u  = qr.query(sql, new  BeanHandler<User>(User.class), id);
    			//3 返回
    			return u;
    		} catch (SQLException e) {
    			e.printStackTrace();
    			throw new RuntimeException("查询用户失败!");
    		}
    	}
    
    }
    

     
    action:

     

    UserAction:

     

    package cn.hcx.user.web.action;
    
    import java.io.File;
    import java.io.InputStream;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    import java.util.List;
    import java.util.Map;
    import java.util.UUID;
    
    import javax.servlet.ServletContext;
    
    import org.apache.struts2.ServletActionContext;
    
    import cn.hcx.user.dao.UserDao;
    import cn.hcx.user.dao.UserDaoImpl;
    import cn.hcx.user.domain.User;
    
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;
    import com.opensymphony.xwork2.util.ValueStack;
    import com.sun.xml.internal.ws.util.ReadOnlyPropertyException;
    
    public class UserAction extends ActionSupport implements ModelDriven<User> {
    	private UserDao ud = new UserDaoImpl();
    	private User u = new User();
    	
    	
    	//处理用户登录请求
    	public String login(){
    		//1 校验
    		//2 根据登录名调用Dao,获得用户对象
    		User user  = ud.getUserByLoginName(u.getLoginname());
    				//没有获得=> 添加错误消息,提示用户名不存在
    		if(user == null){
    				addActionError("用户名不存在!");
    				return "login";
    		}
    		//3 比对密码 
    		if(!user.getLoginpass().equals(u.getLoginpass())){
    			//比对失败=>添加错误,提示密码不正确
    				addActionError("密码不正确!");
    				return "login";
    		}
    		//4 将User对象放入session域作为登录标识
    		Map<String, Object> sessionScope = ActionContext.getContext().getSession();
    		sessionScope.put("user", user);
    		//5 重定向到成功页面
    		return "home";
    		
    	}
    	//-----------------------------------------------------------------------------------------
    	//查询用户列表
    	public String list(){
    		// 1 调用Dao的查询列表方法
    		List<User> list = ud.getUserByCondition(u);
    		//2 将列表放入request域
    		Map<String,Object> requestScope = (Map<String, Object>) ActionContext.getContext()
    																			.get("request");
    		requestScope.put("list", list);
    		//3 转发到list页面
    		return "list";
    		
    	}
    	//---------------------------------------------------------------
    	//查看用户详情
    	public String view(){
    		//1 查询用户根据id
    		User user = ud.getUserByUid(u.getUid());
    		
    		//2 将user对象放入值栈栈顶
    		ValueStack vs = ActionContext.getContext().getValueStack();
    		
    		vs.push(user);
    		//3转发到查看页面
    		return "view";
    		
    		/*//2放入request域
    		//3转发
    */		
    	}
    	//------------------------------------------------------------------------
    	private String filePath;
    	private String fileName ;
    	public String download(){
    		//1 根据id查找用户
    		User user = ud.getUserByUid(u.getUid());
    		//2 拿到用户的文件路径,文件名称
    		filePath = user.getFilepath();
    		fileName = user.getFilename();
    		//3 返回结果
    		
    		return "download";
    		
    	}
    	//filePath => /upload/23b798f5-0fc9-4add-9af9-fe8581a458ae
    	public InputStream getDoc(){
    		//1 获得servletcontext对象
    		ServletContext sc = ServletActionContext.getServletContext();
    		//2根据路径获得流
    		return sc.getResourceAsStream(filePath);
    		
    	}
    	public String getFileName(){
    	try {
    		return URLEncoder.encode(fileName, "utf-8");
    	} catch (UnsupportedEncodingException e) {
    		e.printStackTrace();
    		throw new RuntimeException("不可楞!");
    	}
    	}
    	//----------------------------------------------------------------------------------------
    	private File upload2;
    	
    	private String upload2FileName;
    	
    	
    	
    	public String getUpload2FileName() {
    		return upload2FileName;
    	}
    	public void setUpload2FileName(String upload2FileName) {
    		this.upload2FileName = upload2FileName;
    	}
    	public File getUpload2() {
    		return upload2;
    	}
    	public void setUpload2(File upload2) {
    		this.upload2 = upload2;
    	}
    	public String add(){
    		String uuid = UUID.randomUUID().toString();
    		if(upload2 != null){
    			// 1 上传的文件转存
    				//1> 找到upload文件夹 绝对路径
    			String dirPath = ServletActionContext.getServletContext().getRealPath("/upload");
    				//2>生成 文件名称(uuid)
    				//3> 转存
    			File targetFile = new File(dirPath+"/"+uuid);
    			
    			upload2.renameTo(targetFile);
    			
    			// 2 将转存的路径 以及 文件的原始名称封装到User对象
    			u.setFilepath("/upload/"+uuid);
    			u.setFilename(upload2FileName);
    		}
    		// 3 使用随机字符串设置user的id
    		u.setUid(uuid);
    		// 4 调用dao保存user
    		ud.saveUser(u);
    		// 5 重定向到用户列表
    		return "rlist";
    	}
    	
    	//-----------------------------------------------------------------------------------------
    	//专门校验login的
    	public void validateLogin(){
    		//数据校验
    		if(u.getLoginname() == null || u.getLoginname().trim().equals("")){
    			addFieldError("loginname", "用户名不能为空!");
    		}
    		
    		if(u.getLoginpass() == null || u.getLoginpass().trim().equals("")){
    			addFieldError("loginpass", "密码不能为空!");
    		}
    	}
    	
    	public User getModel() {
    		return u;
    	}
    	
    }
    
     

     

    interceptor:
    package cn.hcx.user.web.interceptor;
    
    import java.util.Map;
    
    import cn.hcx.user.domain.User;
    
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
    
    public class LoginInterceptor extends MethodFilterInterceptor {
    
    	@Override
    	//凡是进入拦截器,都需要有登录状态才能放行
    	protected String doIntercept(ActionInvocation invocation) throws Exception {
    			//1 获得session
    			Map<String,Object> sessionScope = ActionContext.getContext().getSession();
    			//2 从session找出User对象
    			User u = (User) sessionScope.get("user");
    			//3 判断User对象是否存在
    			if(u==null){
    				//不存在=>没有登录=>转发登录页面
    				return "login";
    			}
    			
    				//存在=>登录了=>放行
    		return invocation.invoke();
    	}
    
    }
    

     
    struts.xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    	"http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
    	<constant name="struts.devMode" value="true" />
    	<constant name="struts.action.extension" value="do" />
    	
        <package name="user" namespace="/" extends="struts-default">
        	<interceptors>
        		<!-- 配置自己的拦截器 -->
        		<interceptor name="login" class="cn.hcx.user.web.interceptor.LoginInterceptor"></interceptor>
        		<!-- 配置自己的拦截器栈 -->
        		<interceptor-stack name="myDefaultStack">
        			<!-- 加入自己的拦截器 -->
        			<interceptor-ref name="login">
        			<!-- login方法不拦截,其他都拦截 -->
        				<param name="excludeMethods">login</param>
        			</interceptor-ref>
        			<!-- 加入默认18个拦截器的拦截器栈 -->
        			<interceptor-ref name="defaultStack"></interceptor-ref>
        		</interceptor-stack>
        	</interceptors>
        	<!-- 指定当前包,默认拦截器栈为myDefaultStack -->
        	<default-interceptor-ref name="myDefaultStack"></default-interceptor-ref>
        	<!-- 全局错误配置 -->
        	<global-exception-mappings>
        		<!-- 如果出现java.lang.RuntimeException的异常,那么转发到error对应的页面 -->
        			<exception-mapping result="error" exception="java.lang.RuntimeException"></exception-mapping>
        	</global-exception-mappings>
        	
        	<action name="UserAction_*" class="cn.hcx.user.web.action.UserAction" method="{1}" >
        			<result name="error" >/user/error1.jsp</result>
        			<result name="login" >/login/login.jsp</result>
        			<result name="home" type="redirect"  >/login/home.jsp</result>
        			<result name="list"  >/user/list.jsp</result>
        			<result name="view"  >/user/view.jsp</result>
        			<result name="rlist" type="redirectAction">
    		             <param name="actionName">UserAction_list</param>
    		             <param name="namespace">/</param>
             		</result>
        			<result name="download" type="stream" >
        					 <param name="contentType">application/msword</param>
    				   		 <param name="inputName">doc</param>
    				  		 <param name="contentDisposition">attachment;filename="${fileName}"</param>
    				  		 <param name="bufferSize">1024</param>
        			</result>
        			
        			<result name="input" >/login/login.jsp</result>
        			
        	</action>
        </package>
    </struts>
    
     

    jsf:
    importTag.jsf:
    <%@ taglib prefix="s" uri="/struts-tags" %>

    login:
    bottom.jsp
    <body MS_POSITIONING="GridLayout">
    		<table width="100%" border="0" cellspacing="0" cellpadding="10" height="64">
    			<tr>
    				<td align="center" width="100%" style= valign="top" background="<c:url value='/images/bt_02.jpg'/>">传智播客Struts2练习       <br>
    				<font class="font12">
    				<a class="a03" target="_blank" href="mailto:sarft@chinasarft.gov.cn">
    				<font color="#000000"><br></font></a></font></td>
    			</tr>
    		</table>
    	</body>

     
     
    home.jsp
    <html>
    	<head>
    		<meta http-equiv="Content-Language" content="zh-cn">
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style>
    		body
    		{
    			SCROLLBAR-ARROW-COLOR: #ffffff;  SCROLLBAR-BASE-COLOR: #dee3f7;
    		}
        </style>
      </head>
      
    <frameset rows="103,*,43" frameborder=0 border="0" framespacing="0">
      <frame src="<c:url value='/login/top.jsp'/>" name="topFrame" scrolling="NO" noresize>
      <frameset cols="159,*" frameborder="0" border="0" framespacing="0">
    		<frame src="<c:url value='/login/left.jsp'/>" name="leftFrame" noresize scrolling="YES">
    		<frame src="<c:url value='/login/welcome.jsp'/>" name="mainFrame">
      </frameset>
      <frame src="<c:url value='/login/bottom.jsp'/>" name="bottomFrame" scrolling="NO"  noresize>
    </frameset>
    </html>

     
     
    left.jsp
    <body>
    <table width="100" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="12"></td>
      </tr>
    </table>
    <table width="100%" border="0">
      <tr>
        <td>
    <div class="dtree">
    
    	<a href="javascript: d.openAll();">展开所有</a> | <a href="javascript: d.closeAll();">关闭所有</a>
    	<link rel="StyleSheet" href="<c:url value='/css/dtree.css'/>" type="text/css" />
    	<script type="text/javascript" src="<c:url value='/js/dtree.js'/>"></script>
    	<script type="text/javascript">
    		d = new dTree('d');
    		d.add(0,-1,'系统菜单树');
    		d.add(2,0,'员工管理','<c:url value="/login/welcome.jsp"/>','','mainFrame');
    		//子目录添加
    		d.add(3,2,'用户管理','<s:url action="UserAction_list" namespace="/" ></s:url>','','mainFrame');
    
    		
    		document.write(d);
    	</script>
    </div>	</td>
      </tr>
      
    </table>
    </body>

     
     
    login.jsp
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <script type="text/javascript">
    function ini(){
       document.form1.loginname.focus();
    }
    </script>
    
    <html>
    	<head>
    		<meta http-equiv="Content-Language" content="zh-cn">
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title></title>
    		<link href="<c:url value='/css/Style.css'/>" rel="stylesheet" type="text/css">
    	</head>
    
    	<body onload="ini()">
    		<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
    			<tr>
    				<td align="center">
    					<table width="452" height="290" border="0" cellpadding="0" cellspacing="0">
    						<tr>
    							<td bgcolor="#FFFFFF">
    								<table width="452" height="290" border="0" cellpadding="0" cellspacing="0">
    									<tr>
    										<td height="74">
    											<img src="<c:url value='/images/logintitle.gif'/>">
    										</td>
    									</tr>
    									<tr>
    										<td align="center" valign="bottom" background="<c:url value='/images/loginbg.gif'/>">
    											<s:form id="loginAction_home" name="form1" action="UserAction_login" namespace="/" target="_parent" method="post" theme="simple" >
    												<table border="0" align="center" cellpadding="2" cellspacing="0">
    													<tr align="center">
    														<td height="30" colspan="2" style="border-bottom: 1px dotted #cccccc">
    															<strong style="font-size: 14px;">请登录</strong>
    														</td>
    													</tr>
    													<tr>
    														<td height="30" nowrap>
    															<font color="000F60"><strong>用户名:</strong> </font>
    														</td>
    														<td>
    															<s:textfield name="loginname" id="loginname" cssClass="text" cssStyle="width: 160px;" ></s:textfield>
    															<font color="red"><s:fielderror fieldName="loginname" ></s:fielderror></font>
    														</td>
    													</tr>
    													<tr>
    														<td height="30" nowrap>
    															<strong><font color="000F60">密码: </font> </strong>
    														</td>
    														<td>
    															<s:password name="loginpass" id="loginpass" cssClass="text" cssStyle="width: 160px;" ></s:password>
    															<font color="red"><s:fielderror fieldName="loginpass" ></s:fielderror></font>
    														</td>
    													</tr>
    													<tr>
    														<td height="30" nowrap colspan="2">
    															<strong><font color="red"></font> </strong>
    														</td>
    													</tr>
    													<tr>
    														<td height="30">
    														</td>
    														<td>
    															<input type="submit" name="submit" value="登录" class="buttoninput"/>
    
    															<input type="reset" name="reset" value="取消" class="buttoninput"/>
    
    														</td>
    													</tr>
    												</table>
    											</s:form>
    											<!-- 在这里显示各种错误信息 -->
    												<font color="red"><s:actionerror/></font>
    												
    												
    				
    
    											<table width="100%" border="0" cellspacing="0" cellpadding="0">
    												<tr>
    													<td height="30" align="center">
    													</td>
    												</tr>
    												<tr>
    													<td height="23" align="center"></td>
    												</tr>
    											</table>
    										</td>
    									</tr>
    
    								</table>
    							</td>
    						</tr>
    					</table>
    				</td>
    			</tr>
    		</table>
    	</body>
    </html>

     
     
    top.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    	<head>
    		<meta http-equiv="Content-Language" content="zh-cn">
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<style type="text/css">
    BODY {
    	MARGIN: 0px;
    	BACKGROUND-COLOR: #ffffff
    }
    
    BODY {
    	FONT-SIZE: 12px;
    	COLOR: #000000
    }
    
    TD {
    	FONT-SIZE: 12px;
    	COLOR: #000000
    }
    
    TH {
    	FONT-SIZE: 12px;
    	COLOR: #000000
    }
    </style>
    		<link href="<c:url value='/css/Style.css'/>" rel="stylesheet" type="text/css">
    	</HEAD>
    	<body>
    		<table width="100%" height="70%"  border="0" cellspacing="0" cellpadding="0">
    			<tr>
    				<td>
    					<img width="100%" src="<c:url value='/images/top_01.jpg'/>">
    				</td>
    
    				<td width="100%" background="<c:url value='/images/top_100.jpg'/>">
    				</td>
    			</tr>
    		</table>
    		<table width="100%" border="0" cellspacing="0" cellpadding="0">
    			<tr>
    				<td height="30" valign="bottom" background="<c:url value='/images/mis_01.jpg'/>">
    					<table width="100%" border="0" cellspacing="0" cellpadding="0">
    						<tr>
    							<td width="85%" align="left">
    							      
    								<font color="#000000"> <script language="JavaScript">
    <!--
    tmpDate = new Date();
    date = tmpDate.getDate();
    month= tmpDate.getMonth() + 1 ;
    year= tmpDate.getFullYear();
    document.write(year);
    document.write("年");
    document.write(month);
    document.write("月");
    document.write(date);
    document.write("日 ");
    
    myArray=new Array(6);
    myArray[0]="星期日"
    myArray[1]="星期一"
    myArray[2]="星期二"
    myArray[3]="星期三"
    myArray[4]="星期四"
    myArray[5]="星期五"
    myArray[6]="星期六"
    weekday=tmpDate.getDay();
    if (weekday==0 | weekday==6)
    {
    document.write(myArray[weekday])
    }
    else
    {document.write(myArray[weekday])
    };
    // -->
    									</script> </font>
    							</td>
    							<td width="15%">
    								<table width="100%" border="0" cellspacing="0" cellpadding="0">
    									<tr>
    										<td width="16"
    											background="<c:url value='/images/mis_05b.jpg'/>">
    											<img
    												src="<c:url value='/images/mis_05a.jpg'/>"
    												width="6" height="18">
    										</td>
    										<td width="155" valign="bottom"
    											background="<c:url value='/images/mis_05b.jpg'/>">
    											用户名:
    											<font color="blue">超级管理员</font>
    										</td>
    										<td width="10" align="right"
    											background="<c:url value='/images/mis_05b.jpg'/>">
    											<img src="<c:url value='/images/mis_05c.jpg'/>" width="6" height="18">
    										</td>
    									</tr>
    								</table>
    							</td>
    							<td align="right" width="5%">
    							</td>
    						</tr>
    					</table>
    				</td>
    			</tr>
    		</table>
    	</body>
    </HTML>
    

     
     
    welcome.jsp
    <style type="text/css">
    <!--
    body {
    	background-color: #FFFFFF;
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    }
    body,td,th {
    	color: #000000;
    }
    -->
        </style>
    <style>
    BODY {SCROLLBAR-FACE-COLOR: #cccccc; SCROLLBAR-HIGHLIGHT-COLOR: #ffffFF; SCROLLBAR-SHADOW-COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #cccccc; SCROLLBAR-ARROW-COLOR:  #ffffff; SCROLLBAR-TRACK-COLOR: #ffffFF; SCROLLBAR-DARKSHADOW-COLOR: #cccccc; }
    </style>
    </head>
    
    <body>
    
    <form name="Form1" method="post" action="name.aspx" id="Form1">
    
    	<table width="100%" border="0" height="88" border="1" background="<c:url value='/images/back1.JPG'/>">
    		<tr>
    			<td colspan=3 class="ta_01" align="center" bgcolor="#afd1f3"><strong>系统首页</strong></td>
    		</tr>
    
    		<tr>
    			<td width="65%" height="84" align="center" valign="top" >
    				<span class="Style1">登录成功!</span>
    			</td>
    		</tr>
    		<tr><td height=2></td></tr>
    	
    	</table>
    
    	</form>
    
    </body>
    

     
    User:
    add.jsp:
    <script type="text/javascript">
    		$(document).ready(function(){
    			//使用class属性处理  'yy-mm-dd' 设置格式"yyyy/mm/dd"
    			$('#birthday').datepick({dateFormat: 'yy-mm-dd'}); 
    		});
    	</script>
    	<body>
    		<s:form id="userAction_save_do" name="Form1" action="UserAction_add" namespace="/" theme="simple" method="post" enctype="multipart/form-data">
    			 
    			<table cellSpacing="1" cellPadding="5" width="100%" align="center" bgColor="#eeeeee" style="border: 1px solid #8ba7e3" border="0">
    				<tr>
    					<td class="ta_01" align="center" bgColor="#afd1f3" colSpan="4"
    						height="26">
    						<strong><STRONG>添加用户</STRONG>
    						</strong>
    					</td>
    				</tr>
    
    				<tr>
    					<td width="18%" align="center" bgColor="#f5fafe" class="ta_01">
    						登录名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colspan="3">
    						<s:textfield name="loginname"  id="userAction_save_do_loginname" cssClass="bg" ></s:textfield>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						 密码:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:password  name="loginpass"  id="loginpass"></s:password>
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						用户姓名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:textfield name="username"  id="userAction_save_do_username" cssClass="bg" ></s:textfield>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						性别:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:radio list="{'男','女'}" name="gender" id="gender男"  ></s:radio>
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						学历:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:select list="{'本科','专科','高中'}" name="education" id="education" headerKey="" headerValue="--请选择--" ></s:select>
    
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						出生日期:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:textfield  name="birthday" size="20" value="" readonly="readonly" id="birthday" ></s:textfield>
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						电话:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:textfield name="cellphone" value="" id="cellphone" ></s:textfield>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						兴趣爱好:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    					<s:checkboxlist list="{'看电影','旅游','健身','购物','睡觉'}" name="hobby"  id="hobby-1" ></s:checkboxlist>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						简历资料:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    						<s:file  name="upload2" size="30"  id="userAction_save_do_upload" ></s:file>
    					</td>
    				</tr>
    				<TR>
    					<TD class="ta_01" align="center" bgColor="#f5fafe">
    						备注:
    					</TD>
    					<TD class="ta_01" bgColor="#ffffff" colSpan="3">
    					<s:textarea name="remark" cols="30" rows="3" id="userAction_save_do_remark" cssStyle="WIDTH: 96%" ></s:textarea>
    					</TD>
    				</TR>
    				<TR>
    					<td align="center" colSpan="4" class="sep1">
    						<img src="<c:url value='/images/shim.gif'/>">
    					</td>
    				</TR>
    
    
    				<tr>
    					<td class="ta_01" style="WIDTH: 100%" align="center"
    						bgColor="#f5fafe" colSpan="4">
    						<button type="submit" id="userAction_save_do_submit" name="submit" value="确定" class="button_ok">
    							确定
    						</button>
    
    						<FONT face="宋体">       </FONT>
    						<button type="reset" value="重置" class="button_cancel">重置</button>
    
    						<FONT face="宋体">       </FONT>
    						<INPUT class="button_ok" type="button" onclick="history.go(-1)" value="返回"/>
    						<span id="Label1"></span>
    					</td>
    				</tr>
    			</table>
    		</s:form>
    	</body>

     
    edit.jsp:
    <!-- 日期插件,使用jquery -->
    		<script type="text/javascript" src="<c:url value='/jquery/jquery-1.4.2.js'/>"></script>
    		<link rel="stylesheet" href="<c:url value='/jquery/jquery.datepick.css'/>" type="text/css">
    		<script type="text/javascript" src="<c:url value='/jquery/jquery.datepick.js'/>"></script>
    		<script type="text/javascript" src="<c:url value='/jquery/jquery.datepick-zh-CN.js'/>"></script>
    	</HEAD>
    	<script type="text/javascript">
    		$(document).ready(function(){
    			//使用class属性处理  'yy-mm-dd' 设置格式"yyyy/mm/dd"
    			$('#birthday').datepick({dateFormat: 'yy-mm-dd'}); 
    		});
    	</script>
    	<body>
    		<form id="userAction_save_do" name="Form1" action="<c:url value='/user/list.jsp'/>" method="post" enctype="multipart/form-data">
    			 
    			<table cellSpacing="1" cellPadding="5" width="100%" align="center" bgColor="#eeeeee" style="border: 1px solid #8ba7e3" border="0">
    				<input type="hidden" name="userID" value="17" id="userID"/>
    				<input type="hidden" name="path" value="D:\apache-tomcat-6.0.18\webapps\StrutsProject\upload/2012/03/29/费用报销单模板.doc" id="path"/>
    				<input type="hidden" name="filename" value="费用报销单模板.doc" id="filename"/>
    				<tr>
    					<td class="ta_01" align="center" bgColor="#afd1f3" colSpan="4"
    						height="26">
    						<strong><STRONG>编辑用户</STRONG>
    						</strong>
    					</td>
    				</tr>
    
    				<tr>
    					<td width="18%" align="center" bgColor="#f5fafe" class="ta_01">
    						登录名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colspan="3">
    						<input type="text" name="loginname" value="caocao" id="userAction_save_do_loginname" class="bg"/>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						 密码:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<input type="password" name="loginpass" value="123" id="loginpass"/>
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						用户姓名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<input type="text" name="username" value="曹操" id="userAction_save_do_username" class="bg"/>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						性别:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<input type="radio" name="gender" id="gender男" value="男"/><label for="gender男">男</label>
    						<input type="radio" name="gender" id="gender女" checked="checked" value="女"/><label for="gender女">女</label>
    
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						学历:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						
    						
    						<select name="education" id="education">
    						    <option value="">--选择学历--</option>
    						    <option value="博士">博士</option>
    						    <option value="硕士">硕士</option>
    						    <option value="研究生" selected="selected">研究生</option>
    						    <option value="本科">本科</option>
    						    <option value="专科">专科</option>
    						    <option value="高中">高中</option>
    						
    						
    						</select>
    
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						出生日期:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<input type="text" name="birthday" size="20" value="2012-03-01" readonly="readonly" id="birthday"/>
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						电话:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<input type="text" name="cellphone" value="12312121" id="cellphone"/>
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						兴趣爱好:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    						 <input type="checkbox" name="hobby" value="看电影" id="hobby-1" checked="checked"/>
    						<label for="hobby-1" class="checkboxLabel">看电影</label>
    						<input type="checkbox" name="hobby" value="旅游" id="hobby-2" checked="checked"/>
    						<label for="hobby-2" class="checkboxLabel">旅游</label>
    						<input type="checkbox" name="hobby" value="健身" id="hobby-3"/>
    						<label for="hobby-3" class="checkboxLabel">健身</label>
    						<input type="checkbox" name="hobby" value="购物" id="hobby-4"/>
    						<label for="hobby-4" class="checkboxLabel">购物</label>
    						<input type="checkbox" name="hobby" value="睡觉" id="hobby-5"/>
    						<label for="hobby-5" class="checkboxLabel">睡觉</label>
    						<input type="hidden" id="__multiselect_userAction_save_do_hobby" name="__multiselect_hobby" value="" /> 
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						简历资料:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    						<input type="file" name="upload" size="30" value="" id="userAction_save_do_upload"/>
    					</td>
    				</tr>
    				<TR>
    					<TD class="ta_01" align="center" bgColor="#f5fafe">
    						备注:
    					</TD>
    					<TD class="ta_01" bgColor="#ffffff" colSpan="3">
    						<textarea name="remark" cols="30" rows="3" id="userAction_save_do_remark" style="WIDTH: 96%">的</textarea>
    					</TD>
    				</TR>
    				<TR>
    					<td align="center" colSpan="4" class="sep1">
    						<img src="<c:url value='/images/shim.gif'/>">
    					</td>
    				</TR>
    				<tr>
    					<td class="ta_01" style="WIDTH: 100%" align="center"
    						bgColor="#f5fafe" colSpan="4">
    						<button type="submit" id="userAction_save_do_submit" name="submit" value="确定" class="button_ok">
    							确定
    						</button>
    
    						<FONT face="宋体">       </FONT>
    						<button type="reset" value="重置" class="button_cancel">重置</button>
    
    						<FONT face="宋体">       </FONT>
    						<INPUT class="button_ok" type="button" onclick="history.go(-1)" value="返回"/>
    						<span id="Label1"></span>
    					</td>
    				</tr>
    			</table>
    		</form>
    
    
    
    
    	</body>

     
     
    error.jsp:
    <!--
    .style1 {
    	color: #FF0000;
    	font-size: 18px;
    }
    -->
    </style>
    	</head>
    	<body>
    		<p>
    			 
    		</p>
    		<table width="100%" border="0">
    			<tr>
    				<th width="18%" height="261" scope="col">
    					 
    				</th>
    
    				<th width="53%" scope="col">
    					<table width="453" height="220" border="0" cellpadding="0"
    						cellspacing="0">
    
    						<tr>
    							<td height="220" align="center" valign="middle"
    								background="<c:url vlaue='/images/loginbg.gif'/>">
    								<p class="style1">
    									<font color="red">上传附件错误</font>
    								</p>
    								<p>
    									
    								</p>
    							</td>
    						</tr>
    						<tr>
    							<td height="220" align="center" valign="middle">
    								<FONT face="宋体">       </FONT>
    								<INPUT class="button_ok" type="button" onclick="history.go(-1)" value="返回"/>
    							</td>
    						</tr>
    					</table>
    				</th>
    				<th width="29%" scope="col">
    					 
    				</th>
    			</tr>
    		</table>
    		<p>
    			 
    		</p>
    	</body>

     
     
    error1.jsp:
    <!--
    body {
    	background-color: #FFFFFF;
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    }
    body,td,th {
    	color: #000000;
    }
    -->
        </style>
    <style>
    BODY {SCROLLBAR-FACE-COLOR: #cccccc; SCROLLBAR-HIGHLIGHT-COLOR: #ffffFF; SCROLLBAR-SHADOW-COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #cccccc; SCROLLBAR-ARROW-COLOR:  #ffffff; SCROLLBAR-TRACK-COLOR: #ffffFF; SCROLLBAR-DARKSHADOW-COLOR: #cccccc; }
    </style>
    </head>
    
    <body>
    
    <form name="Form1" method="post" action="name.aspx" id="Form1">
    
    	<table width="100%" border="0" height="88" border="1" background="<c:url value='/images/back1.JPG'/>">
    		<tr>
    			<td colspan=3 class="ta_01" align="center" bgcolor="#afd1f3"><strong>出错啦!</strong></td>
    		</tr>
    
    		<tr>
    			<td width="65%" height="84" align="center" valign="top" >
    				<span class="Style1">
    					<font color="red"><s:property value="exception.message" /></font>
    				</span>
    			</td>
    		</tr>
    		<tr><td height=2></td></tr>
    	
    	</table>
    
    	</form>
    
    </body>

     
     
    list.jsp:
    <HTML>
    	<HEAD>
    		<meta http-equiv="Content-Language" content="zh-cn">
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<link href="<c:url value='/css/Style.css'/>" rel="stylesheet" type="text/css" />
    		<script language="javascript" src="<c:url value='/js/public.js'/>"></script>
    		<script type="text/javascript">
    			function addUser(){
    				window.location.href = "<c:url value='/user/add.jsp'/>";
    			}
    		</script>
    	</HEAD>
    	<body>
    		<br>
    		<s:form id="Form1" name="Form1" action="UserAction_list" namespace="/" method="post" theme="simple" >
    			<table cellSpacing="1" cellPadding="0" width="100%" align="center" bgColor="#f5fafe" border="0">
    				<TBODY>
    					<tr>
    						<td class="ta_01" align="center" bgColor="#afd1f3">
    							<strong>查 询 条 件</strong>
    						</td>
    					</tr>
    					<tr>
    						<td>
    							<table cellpadding="0" cellspacing="0" border="0" width="100%">
    								<tr>
    									<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
    										用户姓名
    									</td>
    									<td class="ta_01" bgColor="#ffffff">
    										<s:textfield name="username" size="15" id="Form1_username" cssClass="bg" ></s:textfield>
    									</td>
    									<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
    										性别:
    									</td>
    									<td class="ta_01" bgColor="#ffffff">
    										<s:select list="{'男','女'}" name="gender" id="gender" headerKey="" headerValue="--请选择--" ></s:select>
    									</td>
    								</tr>
    								<tr>
    									<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
    										学历:
    									</td>
    									<td class="ta_01" bgColor="#ffffff">
    										<s:select list="{'本科','专科','高中'}" name="education" id="education" headerKey="" headerValue="--请选择--" ></s:select>
    
    									</td>
    									<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
    										是否上传简历
    									</td>
    									<td class="ta_01" bgColor="#ffffff">
    										<s:select list="#{'1':'有','2':'无'}" name="upload" id="upload"
    											 headerKey="" headerValue="--请选择--" ></s:select>
    
    									</td>
    								</tr>
    								<tr>
    									<td width="100" height="22" align="center" bgColor="#f5fafe"
    										class="ta_01">
    									</td>
    									<td class="ta_01" bgColor="#ffffff">
    										<font face="宋体" color="red">  </font>
    									</td>
    									<td align="right" bgColor="#ffffff" class="ta_01"><br><br></td>
    									<td align="right" bgColor="#ffffff" class="ta_01">
    										<button type="submit" id="search" name="search" value="查询" class="button_view">
    查询
    </button>
    
    										     
    										<input type="reset" name="reset" value="重置" class="button_view"/>
    
    									</td>
    								</tr>
    							</table>
    						</td>
    
    					</tr>
    					<tr>
    						<td class="ta_01" align="center" bgColor="#afd1f3">
    							<strong>用 户 列 表</strong>
    						</TD>
    					</tr>
    					<tr>
    						<td class="ta_01" align="right">
    							<button type="button" id="add" name="add" value="添加" class="button_add" onclick="addUser()">
    添加
    </button>
    
    						</td>
    					</tr>
    					<tr>
    						<td class="ta_01" align="center" bgColor="#f5fafe">
    							<table cellspacing="0" cellpadding="1" rules="all"
    								bordercolor="gray" border="1" id="DataGrid1"
    								style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; WIDTH: 100%; WORD-BREAK: break-all; BORDER-BOTTOM: gray 1px solid; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: #f5fafe; WORD-WRAP: break-word">
    								<tr
    									style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3">
    
    									<td align="center" width="18%">
    										登录名
    									</td>
    									<td align="center" width="17%">
    										用户姓名
    									</td>
    									<td align="center" width="8%">
    										性别
    									</td>
    									<td align="center" width="23%">
    										联系电话
    									</td>
    									<td width="11%" align="center">
    										学历
    									</td>
    									<td width="7%" align="center">
    										编辑
    									</td>
    									<td width="7%" align="center">
    										查看
    									</td>
    									<td width="7%" align="center">
    										删除
    									</td>
    								</tr>
    								
    									<s:iterator value="#request.list" var="user" >
    										<tr onmouseover="this.style.backgroundColor = 'white'"
    											onmouseout="this.style.backgroundColor = '#F5FAFE';">
    											<td style="CURSOR: hand; HEIGHT: 22px" align="center"
    												width="18%">
    												<s:property value="loginname"/>
    											</td>
    											<td style="CURSOR: hand; HEIGHT: 22px" align="center"
    												width="17%">
    												<s:property value="username"/>
    											</td>
    											<td style="CURSOR: hand; HEIGHT: 22px" align="center"
    												width="8%">
    												<s:property value="gender"/>
    											</td>
    											<td style="CURSOR: hand; HEIGHT: 22px" align="center"
    												width="23%">
    												<s:property value="cellphone"/>
    											</td>
    											<td style="CURSOR: hand; HEIGHT: 22px" align="center">
    												<s:property value="education"/>
    											</td>
    											<td align="center" style="HEIGHT: 22px">
    												<a href="<c:url value='/user/edit.jsp?userID=15'/>">
    													<img src="<c:url value='/images/i_edit.gif'/>" border="0" style="CURSOR: hand">
    												</a>
    											</td>
    											<td align="center" style="HEIGHT: 22px">
    															<s:url action="UserAction_view" namespace="/" var="viewUrl"  >
    																<s:param name="uid" value="uid"></s:param>
    															</s:url>
    												<a href="<s:property  value="#viewUrl" />">
    													<img src="<c:url value='/images/button_view.gif'/>" border="0" style="CURSOR: hand">
    												</a>
    											</td>
    											<td align="center" style="HEIGHT: 22px">
    												<a href="<c:url value='/user/list.jsp?userID=15'/>">
    													<img src="<c:url value='/images/i_del.gif'/>" width="16" height="16" border="0" style="CURSOR: hand">
    												</a>
    											</td>
    										</tr>
    									</s:iterator>
    							</table>
    						</td>
    					</tr>
    				</TBODY>
    			</table>
    		</s:form>
    	</body>

     
     
    view.jsp:
    <body>
    		<form id="userAction_save_do" name="Form1" action="<c:url value='/user/userAction_save.do'/>" method="post" enctype="multipart/form-data">
    			 
    			<table cellSpacing="1" cellPadding="5" width="100%" align="center" bgColor="#eeeeee" style="border: 1px solid #8ba7e3" border="0">
    				<tr>
    					<td class="ta_01" align="center" bgColor="#afd1f3" colSpan="4"
    						height="26">
    						<strong><STRONG>查看用户</STRONG>
    						</strong>
    					</td>
    				</tr>
    
    				<tr>
    					<td width="18%" align="center" bgColor="#f5fafe" class="ta_01">
    						登录名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="loginname" />
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						用户姓名:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="username" />
    					</td>
    				</tr>
    				
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						性别:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="gender" />
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						学历:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="education" />
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						出生日期:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="birthday" />
    					</td>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						电话:
    					</td>
    					<td class="ta_01" bgColor="#ffffff">
    						<s:property value="cellphone" />
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						兴趣爱好:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    						 <s:property value="hobby" />
    					</td>
    				</tr>
    				<tr>
    					<td align="center" bgColor="#f5fafe" class="ta_01">
    						简历资料:
    					</td>
    					<td class="ta_01" bgColor="#ffffff" colSpan="3">
    						<a href="#" onclick="openWindow('user/userAction_download.do?userID=17','700','400')" class="cl_01">
    						    <s:a action="UserAction_download" namespace="/"   >
    						    <s:param name="uid"  value="uid" ></s:param>
    						    <s:property value="filename" />
    						    </s:a>
    						</a>
    					</td>
    				</tr>
    				<TR>
    					<TD class="ta_01" align="center" bgColor="#f5fafe">
    						备注:
    					</TD>
    					<TD class="ta_01" bgColor="#ffffff" colSpan="3">
    						<s:property value="remark" />
    					</TD>
    				</TR>
    				<TR>
    					<td align="center" colSpan="4" class="sep1">
    						<img src="<c:url value='/images/shim.gif'/>">
    					</td>
    				</TR>
    				<TR>
    					<td class="ta_01" style="WIDTH: 100%" align="right" bgColor="#f5fafe" colSpan="4">
    						<FONT face="宋体">       </FONT>
    						<INPUT class="button_ok" type="button" onclick="history.go(-1)" value="返回"/>
    						<span id="Label1"></span>
    					</td>
    				</TR>
    			</table>
    		</form>
    	</body>

     
    index.jsp:
    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
    <jsp:forward page="/login/login.jsp"></jsp:forward>

     
     
    展开全文
  • 员工管理系统Android版

    千次阅读 热门讨论 2017-07-21 21:21:53
    Android版的员工管理系统。包括服务器,客户端,及数据库。
    一个小项目。加上服务器大概4000多行代码。主要是为了练习socket网络编程而写的。主要内容就是Android客户端连接通过socket连接服务器,服务器与MySQL通过jdbc连接起来,从而实现从客户端来增删改查数据库。
    主要思路:
    客户端先与服务器建立socket连接,然后将需要对数据库操作的请求封装成json字符串。服务器收到json字符串后解析出里面的信息,然后对数据库进行操作。完成后给客户端返回数据(或是查询内容的或是执行是否成功的回馈信息)。
    一些难点:
    服务端的高并发,本人服务器是每连接到一个客户端就开一个线程用来处理客户端的操作,这样处理比较耗内存,一个线程需要几M内存,可想其并发数肯定不高。这里本人事后百度到了一个比较好的框架-Netty(读者可以自行百度)。
    socket的共用问题,一个Android程序,那么多活动,肯定不能每个活动建立一次连接,这里就需要多个活动共用一个socket对象。这里可以参考我的另一篇博客。
    网址  http://blog.csdn.net/lhp15575865420/article/details/75136649
    数据库的ER图如下

    其主要功能有

    1)员工登录:不同的员工有自己设置的密码,而且与自己的工号相对而不同的工号代表不同的身份登录后的权限也不同,密码过于重要,一旦高层密码泄露导致其他人登录系统进行非法破坏,所以没有给出修改密码的功能。

    2)员工基本信息管理:员工基本信息包括姓名性别等基本信息,只有员工本人才能修改,本部门部长以及高层可以查看以及删除,而一个员工的基本信息是员工所以数据的依托,一旦员工基本信息删除,说明该员工不在该企业,则删除员工的所以数据。而部长和高层都具有添加员工的功能。

    3)入职信息管理:每个员工(除高层外)都有且仅有一个入职信息,而且不能修改删除,除非删除这个员工,不然入职信息保持不变。入职信息从员工添加时被添加,直到员工被删除,之间只能查看。

    4)工资信息管理:每个员工可以查看自己的多条工资记录。只有高层和部长可以修改和添加已经删除员工的工资信息。部长只能操作本部门除自己外的员工的工资信息。

    5)奖惩信息管理:每个员工可以查看自己的多条奖惩记录。只有高层和部长可以修改和添加已经删除员工的奖惩信息。部长只能操作本部门除自己外的员工的

    奖惩信息

    6)培训信息管理:每个员工可以查看自己的多条培训记录。只有高层和部长可以修改和添加已经删除员工的培训信息。部长只操作本部门除自己外的员工的

    奖惩信息

    7)部门信息管理:企业的部门信息对全体员工公开,所以人都能查看部门信息,但是只有高层有权限修改和添加部门信息。由于删除部门事关重大,即使是高层也不开放此功能。


    登录界面UI以及主界面UI如下。


    数据库表。服务端代码。客户端代码。相关说明。都在我上传一个资源中。(免积分下载)

    网址:http://download.csdn.net/detail/lhp15575865420/9907168



    展开全文
  • 如何用微信管理员工、管理团队

    千次阅读 2015-01-26 11:38:02
    作为管理者,也应该与时俱进,学习、使用微信,如果用了这个工具,一样达到管理员工、管理团队的目的。 一、改变观念 大多数人,都认为微信朋友圈是自己的私人领地,不想同级或者下级有过多介入和干涉,执有...

    00016c58d5f814b081dd16

    随着微信的普及,朋友圈渐渐成为人们社交活动的新战场。作为管理者,也应该与时俱进,学习、使用微信,如果用好了这个工具,一样达到管理员工、管理团队的目的。

    一、改变观念

    大多数人,都认为微信朋友圈是自己的私人领地,不想同级或者下级有过多介入和干涉,执有这样的想法,自然会抗拒通过微信与员工交流。

    虽然如此,作为管理者,想要获得与员工高质量、高效率的沟通、效率,你就要花点心思,比如说要顺应潮流,用员工能接受的方式和他们沟通,特别是团队中日渐增多的90后群体,他们尤其喜欢用社交平台,如果你连这些都不懂、不会用,谈何用他们理解的方式来沟通呢?

    凡事都有双面性,从另一个角度看,如果你微信运用得当的话,不仅可以加强和员工的线上沟通,了解他们的最新动态,而且你只要经营得当,你还能借助这个平台,让员工认识你,了解到你的更多信息,例如你的工作和生活,无形中能促进上下级之间的交流。

    因此,作为观理者,如果你真的想通过微信来开展员工管理,首先你就要完成观念的转变,因为只有接受它,才能它的价值发挥出来。

    二、走出关键的几步

    (1)加好友:
    第一步,你需先向团队的成员提前说明:希望能借助微信加强和大家的交流,近期会加大家为好友,希望大家配合支持。相信有了这个铺垫,员工就会有足够的心理准备,不会认为你是无事不登三宝殿,自然就会同意你加为好友。

    (2)设为星标朋友
    有些人可能好友众多,一不留意,员工发布的信息就会掩没在潮海之中,为了不致错漏,建议可以将员工设置为“星标朋友”,这样他们就会显示在微信通讯录的最上面。如果需要关注他们的最新动态,直接就能点击进去查看,非常方便。

    (3)多评论
    对于员工发布的朋友圈信息,管理者可以根据实际情况适时评论,或者点个赞,这样做,是让员工感受到你的存在,你的及时评论,也可以让员工知道你在关注他、关心他的情况。

    (4)常沟通
    对于一些特定的内容,不方便在朋友圈沟通,可以私下微信员工。相对封闭的环境,加上你的主动了解,大部分员工还是很愿意向你说明的,如果你真的关心员工,不用担心找不到共同的话题。

    三、做好微信定位

    除了做好员工的沟通,管理者的个人微信在朋友圈中怎么发、发什么,也要注意,如果内容发布到位,同样可以让你在团队成员中树立你的个人威信。具体发布的内容,包括但不限于以下的范围:

    工作方面:工作心得分享、对职业、行业发展的看法、工作当中的趣事、团队活动的相片分享;

    生活方面:家庭生活的分享,对教育、育儿的看法;

    其他:好书、电影、美食的分享等。

    四、使用微信群的三个原则

    在使用群管理之前,必须要知道三点原则:自愿、保密、沟通

    1、自愿:无论使用哪一种平台,都必须是自愿使用,不要带强迫性,特别是微信具有一定的隐私性,如果员工勉强加入,内心肯定会有所抵触,管理的效果自然不明显。作为管理者,应该事前和大家说明,争取得到员工的支持,而不是一言不发,直接将员工拉入群了事。

    2、保密:对于公司类的沟通群,不可避免地涉及公司的管理策略、客户数据等敏感性的数据,由于发言的便利、微信分享的快捷性,如果没有提前做好预防措施,有可能会造成信息的泄露。所以管理者应该和团队成员说明,要注意信息的保密性,不要随便截图上传朋友圈,对于敏感的数据、文档,建议不要上传到群,避免造成信息泄露。

    3、沟通:一旦管理者决定使用微信群进行团队管理的话,就要充分利用这个平台和员工进行沟通,在群里谈论的话题可以不局限于工作,借助一些轻松话题的沟通,可以促进管理的顺畅。

    五、运营微信群的智慧

    1、先考虑要不要建
    在组建微信群前,管理者先要考虑清楚,微信群是否适合你的团队?建群的一个必要前提是要有足够的活跃成员,其次,考虑员工使用的普遍性。如果你们团队,还不到三分之一的人使用微信(例如老员工居多的团队),这种背景下,管理者贸然建群,群成员之间的沟通质量可想而知。真遇到这情况,还是先考虑动员起员工先将微信的使用习惯培养起,或者考虑其他沟通平台吧。

    2、注意群的定位
    再者,考虑清楚,你团队的微信群定位做什么?是希望通过单纯的沟通、聊天增进感情?还是作为信息通知的群,及时将政策、提醒通知到位?或者两者功能都需要,这个答案,将决定你建立一个微信群,还是两个微信群,至于原因,下面会提及。

    3、建群的数量
    如果只是需要微信群发挥团队管理作用,建立两个微信群很有必要,一个单纯聊天,一个单纯通知,否则两者混为一起使用,很容易给需要获取信息的人造成过多干扰,影响重要信息的获取。
    每个团队都有骨干员工,为了更好地达到培养员工、高效管理的目的,可以考虑再建一个小规模的微信群,只将部分骨干员工加入进来,这样沟通起来就很方便。但要注意是需尽量保持低调,否则让团队其他成员会有“小团队”的想法,不利于管理。

    4、学会活跃群
    为了不至于让微信群在成立后经历一段时间的热闹后,由于没有多少人说话变成一潭死水。所以,除了通知群外,聊天群必须要让员工活跃起来,经常性发言,才能促进大家相互了解。微信群也才能真正发挥它的价值。
    但是,谈什么的话题,才能让大家都有参与讨论的欲望呢?首先,建议管理者不要在聊天群谈过多工作,可以多谈工作以外的其他内容。也可以适当制造一些话题,比如美食、美女、购物、旅游等,这些话题永远都是大家乐于参与的,只要有人发起,不怕没人来谈论。

    5、善于运营群
    根据经验,一个群的主流声音,往往集中在几意见领袖身上,如果管理者希望大家在发言的方向有正面的引导、积极向上,良性沟通的效果,那么只需要在群里找到4-5个积极的员工,由他们发起话题、引导大家讨论。因为由员工自发组织的沟通,其他员工觉得是自己人,对话题也不会反感,引导沟通得出的观点,其他员工接受程度也较高,所以,如果你希望达成这样的效果,只有靠这4-5个骨干帮助你,把你希望探讨的话题告诉他们就够了。

    六、避免微信群的陷阱

    1、不要过度刷屏
    虽说是群聊,但要适当发言,管理者不要过度在群中指点江山、高谈阔论,不让员工有太多说话的机会,这样刷屏的方式,只会招致员工反感,最终大家都选择不说话,久而久之,微信群成为你自说自话的空间了。
    管理者正确的做法应该是鼓励员工多说,不管是什么范围都可以,包括不满、误会也可以鼓励员工通过这个平台表达出来,作为管理者,只要在适当的时候,给予回应即可。

    2、不要公群私聊
    管理者应该引导大家在群里讨论共性的问题,对于一些个别员工感兴趣的话题,建议管理者一对一与员工沟通更适当,不要只顾双方一直不停的聊,影响大家信息的获取。

    3、不要语音轰炸
    群信息的刷新频率较高,一般以文字和图片交流为主,如果管理者发语音和大家沟通,大家必须听完之后才知道说什么内容,而如果较长的录音,更会降低大家收听的兴趣,所以,建议非必要的情况下不要频繁发语音和大家沟通,直接用文字更为直观。

    展开全文
  • 管理者如何对待员工反馈

    千次阅读 2018-06-12 01:57:00
    相信在任何企业、团队中都一定会提倡员工反馈的行为,遇到问题及时向管理层反馈,不仅有利于问题的解决,更能够建立管理者与员工之间的有效沟通渠道。 离职小故事 近来在今日头条上经常有看到关于员工离职的文章...

    相信在任何企业、团队中都一定会提倡员工反馈的行为,遇到问题及时向管理层反馈,不仅有利于问题的解决,更能够建立管理者与员工之间的有效沟通渠道。

    离职小故事

    近来在今日头条上经常有看到关于员工离职的文章,马云最有名的经典语录,员工为何要离职,一是钱给的不够,二是心里受委屈了。我们今天来谈一下小A的离职故事。小A是一个程序员,在公司干了一年多,入职以来一直是团队的核心开发人员,近日从公司离职,原因就是四个字反馈无用。进入公司的一年多时间,一直勤勤恳恳工作,由于团队处于初创时的扩张期,暴露出许多问题,一年时间研发总监级管理层连换三任。管理层、团队存在许多问题,作为一名职业素养比较高的程序员,小A发现问题后不间断地向管理层反馈,从部门经理到技术总监、再到人力资源,所有能接触到的管理层都反馈过。结果就是,每一任管理层都是敷衍了事。多少个夜晚,作为一个程序员的小A不是在敲代码,而是在冥思苦想团队问题如何解决,默默地敲着几千字的邮件。可得到确实杳无音讯,领导只是一句“辛苦了”,然后让他静静等待,等到主帅一换再换,一封辞职信终结所有。
    image.png

    为何要反馈

    任何一家企业、团队都是提倡员工反馈的,这应是毋庸置疑的。一方面,对于管理者而言,由于工作职能的不同,管理者的工作偏向全面性。而且人的精力是有限的,对于一个百人团队来说,管理层不可能做到了解每一个人,了解团队中发生的每一件事,存在的所有问题。假设缺少反馈机制,就会在管理层与基层工作者之间形成鸿沟,管理层所得到的信息缺少,将影响到其决策的正确性。另一方面,从基层员工角度来看,反馈机制能提升员工的主人翁意识,员工乐于反馈、积极反馈实际上是在乎公司的体现。而且,健全的反馈机制,有助于员工表达自己的心声,展现自己的才能。若是员工不愿意反馈,即使存在问题也是视而不见,那将直接影响到团队的和谐发展,会让问题越来越多、越滚愈大,对团队是重大伤害。将问题掩藏着,不代表其不存在,不在沉默中爆发,即在沉默中灭亡。

    如何对待

    及时给予肯定

    这一点及其重要,小A的故事已经说的很清楚。当员工乐于反馈时,代表这他是真正把自己当初团队的一份子,表达的是对团队的关心。对于这种行为,管理者一定要及时地给予肯定。尚且不论其真实性、合理性,光是这一份心意就应该得到赞扬。尤其是对于一些问题的反馈,一定要尤为重视。为什么每个人离职时,HR都会问其对团队看法,有什么建议。所谓人之将去,其言也善。就因为要离开时,什么都不在乎,所以才回说实话,对于那些在职的人能够勇敢说话的人,更应该给出肯定。

    处理后给出结论

    一种领导是对于反馈视而不见,还有另外一种就是忽悠之。收到反馈之后,没有任何行动,敷衍了事。给予肯定只是第一步,重要的是落实。无可否认,管理者经常会收到很多的反馈,处理起来确实很累。但是,反馈问题的处理、意见的采纳一定是明主必备的素质。光说不练假把式,若管理者常常敷衍,常忽悠下属,早晚必会被忽悠。将反馈的问题认真对待,给反馈者一个结果,这会让员工感受到满满的重视感。会极大提升其积极性,哪怕是证明其反馈并不是事实。最起码,会让基层员工感受到,自己的言行是得到领导的重视,在后续工作中若是发现问题,也会勇敢提出来。

    结束语

    重要的话说三遍,无论从哪个角度而言,反馈都是及其重要的。管理者不能视而不见,必须格外重视,不管其真假性,以及可否解决。但必须给出一个答复。今日你忽悠他人,他人定会被他人忽悠。

    展开全文
  • C语言实现员工管理系统

    千次阅读 2017-07-12 18:48:01
    这俩天写了一个小玩具程序,算一个长期以来的热门题目就是《xxx管理系统》。大致的意思整个程序分为客户端和服务器段,客户端通过登录...至于员工信息这些数据,舍弃了数据库的做法,改用读写普通文件的方式存放数据。
  • 销售公司员工管理c++实现

    千次阅读 2013-06-06 13:20:19
    一、 设计目的 Ø 熟练掌握C++语法、...销售公司员工管理 设计一个虚基类Staff(员工),包含编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出销售员类Salesman,包含销售额保护数据成员以及相关的
  • 著名管理顾问尼尔森提出,未来企业经营的重要趋势之一,是企业经营管理者不再像过去那样扮演权威角色,而是要设法以更有效的方法,激发员工士气,间接引爆员工潜力,创造企业最高效益。以激发士气为目的的激励,需要...
  • 一个管理者,不应该是一个好员工

    千次阅读 热门讨论 2006-08-26 21:50:00
    一个管理者,不应该是一个好员工以小人之心,度君子之腹,最终会发现君子的伟大;以君子之心度小人之腹,最后受伤总是君子,量大者一笑而过,量小者恼羞成怒。一个管理者,不应该是君 子。然而可惜的是,现在...
  • 项目名称:员工管理系统项目目的:1、实现简单的公司对员工信息的管理2、通过项目锻炼实现逻辑转换为代码的能力3、利用函数封装实现项目过程中的逻辑过程以及需求功能的实现4、学会数据库的操作以及网络通信5、强化...
  • 管理理念:如何让员工服从管理

    千次阅读 2011-08-30 19:59:34
    管理理念:如何让员工服从管理转自:总裁网 ...其实,不仅对待动物是这样,我们对待员工也是如此,要在信息化管理中,让他们看到信息化管理有盼头,能够让他们尝到一些甜头,他们才会死心塌地的跟着走...
  • python实现的简易员工管理系统

    千次阅读 2017-04-20 18:34:49
    这是一个简易的员工管理系统,实现最简单的功能:1.登录用户密码验证(错误三次自动退出) 2.支持文本员工的搜索、添加、删除、修改 3.一级层级多个选项、二级层级多个选项,都支持判空、退出、返回上一层级 4....
  • 优秀员工的修炼-通往专家、管理之路

    千次阅读 多人点赞 2014-07-03 12:38:12
    好员工的类型有很多种,尝试着抽象出一个定义吧--好员工是那些主管分配其任务放心、同事喜欢与其...知识经济时代,好员工首先是做好自我管理的,终能独挡一面的个人。姑且聊一聊好员工该具备的素质(部分针对程序员)。
  • 软件公司如何才能留住员工

    万次阅读 多人点赞 2011-10-14 10:06:24
    公司的人都走的差不多了,原来20的公司现在只剩下几个人,程序基本走光了,剩下了大部分...这是重点中的重点,大家看到离职的同事找的工作的待遇是自己的几倍,能不动心吗。 2、经验的积累,专业素养的提高。公司
  • java小demo---员工管理系统

    万次阅读 多人点赞 2018-10-10 21:50:23
    最近开始自学java,在学到ArrayList的时候做了个员工管理系统来熟悉ArrayList的一部分操作。 此系统有5个功能: 1.添加员工:输入员工编号,姓名,薪水 2.查找员工:输入员工编号进行查找,如果找到员工就会显示...
  • 项目经理如何管理不同类型员工的扯皮攻略

    万次阅读 热门讨论 2011-01-25 16:17:00
    项目经理如何管理不同类型员工的扯皮攻略
  • 使用数组设计一个实用的小型学生成绩管理程序,它有查询和检索等功能,并且能够对指定文件操作。 功能设计要求 增加学生记录 在已有的记录后面追加新的记录 可以随时用它增加新的记录,它们仅保存在结构...
  • 我在公司从事软件项目管理也有两年时间,带过大大小小三个项目,这个问题从一开始到现在,为了解决这个问题,我做过很多实践,包括:对于做的出色的员工给予及时的表扬和鼓励;分配具有挑战性的工作任务;给予奖励,...
  • 我给出 老雾blog的连接:http://blog.sina.com.cn/u/1454884585《做最好的员工》——文/雾满拦江 目录: 开篇:好员工缄言 第一章:好员工才会成功 (1)员工有麻烦 (2)老板也有麻烦 (3)员工替老板解决...
  • 如何对知识型员工进行管理

    千次阅读 2008-01-22 13:26:00
    每个人都会穷其一生的理论和经验对这些事情做出解释和判断,他们会感觉到这件事的处理方式对还是不对,进而会评定公司内某一个负责这事的管理者爽还是不爽,再积累下来会判断公司还是不好。这些看法和态度,不管对...
  • 管理者心目中优秀员工的标准

    万次阅读 2008-06-27 15:31:00
    管理者心目中优秀员工的标准版权声明:如有转载请求,请注明出处:http://blog.csdn.net/yzhz 杨争 要了解管理者心目中优秀员工的标准,就必须了解管理者的工作职责。就像要知道妻子心目中模范丈夫的标准,就必须...
  • 如何管理好一个研发管理团队

    万次阅读 2017-02-10 10:53:01
    如何管理好一个研发管理团队  很多管理人员都存在一个错误的认识,认为团队建设中,平常只要抓技术建设就行了,特别是研发部门团队,比如抓团队用什么架构,框架,具体的技术,抓培训,抓绩效就足够了,很多时候,我们可以...
  • 80、90后员工管理八项注意

    千次阅读 2012-07-29 14:53:45
    80、90后员工管理八项注意 2011/3/31/8:25来源:中国总裁培训网作者:禹志  时常听到企业老总和部门经理们抱怨重重:“真搞不懂80、90后员工到底怎么啦?公司对他们已足够容忍和让步了!工作上提要求常常大堆...
  • springboot + vue + elementUI + mybatis + redis 清新的员工管理系统 前言   从这期,项目从需求分析开始,一步步实现一个老经典的清新的员工管理系统,适合有一定 ssm、springboot、mybatis、vue+elementUI ...
  • 最近看到一个奇葩卧底日记,知名餐饮公司西贝莜面村的一名员工卧底海底捞几个月,写了一个几万字的长篇海底捞经验总结,很干货,很内部,这是真的揭秘。 海底捞有一个很厉害的哲学:把员工当人。要知道,小米也曾...
  • 企业能够持续发展,最为关键的因素在于企业是否拥有一批懂经营、会管理、善沟通、踏踏实实、公道正派、廉洁勤治、求真务实的管理者。 作为一个优秀的管理者,既要胸怀大局观念,又要熟悉业务流程;既要具备领导能力...
  • 公司年终奖设置与员工管理

    千次阅读 2012-01-17 18:48:09
    这样才能的刺激员工的工作热情。大家多会为那弹性的地方所努力。正所谓有盼头。小一些的公司的年终奖设计应该更加人性化一些。比如某一个员工这一年工作比较辛苦,某一个员工最近情绪比较浮躁。可以在年终找回来...
  • 质量管理新理念——以员工为中心

    千次阅读 2007-01-26 19:25:00
    质量管理,在过去多少年都提倡“以顾客为中心”、“顾客是上帝”,现在可能是我们打破这种理念的时候,企业更强调人性化管理,建立质量的新理念——“以员工为中心”,为什么怎么说呢? 产品需要顾客掏钱买,服务...
  • 成为一名优秀的管理者所需要的技能组合与成为一名优秀的独立贡献者所需要的技能组合是完全不同的,这难免会让那些第一次走上管理岗的人感到困惑。 编者按:对于大部分人而言,第一次被提拔至管理岗是一个苦乐...
  • 回顾2020,在的岗位上,是一个合格的员工吗?

    千次阅读 多人点赞 2021-01-03 22:19:46
    的岗位上,是一个合格的员工吗?
  • 首先要让的企业有一股凝聚力,这要从管理好你的团队开始。  第一,要管理好自己,要成为一个优秀团队的管理者,自己在各方面一定要做得最好,是团队的榜样,要让大家对信服.要把优良的工作作风带到团队中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,374
精华内容 44,549
关键字:

怎么才能管理好你的员工