Commit add91184 authored by liuchao's avatar liuchao

no message

parents
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qiankun</groupId>
<artifactId>tjmdp</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<sitemesh.version>2.4.2</sitemesh.version>
<spring.version>4.1.5.RELEASE</spring.version>
<hibernate.version>4.3.5.Final</hibernate.version>
</properties>
<dependencies>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.7.2.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<classifier>jdk15</classifier>
<version>2.4</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>${sitemesh.version}</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<classifier>jdk15</classifier>
<artifactId>json-lib</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.10</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
package com.qiankun.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
@Inherited
public @interface Auth {
/**
* 是否验证登陆 true=验证 ,false = 不验证
* @return
*/
public boolean verifyLogin() default true;
/**
* 是否验证URL true=验证 ,false = 不验证
* @return
*/
public boolean verifyURL() default true;
}
This diff is collapsed.
package com.qiankun.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.qiankun.controller.base.BaseController;
import com.qiankun.service.UserService;
@Controller
public class WebSiteController extends BaseController<Object>{
@Autowired
private ApplicationContext applicationContext;
@RequestMapping("/index")
public ModelAndView index() throws Exception {
ModelAndView t_view = new ModelAndView();
t_view.setViewName("index");
return t_view;
}
@RequestMapping("/result")
public ModelAndView search(String userId, String userName) throws Exception {
final UserService service = applicationContext.getBean(UserService.class);
ModelAndView t_view = new ModelAndView();
return t_view;
}
}
\ No newline at end of file
package com.qiankun.controller.base;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.NoSuchMessageException;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public class BaseController<Entity> extends MultiActionController {
@Autowired
protected ApplicationContext ctx;
private Integer DEFAULT_COUNT = 40;
/**
* 获取国际化.
*
* @param key 国际化key
* @return 国际化文本
*/
public String getMessage(final String key) {
try {
return getWebApplicationContext().getMessage(key, null, null);
} catch (NoSuchMessageException t_e) {
return key;
}
}
/**
* 获取国际化.
*
* @param key 国际化key
* @param locale 语言
* @return 国际化文本
*/
public String getMessage(final String key, final Locale locale) {
try {
return getWebApplicationContext().getMessage(key, null, locale);
} catch (NoSuchMessageException t_e) {
return key;
}
}
/**
* 获取国际化.
*
* @param key 国际化key
* @param arguments 国际化文本中参数列表
* @param locale 语言
* @return 国际化文本
*/
public String getMessage(final String key, final Object[] arguments, final Locale locale) {
try {
return getWebApplicationContext().getMessage(key, arguments, locale);
} catch (NoSuchMessageException t_e) {
return key;
}
}
/**
* 转换对象为JSON串
*
* @param obj 被转换的对象
* @return String JSON串
*/
protected String toJson(final Object obj) {
if (obj == null) {
return "[]";
}
return JSONArray.fromObject(obj).toString();
}
/**
* the next page number
*
* @return
*/
public int getPageNumber(HttpServletRequest request) {
String page = request.getParameter("page");
int pageNumber = 1;
try {
if (page != null && page.length() > 0) {
pageNumber = Integer.parseInt(page);
}
if (pageNumber <= 0) {
pageNumber = 1;
}
} catch (Exception e) {
}
return pageNumber;
}
public int getStartRow(HttpServletRequest request) {
return this.getPageCount(request) * (this.getPageNumber(request) - 1);
}
/**
* The number of displaying items per page. Returned value will more or equals
* then <code>null</code> and less than value returnd by {@link #getMaxPossibleCount()}
* @return
*/
public int getPageCount(HttpServletRequest request) {
return getCustomizePageCount(DEFAULT_COUNT,request);
}
/**
* Page count from request parameter <code>count</code>. Returned value will more or equals
* then <code>null</code> and less than value returnd by {@link #getMaxPossibleCount()}
* @param defaultCount value for return if parameter <code>count</code>
* @return
*/
public int getCustomizePageCount(int defaultCount,HttpServletRequest request) {
String pageCount = request.getParameter("count");
int count = defaultCount;
try {
if (pageCount != null && pageCount.length() > 0) {
count = Integer.parseInt(pageCount);
}
if (count <= 0) {
count = defaultCount;
}
} catch (Exception e) {
}
if (count > DEFAULT_COUNT ) {
count = DEFAULT_COUNT;
}
return count;
}
public String getWebAppPath(HttpServletRequest request) {
StringBuffer sb = new StringBuffer(request.getScheme() + ":" + "//"
+ request.getServerName() + ":" + request.getServerPort());
sb.append(request.getContextPath());
return sb.toString();
}
public void SaveFileFromInputStream(InputStream stream, String path, String filename) throws IOException {
File file = new File(path);
if (!file.isDirectory()){
file.mkdir();
}
FileOutputStream fs = new FileOutputStream(path + "/" + filename);
byte[] buffer = new byte[1024 * 1024];
int bytesum = 0;
int byteread = 0;
while ((byteread = stream.read(buffer)) != -1) {
bytesum += byteread;
fs.write(buffer, 0, byteread);
fs.flush();
}
fs.close();
stream.close();
}
public static Timestamp getCurrentTimestamp() throws RuntimeException {
Calendar cal = Calendar.getInstance();
Timestamp ts = new Timestamp(cal.getTimeInMillis());
return ts;
}
public void downloadfile(String path, HttpServletResponse response) throws Exception {
File file = new File(path);
response.addHeader("Content-Disposition", "attachment; filename="
+ new String(file.getName().getBytes(), "iso-8859-1"));
response.setContentType("application/octet-stream");
OutputStream out = response.getOutputStream();
BufferedInputStream bin = new BufferedInputStream(new FileInputStream(path));
byte[] buf = new byte[1024];
int len = 0;
while ((len = bin.read(buf)) > 0)
out.write(buf, 0, len);
out.close();
bin.close();
}
}
package com.qiankun.dao;
import com.qiankun.dao.core.Hints;
import com.qiankun.dao.core.IDao;
import com.qiankun.entity.User;
import com.qiankun.pages.IPageList;
public interface UserDao extends IDao<User, String> {
IPageList<User> findUserPage(String searchStr, String groupId, String order, String sort, Hints hints);
User findLastUserByGroup(String groupId);
User login(String mobile, String password);
Boolean validateUserExistByMobile(String mobile);
Boolean validatePwd(String id, String password);
Boolean validateUserExistByTeamName(String userName);
}
package com.qiankun.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.qiankun.dao.core.AbsDao;
import com.qiankun.dao.core.Hints;
import com.qiankun.entity.User;
import com.qiankun.pages.IPageList;
import com.qiankun.pages.PageListImpl;
@Repository
public class UserDaoImpl extends AbsDao<User, String> implements UserDao {
private static final String FIND = "from User where ";
private static final String FIND_USER_PAGE = " from User where (userId like ? or mobile like ?) ";
private static final String FIND_LASTUSER_BY_GROUP = " from User where groups = ? order by createTime desc";
private static final String LOGIN = " from User where mobile = ? and pwd = ? and isRemove=false";
private static final String VALIDATE_MOBILE = " from User where mobile = ?";
private static final String VALIDATE_TEAMNAME = " from User where teamName = ?";
private static final String VALIDATE_PWD = " from User where id = ? and pwd = ? and isRemove=false";
@Override
public Boolean validateUserExistByMobile(String mobile) {
Long count = findCount(" select count(*) " + VALIDATE_MOBILE, mobile);
if (count > 0)
return true;
else
return false;
}
@Override
public Boolean validateUserExistByTeamName(String userName) {
Long count = findCount(" select count(*) " + VALIDATE_TEAMNAME, userName);
if (count > 0)
return true;
else
return false;
}
@Override
public User findLastUserByGroup(String groupId) {
List<User> records = find(FIND_LASTUSER_BY_GROUP , new Hints(0,1), groupId);
if (records.size()>0) {
return records.get(0);
} else {
return null;
}
}
@Override
public IPageList<User> findUserPage(String searchStr, String groupId, String order, String sort, Hints hints) {
if (order == null){
order = " createTime ";
}
if (sort == null){
sort=" desc ";
}
String groupHql = null;
if (groupId != null){
groupHql = " and groups = ? ";
}
if (searchStr == null) {
searchStr = "%";
}
String param = "%" + searchStr + "%";
IPageList<User> users = new PageListImpl<User>();
if (groupId != null){
users.setRecords(find(FIND_USER_PAGE + groupHql + sortHQL(order, sort), hints, param, param, groupId));
users.setRecordTotal(findCount(" select count(*) " + FIND_USER_PAGE + groupHql, param, param, groupId));
} else {
users.setRecords(find(FIND_USER_PAGE + sortHQL(order, sort), hints, param, param));
users.setRecordTotal(findCount(" select count(*) " + FIND_USER_PAGE, param, param));
}
return users;
}
@Override
public User login(String mobile, String password) {
return findUnique(LOGIN, new Hints(), mobile, password);
}
@Override
public Boolean validatePwd(String id, String password) {
Long count = findCount(" select count(*) " + VALIDATE_PWD, id, password);
if (count > 0)
return true;
else
return false;
}
}
package com.qiankun.dao.core;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.util.StringUtils;
public class AbsDao<E, K extends Serializable> implements IDao<E, K> {
private Class<E> persistentClass;
public AbsDao() {
this.persistentClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
private SessionFactory sessionFactory;
@Resource
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@SuppressWarnings("unchecked")
public List<E> findPaged(final String queryString, final Hints hnts, final Object... values) {
if (StringUtils.isEmpty(queryString)) {
return new ArrayList<E>();
}
Query query = sessionFactory.getCurrentSession().createQuery(queryString);
if (values != null) {
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
if (hnts.getOffset() > 0) {
query.setFirstResult(hnts.getOffset());
}
if (hnts.getLength() > 0) {
query.setMaxResults(hnts.getLength());
}
return query.list();
}
public Session getSession() {
return sessionFactory.getCurrentSession();
}
public E findUnique(final String queryString, final Hints hnts, final Object... values) {
if (StringUtils.isEmpty(queryString)) {
return null;
}
return uniqueResult(find(queryString, hnts, values));
}
public int execUpdate(final String hql, final Object... values) {
Query query = sessionFactory.getCurrentSession().createQuery(hql);
if (values != null) {
for (int i = 0; i < values.length; i++)
query.setParameter(i, values[i]);
}
return query.executeUpdate();
}
private static <E> E uniqueResult(Collection<E> results) {
if (results == null || results.isEmpty())
return null;
if (results.size() > 1)
throw new IllegalArgumentException("the Collection size is larger than 1");
return results.iterator().next();
}
public long findCount(String hql, Object... values) {
Query query = sessionFactory.getCurrentSession().createQuery(hql);
if (values != null) {
for (int i = 0; i < values.length; i++)
query.setParameter(i, values[i]);
}
List list = query.list();
if (list != null && !list.isEmpty()) {
return (Long) list.get(0);
}
return 0;
}
public List<E> find(final String queryString, final Hints hints, final Object... values) {
if (StringUtils.isEmpty(queryString)) {
return new ArrayList<E>();
}
Query query = sessionFactory.getCurrentSession().createQuery(queryString);
if (values != null) {
for (int i = 0; i < values.length; i++)
query.setParameter(i, values[i]);
}
if (hints.getOffset() > 0)
query.setFirstResult(hints.getOffset());
if (hints.getLength() > 0)
query.setMaxResults(hints.getLength());
return query.list();
}
public List<E> findSql(final String queryString, final Hints hints) {
if (StringUtils.isEmpty(queryString)) {
return new ArrayList<E>();
}
Query query = sessionFactory.getCurrentSession().createQuery(queryString);
if (hints.getOffset() > 0)
query.setFirstResult(hints.getOffset());
if (hints.getLength() > 0)
query.setMaxResults(hints.getLength());
return query.list();
}
@Override
public E save(E entity) {
getSession().save(entity);
return entity;
}
@Override
public void remove(K key) {
getSession().delete((E) getSession().get(this.persistentClass, key));
}
@Override
public void update(E entity) {
getSession().merge(entity);
}
@Override
public E find(K key) {
return (E) getSession().get(this.persistentClass, key);
}
@Override
public List<E> findAll() {
return getSession().createQuery("FROM " + this.persistentClass.getSimpleName()).list();
}
public String sortHQL(String order, String sort) {
StringBuffer hql = new StringBuffer();
if (order != null) {
hql.append(" order by ");
hql.append(order);
if (sort != null)
hql.append(" ");
hql.append(sort);
}
return hql.toString();
}
public void excuteBySql(String sql) {
SQLQuery query = this.getSession().createSQLQuery(sql);
query.executeUpdate();
}
}
package com.qiankun.dao.core;
import javax.persistence.Query;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public class Hints extends Offset implements Serializable {
private static final long serialVersionUID = 4188404084579334606L;
/**
* Set hints and offset to query.
*
* @param query
* @param hints
*/
public static void applyHintsTo(Query query, Hints hints) {
applyTo(query, hints);
if (hints.hints != null) {
applyHintsTo(query, hints.hints);
}
}
protected static void applyHintsTo(Query query, Map<String, Object> hints) {
for (Map.Entry<String, Object> hint : hints.entrySet()) {
query.setHint(hint.getKey(), hint.getValue());
}
}
/**
* Hints map
*/
protected Map<String, Object> hints = new HashMap<String, Object>();
public Hints() {
super(0);
}
public Hints(Hints hints) {
super(hints.offset, hints.length);
if (hints.hints != null) {
this.hints = new HashMap<String, Object>(hints.hints);
}
}
/**
* @param offset
*/
public Hints(int offset) {
super(offset);
}
/**
* @param offset
* @param length
*/
public Hints(int offset, int length) {
super(offset, length);
}
public Hints(int offset, int length, Map<String, Object> hints) {
super(offset, length);
this.hints = hints;
}
public Map<String, Object> getHints() {
return hints;
}
public void setHints(Map<String, Object> hints) {
this.hints = hints;
}
public void setHintParameters(Map<String, Object> parameter) {
if (hints == null) {
hints = parameter;
} else {
hints.putAll(parameter);
}
}
@Override
public String toString() {
return "offset " + offset + ", length " + length + ", hints " + hints;
}
}
package com.qiankun.dao.core;
import java.util.List;
public interface IDao<E, K> {
public abstract E save(E entity);
public abstract void update(E entity);
public abstract void remove(K key);
public abstract E find(K key);
public abstract List<E> findAll();
public abstract E findUnique(final String queryString, final Hints hnts, final Object... values);
}
package com.qiankun.dao.core;
import javax.persistence.Query;
public class Offset {
public static final int NO_LIMIT = -1;
public static final Offset FULL = new Offset(0);
public static final Offset FIRST = new Offset(0, 1);
protected int length;
protected int offset;
/**
*
* @param offset
* starting position
* @param length
* if no length limit needed it should be used {@link #NO_LIMIT}
* constant
*/
public Offset(int offset, int length) {
this.offset = offset;
this.length = length;
}
public Offset(int offset) {
this(offset, NO_LIMIT);
}
public void setLength(int length) {
this.length = length;
}
public int getLength() {
return length;
}
public void setOffset(int offset) {
this.offset = offset;
}
public int getOffset() {
return offset;
}
/**
* Apply offset to the query
*
* @param query
* @param offset
*/
public static void applyTo(Query query, Offset offset) {
query.setFirstResult(offset.getOffset());
if (offset.getLength() >= 0) {
query.setMaxResults(offset.getLength());
}
}
}
package com.qiankun.entity;
import java.util.Date;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Product {
@Id
@GenericGenerator(name = "systemUUID", strategy = "uuid2")
@GeneratedValue(generator = "systemUUID")
private String id;
private String name;
@Lob
private String content1; //摘要
@Lob
private String content2; //作品思路和应用的理论方法
@Lob
private String content3; //作品的创新性
private String enroll; //报名表上传
private String report; //报告上传
private String ppt; //ppt上传
private String attachment; //附件上传
@ManyToOne
private User user = new User();
private Date createTime = new Date();
private Date updateTime = new Date();
private Boolean isSubmit = false; //是否提交
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent1() {
return content1;
}
public void setContent1(String content1) {
this.content1 = content1;
}
public String getContent2() {
return content2;
}
public void setContent2(String content2) {
this.content2 = content2;
}
public String getContent3() {
return content3;
}
public void setContent3(String content3) {
this.content3 = content3;
}
public String getEnroll() {
return enroll;
}
public void setEnroll(String enroll) {
this.enroll = enroll;
}
public String getReport() {
return report;
}
public void setReport(String report) {
this.report = report;
}
public String getPpt() {
return ppt;
}
public void setPpt(String ppt) {
this.ppt = ppt;
}
public String getAttachment() {
return attachment;
}
public void setAttachment(String attachment) {
this.attachment = attachment;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Boolean getIsSubmit() {
return isSubmit;
}
public void setIsSubmit(Boolean isSubmit) {
this.isSubmit = isSubmit;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
package com.qiankun.entity;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
import com.fasterxml.jackson.annotation.JsonIgnore;
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class User {
@Id
@GenericGenerator(name = "systemUUID", strategy = "uuid2")
@GeneratedValue(generator = "systemUUID")
private String id;
private String userId; //编号
private String userName; //单位名称
private String teamName; //团队名称
private String mobile; //手机
private String pwd; //密码
private String email;
private String groups; //组
private String memberName1; //成员姓名
private String memberGender1; //成员性别
private String memberTel1; //成员电话
private String memberEmail1; //成员邮箱
private String memberGrade1; //成员年级专业
private String memberName2; //成员姓名
private String memberGender2; //成员性别
private String memberTel2; //成员电话
private String memberEmail2; //成员邮箱
private String memberGrade2; //成员年级专业
private String memberName3; //成员姓名
private String memberGender3; //成员性别
private String memberTel3; //成员电话
private String memberEmail3; //成员邮箱
private String memberGrade3; //成员年级专业
private String memberName4; //成员姓名
private String memberGender4; //成员性别
private String memberTel4; //成员电话
private String memberEmail4; //成员邮箱
private String memberGrade4; //成员年级专业
private String teacher; //指导老师
private String teacherTel;
private String teacherEmail;
private String contacts; //联系人
private String achievement; //成绩
private Date createTime = new Date();
@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL}, orphanRemoval = true, mappedBy = "user")
@JsonIgnore
private Set<Product> product = new HashSet<>();
private Boolean isRemove=false;//是否删除用户,默认false
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getContacts() {
return contacts;
}
public void setContacts(String contacts) {
this.contacts = contacts;
}
public String getAchievement() {
return achievement;
}
public void setAchievement(String achievement) {
this.achievement = achievement;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getGroups() {
return groups;
}
public void setGroups(String groups) {
this.groups = groups;
}
public Set<Product> getProduct() {
return product;
}
public void setProduct(Set<Product> product) {
this.product = product;
}
public Boolean getIsRemove() {
return isRemove;
}
public void setIsRemove(Boolean isRemove) {
this.isRemove = isRemove;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
public String getMemberName1() {
return memberName1;
}
public void setMemberName1(String memberName1) {
this.memberName1 = memberName1;
}
public String getMemberGender1() {
return memberGender1;
}
public void setMemberGender1(String memberGender1) {
this.memberGender1 = memberGender1;
}
public String getMemberTel1() {
return memberTel1;
}
public void setMemberTel1(String memberTel1) {
this.memberTel1 = memberTel1;
}
public String getMemberEmail1() {
return memberEmail1;
}
public void setMemberEmail1(String memberEmail1) {
this.memberEmail1 = memberEmail1;
}
public String getMemberGrade1() {
return memberGrade1;
}
public void setMemberGrade1(String memberGrade1) {
this.memberGrade1 = memberGrade1;
}
public String getMemberName2() {
return memberName2;
}
public void setMemberName2(String memberName2) {
this.memberName2 = memberName2;
}
public String getMemberGender2() {
return memberGender2;
}
public void setMemberGender2(String memberGender2) {
this.memberGender2 = memberGender2;
}
public String getMemberTel2() {
return memberTel2;
}
public void setMemberTel2(String memberTel2) {
this.memberTel2 = memberTel2;
}
public String getMemberEmail2() {
return memberEmail2;
}
public void setMemberEmail2(String memberEmail2) {
this.memberEmail2 = memberEmail2;
}
public String getMemberGrade2() {
return memberGrade2;
}
public void setMemberGrade2(String memberGrade2) {
this.memberGrade2 = memberGrade2;
}
public String getMemberName3() {
return memberName3;
}
public void setMemberName3(String memberName3) {
this.memberName3 = memberName3;
}
public String getMemberGender3() {
return memberGender3;
}
public void setMemberGender3(String memberGender3) {
this.memberGender3 = memberGender3;
}
public String getMemberTel3() {
return memberTel3;
}
public void setMemberTel3(String memberTel3) {
this.memberTel3 = memberTel3;
}
public String getMemberEmail3() {
return memberEmail3;
}
public void setMemberEmail3(String memberEmail3) {
this.memberEmail3 = memberEmail3;
}
public String getMemberGrade3() {
return memberGrade3;
}
public void setMemberGrade3(String memberGrade3) {
this.memberGrade3 = memberGrade3;
}
public String getMemberName4() {
return memberName4;
}
public void setMemberName4(String memberName4) {
this.memberName4 = memberName4;
}
public String getMemberGender4() {
return memberGender4;
}
public void setMemberGender4(String memberGender4) {
this.memberGender4 = memberGender4;
}
public String getMemberTel4() {
return memberTel4;
}
public void setMemberTel4(String memberTel4) {
this.memberTel4 = memberTel4;
}
public String getMemberEmail4() {
return memberEmail4;
}
public void setMemberEmail4(String memberEmail4) {
this.memberEmail4 = memberEmail4;
}
public String getMemberGrade4() {
return memberGrade4;
}
public void setMemberGrade4(String memberGrade4) {
this.memberGrade4 = memberGrade4;
}
public String getTeacherTel() {
return teacherTel;
}
public void setTeacherTel(String teacherTel) {
this.teacherTel = teacherTel;
}
public String getTeacherEmail() {
return teacherEmail;
}
public void setTeacherEmail(String teacherEmail) {
this.teacherEmail = teacherEmail;
}
}
package com.qiankun.excel.tools;
import java.util.List;
public class ExcelListVO {
private List<ReadExcelVO> excelList = null;
private Integer num = null;
public List<ReadExcelVO> getExcelList() {
return excelList;
}
public void setExcelList(List<ReadExcelVO> excelList) {
this.excelList = excelList;
}
public Integer getNum() {
return num;
}
public void setNum(Integer num) {
this.num = num;
}
}
package com.qiankun.excel.tools;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ReadExcel {
public static String S_PATH="C:\\eclipse-jee-juno-SR2-win32-x86_64\\workspace\\chengji\\src\\main\\webapp\\excel";
public static String S_HTML_PATH="C:\\eclipse-jee-juno-SR2-win32-x86_64\\workspace\\chengji\\src\\main\\webapp\\html";
public static void main(String[] args) {
try {
getallExcel();
} catch (Exception ex) {
}
System.out.println("ok");
}
public static List<String> readfile(String filepath) throws Exception {
File file = new File(filepath);
List<String> excelList = new ArrayList<String>();
try {
if (file.isDirectory()) {
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
excelList.add(filelist[i]);
}
}
} catch (Exception e) {
}
return excelList;
}
public static Map<String,List<ReadExcelVO>> getallExcel()throws Exception{
Map<String,List<ReadExcelVO>> t_map=new HashMap<String, List<ReadExcelVO>>();
try {
List<String> fileList = readfile(S_PATH);
if(fileList.size()>0){
for(String filename:fileList){
List<ReadExcelVO> excelList=new ArrayList<ReadExcelVO>();
excelList=readExcels(filename);
t_map.put(filename, excelList);
}
}
for(String t_key:t_map.keySet()){
System.out.println("*********文件名************="+t_key+"\r\n");
List<ReadExcelVO> excelList=t_map.get(t_key);
if(excelList.size()>0){
for(ReadExcelVO vo:excelList){
System.out.println("编号="+vo.getStudenNo()+"\r\n");
System.out.println("姓名="+vo.getName()+"\r\n");
System.out.println("成绩="+vo.getName()+"\r\n");
}
}
System.out.println("#########文件名############"+t_key+"结束\r\n");
}
} catch (Exception e) {
}
return t_map;
}
public static List<ReadExcelVO> readExcels(String filepath)
throws Exception {
List<ReadExcelVO> excelList = new ArrayList<ReadExcelVO>();
List<ExcelListVO> listVO = new ArrayList<ExcelListVO>();
Workbook rwb = null;
Cell cell = null;
String path = S_HTML_PATH+"/"+filepath.split("\\.")[0]+"/";
File f = new File(path);
if(!f.isDirectory()){
f.mkdir();
}
try {
// 创建输入流
InputStream stream = new FileInputStream(S_PATH + "\\" + filepath);
// 获取Excel文件对象
rwb = Workbook.getWorkbook(stream);
// 获取文件的指定工作表 默认的第一个
Sheet[] sheets = rwb.getSheets();
for(Sheet sheet : sheets){
String name = sheet.getName();
File file = new File(path+name+"/");
if(!file.isDirectory()){
file.mkdir();
}
Integer num = 1;
// 行数(表头的目录不需要,从1开始)
for (int i = 1; i < sheet.getRows(); i++) {
Integer n = Integer.valueOf(sheet.getCell(3, i).getContents());
if (n!=num){
ExcelListVO listvo = new ExcelListVO();
listvo.setExcelList(excelList);
listvo.setNum(num);
num = n;
listVO.add(listvo);
excelList = new ArrayList<ReadExcelVO>();
}
// 列数
ReadExcelVO vo = new ReadExcelVO();
// 获取第i行,第j列的值
vo.setStudenNo(sheet.getCell(0, i).getContents());
vo.setName(sheet.getCell(1, i).getContents());
vo.setScore(sheet.getCell(2, i).getContents());
excelList.add(vo);
}
ExcelListVO listvo = new ExcelListVO();
listvo.setExcelList(excelList);
listvo.setNum(num);
listVO.add(listvo);
excelList = new ArrayList<ReadExcelVO>();
for(ExcelListVO vo : listVO){
String filePath = path+name+"/" + vo.getNum()+".html";
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
StringBuffer sb = new StringBuffer();
sb.append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>2015陈省身数学周·国际青少年数学邀请活动</title><style type=\"text/css\">");
sb.append("body {margin-top: 0px;margin-bottom: 0px;}.bt {font-size: 14px;color:#1675b9;text-align:center;font-family: \"宋体\";font-weight: bold;line-height:30px}.biao { font-size: 12px;text-align:center;font-family: \"宋体\";}");
sb.append(".nr {font: \"宋体\"; font-size: 12px; line-height:30px}.bot{ text-align:center; color:#FFFFFF; line-height:22px; font-size:12px}.xbt {font-size: 14px;color:#1675b9;;text-align:center;font-family: \"宋体\";line-height:30px}</style></head><body>");
sb.append("<table width=\"1004\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><img src=\"../images/index_top.jpg\" width=\"1004\" height=\"437\"></td></tr></table><table width=\"1004\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><table width=\"910\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><img src=\"../images/index_cjcx.jpg\" width=\"910\" height=\"49\"></td></tr><tr><td height=\"2\"></td></tr></table><table width=\"910\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"1\" colspan=\"3\" bgcolor=\"#1675b9\"></td></tr><tr><td width=\"1\" bgcolor=\"#1675b9\"></td><td><table width=\"90%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"30\" colspan=\"2\"></td></tr><tr><td colspan=\"2\" class=\"bt\">");
sb.append("2015陈省身数学周·国际青少年数学邀请活动成绩查询(三年级组)</td></tr><tr><td height=\"20\" colspan=\"2\" class=\"xbt\">");
sb.append("高法考区&nbsp;&nbsp;三年级组&nbsp;&nbsp;第一考场</td></tr><tr><td width=\"50%\"><table width=\"90%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#1675b9\"><tr height=\"20\"><td height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\"><strong>考号</strong></td><td width=\"50%\" height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\"><strong>学校</strong></td><td height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\"><strong>成绩</strong></td></tr>");
for (ReadExcelVO volist : vo.getExcelList()){
sb.append("<tr height=\"20\">");
sb.append("<td height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\">"+volist.getStudenNo()+"</td>");
sb.append("<td height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\">"+volist.getName()+"</td>");
sb.append("<td height=\"20\" bgcolor=\"#FFFFFF\" class=\"biao\">"+volist.getScore()+"</td>");
sb.append("</tr>");
}
sb.append("</table></td></tr><tr><td height=\"20\" colspan=\"2\" >&nbsp;</td></tr> <tr><td colspan=\"2\" class=\"biao\"><a href=\"../cjcx_cxs_3.jsp\">返回</a></td></tr><tr><td height=\"20\" colspan=\"2\">&nbsp;</td></tr></table></td><td width=\"1\" bgcolor=\"#1675b9\"></td></tr><tr><td height=\"1\" colspan=\"3\" bgcolor=\"#1675b9\"></td></tr></table></td></tr></table><table width=\"1004\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>&nbsp;</td></tr><tr><td height=\"83\" bgcolor=\"#1675b9\" class=\"bot\">咨询电话:27057788 &nbsp;&nbsp; 网址:www.huayn.com www.huayn.net <br>(copyright2002) TIANJIN HUAYING SCIENCE TECHNOLOGY AND EDUCATION DEVELOPMENT CO.,LTD. <br>津ICP备05004622号  津教备0516号 建议使用IE6.0以上版本及1024*768分辨率</td></tr></table></body></html>");
pw.println(sb.toString());
pw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (Exception e) {
}
return excelList;
}
}
package com.qiankun.excel.tools;
public class ReadExcelVO {
private String studenNo=null;
private String name=null;
private String score=null;
public String getStudenNo() {
return studenNo;
}
public void setStudenNo(String studenNo) {
this.studenNo = studenNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
}
package com.qiankun.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
public class EncodingFilter implements Filter {
private static String DEFAULT_ENCODING = "UTF-8";
private String encoding = null;
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (encoding == null) {
encoding = DEFAULT_ENCODING;
}
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
public String getEncoding() {
return encoding;
}
public void setEncoding(String encoding) {
this.encoding = encoding;
}
public void destroy() {
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
package com.qiankun.interceptor;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.qiankun.annotation.Auth;
import com.qiankun.entity.User;
import com.qiankun.utils.SessionUtils;
/**
* 权限拦截器
*
*/
public class LoginInterceptor extends HandlerInterceptorAdapter {
private List<String> excludedUrls;
public void setExcludedUrls(List<String> excludedUrls) {
this.excludedUrls = excludedUrls;
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getServletPath();
if (path.contains("resources")) {
return true;
}
try {
User user = SessionUtils.getUser(request);
String baseUri = request.getContextPath();
/*if ("/".equals(path)) {
if (user == null) {
response.setStatus(response.SC_GATEWAY_TIMEOUT);
response.sendRedirect(baseUri + "/login");
return false;
} else {
return true;// path=/表示请求的首页,直接返回
}
}*/
HandlerMethod method = (HandlerMethod) handler;
Auth auth = method.getMethod().getAnnotation(Auth.class);
// 验证登陆超时问题 auth = null,默认验证
if (auth == null || auth.verifyLogin()) {
if (user == null) {
response.setStatus(response.SC_GATEWAY_TIMEOUT);
response.sendRedirect(baseUri + "/");
return false;
}
}
} catch (Exception e) {
return true;
}
return super.preHandle(request, response, handler);
}
}
package com.qiankun.pages;
import java.io.Serializable;
import java.util.List;
public interface IPageList<E> extends Serializable {
public abstract long getRecordTotal();
public abstract List<E> getRecords();
public abstract void setRecordTotal(long recordTotal);
public abstract void setRecords(List<E> records);
public abstract boolean isEmpty();
}
package com.qiankun.pages;
import java.util.ArrayList;
import java.util.List;
public class PageListImpl<E> implements IPageList<E> {
private static final long serialVersionUID = 8332174002476722533L;
private List<E> records = new ArrayList<E>();
private long recordTotal;
@Override
public long getRecordTotal() {
return this.recordTotal;
}
@Override
public List<E> getRecords() {
return this.records;
}
@Override
public void setRecordTotal(long recordTotal) {
this.recordTotal = recordTotal;
}
@Override
public void setRecords(List<E> records) {
this.records = records;
}
@Override
public boolean isEmpty() {
return records.isEmpty();
}
}
package com.qiankun.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.qiankun.dao.UserDao;
import com.qiankun.dao.core.Hints;
import com.qiankun.entity.User;
import com.qiankun.pages.IPageList;
import com.qiankun.utils.MD5;
@Service
public class UserService {
@Autowired
private UserDao userDao;
public User findById(String id) {
User user = userDao.find(id);
return user;
}
@Transactional
public void save(User user) {
userDao.save(user);
}
@Transactional
public void remove(String id) {
userDao.remove(id);
}
public User userLogin(final String mobile, final String password) {
return userDao.login(mobile, MD5.digest(password));
}
public IPageList<User> findByUsers(String searchStr,String groupId,String order,String sort, Hints hints){
IPageList<User> users = userDao.findUserPage(searchStr, groupId, order, sort, hints);
return users;
}
public User findLastUserByGroup(String groupId) {
return userDao.findLastUserByGroup(groupId);
}
public Boolean validateUserExistByMobile(String mobile) {
return userDao.validateUserExistByMobile(mobile);
}
public Boolean validateUserExistByTeamName(String userName) {
return userDao.validateUserExistByTeamName(userName);
}
public Boolean validatePwd(String id, String password) {
return userDao.validatePwd(id, MD5.digest(password));
}
}
This diff is collapsed.
package com.qiankun.tags;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
/**
* @author liuchao
*
*/
public class PathTag extends TagSupport {
private static final long serialVersionUID = 2101380568989199665L;
/**
* Protocol(schema) name which may differ from used by default
*/
private String protocol;
public int doStartTag() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String contextPath = request.getContextPath();
int port = request.getServerPort();
StringBuffer path = new StringBuffer(protocol == null ? request.getScheme() : protocol);
path.append("://").append(request.getServerName()).append(port != 80 ? ":" + port : "");
path.append("/".equals(contextPath) ? "" : contextPath);
try {
pageContext.getOut().write(path.toString());
} catch (IOException e) {
}
return EVAL_PAGE;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
}
package com.qiankun.utils; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public class MD5 { private static final char[] HEX_CHARS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; private MD5() { } public static String digest(Object obj) { String buffer = obj.toString(); try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(buffer.getBytes()); byte[] b = digest.digest(); buffer = ""; for (int i = 0; i < b.length; i++) { buffer += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1); } } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("", e); } return buffer; } public static String digest16(String s) { return digest(s).substring(6, 24); } public static String digest(String s) { try { MessageDigest m = MessageDigest.getInstance("MD5"); m.update(s.getBytes(), 0, s.length()); return asHex(m.digest()); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("", e); } } private static String asHex(byte hash[]) { char buf[] = new char[hash.length * 2]; for (int i = 0, x = 0; i < hash.length; i++) { buf[x++] = HEX_CHARS[(hash[i] >>> 4) & 0xf]; buf[x++] = HEX_CHARS[hash[i] & 0xf]; } return new String(buf); } private static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','A', 'B', 'C', 'D', 'E', 'F' }; public final static String encryption32(String s) { try { byte[] btInput = s.getBytes(); // 获得MD5摘要算法的 MessageDigest 对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(btInput); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { e.printStackTrace(); return null; } } }
\ No newline at end of file
This diff is collapsed.
package com.qiankun.utils;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.qiankun.entity.User;
/**
* Cookie 工具类
*
* @author xia
*/
public final class SessionUtils {
private static final String SESSION_USER = "session_user";
private static final String SESSION_VALIDATECODE = "session_validatecode";// 验证码
private static final String SESSION_ACCESS_URLS = "session_access_urls"; // 系统能够访问的URL
private static final String SESSION_MENUBTN_MAP = "session_menubtn_map"; // 系统菜单按钮
/**
* 设置session的值
*
* @param request
* @param key
* @param value
*/
public static void setAttr(HttpServletRequest request, String key, Object value) {
request.getSession(true).setAttribute(key, value);
}
/**
* 获取session的值
*
* @param request
* @param key
* @param value
*/
public static Object getAttr(HttpServletRequest request, String key) {
return request.getSession(true).getAttribute(key);
}
/**
* 删除Session值
*
* @param request
* @param key
*/
public static void removeAttr(HttpServletRequest request, String key) {
request.getSession(true).removeAttribute(key);
}
/**
* 设置用户信息 到session
*
* @param request
* @param user
*/
public static void setUser(HttpServletRequest request, User user) {
request.getSession(true).setAttribute(SESSION_USER, user);
}
/**
* 从session中获取用户信息
*
* @param request
* @return User
*/
public static User getUser(HttpServletRequest request) {
return (User) request.getSession(true).getAttribute(SESSION_USER);
}
public static User getUser(HttpSession session) {
return (User) session.getAttribute(SESSION_USER);
}
/**
* 从session中获取用户信息
*
* @param request
* @return User
*/
public static String getUserId(HttpServletRequest request) {
User user = getUser(request);
if (user != null) {
return user.getId();
}
return null;
}
/**
* 从session中获取用户信息
*
* @param request
* @return User
*/
public static void removeUser(HttpServletRequest request) {
removeAttr(request, SESSION_USER);
}
/**
* 设置验证码 到session
*
* @param request
* @param user
*/
public static void setValidateCode(HttpServletRequest request, String validateCode) {
request.getSession(true).setAttribute(SESSION_VALIDATECODE, validateCode);
}
/**
* 从session中获取验证码
*
* @param request
* @return User
*/
public static String getValidateCode(HttpServletRequest request) {
return (String) request.getSession(true).getAttribute(SESSION_VALIDATECODE);
}
/**
* 从session中获删除验证码
*
* @param request
* @return User
*/
public static void removeValidateCode(HttpServletRequest request) {
removeAttr(request, SESSION_VALIDATECODE);
}
/**
* 判断当前登录用户是否超级管理员
*
* @param request
* @return
*/
public static void setAccessUrl(HttpServletRequest request, List<String> accessUrls) { // 判断登录用户是否超级管理员
setAttr(request, SESSION_ACCESS_URLS, accessUrls);
}
/**
* 判断URL是否可访问
*
* @param request
* @return
*/
public static boolean isAccessUrl(HttpServletRequest request, String url) {
List<String> accessUrls = (List) getAttr(request, SESSION_ACCESS_URLS);
url=url.substring(0, url.lastIndexOf("/"));
if (accessUrls == null || accessUrls.isEmpty()) {
return false;
}
for(String accessUrl:accessUrls){
if(accessUrl.indexOf(url)!=-1){
return true;
}
}
return false;
}
/**
* 设置菜单按钮
*
* @param request
* @param btnMap
*/
public static void setMemuBtnMap(HttpServletRequest request, Map<String, List<String>> btnMap) { // 判断登录用户是否超级管理员
setAttr(request, SESSION_MENUBTN_MAP, btnMap);
}
/**
* 获取菜单按钮
*
* @param request
* @param btnMap
*/
public static List<String> getMemuBtnListVal(HttpServletRequest request, String menuUri) { // 判断登录用户是否超级管理员
Map btnMap = (Map) getAttr(request, SESSION_MENUBTN_MAP);
if (btnMap == null || btnMap.isEmpty()) {
return null;
}
return (List<String>) btnMap.get(menuUri);
}
}
\ No newline at end of file
package com.qiankun.vo;
public class ProductVo {
private String id;
private String name;
private String content1; //摘要
private String content2; //作品思路和应用的理论方法
private String content3; //作品的创新性
private String enroll; //报名表上传
private String report; //报告上传
private String ppt; //ppt上传
private String attachment; //附件上传
private Boolean isSubmit = false; //是否提交
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent1() {
return content1;
}
public void setContent1(String content1) {
this.content1 = content1;
}
public String getContent2() {
return content2;
}
public void setContent2(String content2) {
this.content2 = content2;
}
public String getContent3() {
return content3;
}
public void setContent3(String content3) {
this.content3 = content3;
}
public String getEnroll() {
return enroll;
}
public void setEnroll(String enroll) {
this.enroll = enroll;
}
public String getReport() {
return report;
}
public void setReport(String report) {
this.report = report;
}
public String getPpt() {
return ppt;
}
public void setPpt(String ppt) {
this.ppt = ppt;
}
public String getAttachment() {
return attachment;
}
public void setAttachment(String attachment) {
this.attachment = attachment;
}
public Boolean getIsSubmit() {
return isSubmit;
}
public void setIsSubmit(Boolean isSubmit) {
this.isSubmit = isSubmit;
}
}
package com.qiankun.vo;
import org.apache.commons.lang.StringUtils;
public class UserVo {
private String id;
private String userId; //团队编号
private String userName; //单位名称
private String teamName; //团队名称
private String mobile; //手机
private String email;
private String oldpwd; //原密码
private String pwd; //密码
private String groups; //组
private String memberName1; //成员姓名
private String memberGender1; //成员性别
private String memberTel1; //成员电话
private String memberEmail1; //成员邮箱
private String memberGrade1; //成员年级专业
private String memberName2; //成员姓名
private String memberGender2; //成员性别
private String memberTel2; //成员电话
private String memberEmail2; //成员邮箱
private String memberGrade2; //成员年级专业
private String memberName3; //成员姓名
private String memberGender3; //成员性别
private String memberTel3; //成员电话
private String memberEmail3; //成员邮箱
private String memberGrade3; //成员年级专业
private String memberName4; //成员姓名
private String memberGender4; //成员性别
private String memberTel4; //成员电话
private String memberEmail4; //成员邮箱
private String memberGrade4; //成员年级专业
private String teacher; //指导老师
private String teacherTel;
private String teacherEmail;
private String contacts; //联系人
private String achievement; //成绩
private Boolean changePassword;
private String searchStr;
private String order;
private String sort;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return StringUtils.deleteWhitespace(userName);
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getGroups() {
return groups;
}
public void setGroups(String groups) {
this.groups = groups;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getContacts() {
return contacts;
}
public void setContacts(String contacts) {
this.contacts = contacts;
}
public String getAchievement() {
return achievement;
}
public void setAchievement(String achievement) {
this.achievement = achievement;
}
public Boolean getChangePassword() {
return changePassword;
}
public void setChangePassword(Boolean changePassword) {
this.changePassword = changePassword;
}
public String getOldpwd() {
return oldpwd;
}
public void setOldpwd(String oldpwd) {
this.oldpwd = oldpwd;
}
public String getSearchStr() {
return searchStr;
}
public void setSearchStr(String searchStr) {
this.searchStr = searchStr;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTeamName() {
return StringUtils.deleteWhitespace(teamName);
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
public String getMemberName1() {
return memberName1;
}
public void setMemberName1(String memberName1) {
this.memberName1 = memberName1;
}
public String getMemberGender1() {
return memberGender1;
}
public void setMemberGender1(String memberGender1) {
this.memberGender1 = memberGender1;
}
public String getMemberTel1() {
return memberTel1;
}
public void setMemberTel1(String memberTel1) {
this.memberTel1 = memberTel1;
}
public String getMemberEmail1() {
return memberEmail1;
}
public void setMemberEmail1(String memberEmail1) {
this.memberEmail1 = memberEmail1;
}
public String getMemberGrade1() {
return memberGrade1;
}
public void setMemberGrade1(String memberGrade1) {
this.memberGrade1 = memberGrade1;
}
public String getMemberName2() {
return memberName2;
}
public void setMemberName2(String memberName2) {
this.memberName2 = memberName2;
}
public String getMemberGender2() {
return memberGender2;
}
public void setMemberGender2(String memberGender2) {
this.memberGender2 = memberGender2;
}
public String getMemberTel2() {
return memberTel2;
}
public void setMemberTel2(String memberTel2) {
this.memberTel2 = memberTel2;
}
public String getMemberEmail2() {
return memberEmail2;
}
public void setMemberEmail2(String memberEmail2) {
this.memberEmail2 = memberEmail2;
}
public String getMemberGrade2() {
return memberGrade2;
}
public void setMemberGrade2(String memberGrade2) {
this.memberGrade2 = memberGrade2;
}
public String getMemberName3() {
return memberName3;
}
public void setMemberName3(String memberName3) {
this.memberName3 = memberName3;
}
public String getMemberGender3() {
return memberGender3;
}
public void setMemberGender3(String memberGender3) {
this.memberGender3 = memberGender3;
}
public String getMemberTel3() {
return memberTel3;
}
public void setMemberTel3(String memberTel3) {
this.memberTel3 = memberTel3;
}
public String getMemberEmail3() {
return memberEmail3;
}
public void setMemberEmail3(String memberEmail3) {
this.memberEmail3 = memberEmail3;
}
public String getMemberGrade3() {
return memberGrade3;
}
public void setMemberGrade3(String memberGrade3) {
this.memberGrade3 = memberGrade3;
}
public String getMemberName4() {
return memberName4;
}
public void setMemberName4(String memberName4) {
this.memberName4 = memberName4;
}
public String getMemberGender4() {
return memberGender4;
}
public void setMemberGender4(String memberGender4) {
this.memberGender4 = memberGender4;
}
public String getMemberTel4() {
return memberTel4;
}
public void setMemberTel4(String memberTel4) {
this.memberTel4 = memberTel4;
}
public String getMemberEmail4() {
return memberEmail4;
}
public void setMemberEmail4(String memberEmail4) {
this.memberEmail4 = memberEmail4;
}
public String getMemberGrade4() {
return memberGrade4;
}
public void setMemberGrade4(String memberGrade4) {
this.memberGrade4 = memberGrade4;
}
public String getTeacherTel() {
return teacherTel;
}
public void setTeacherTel(String teacherTel) {
this.teacherTel = teacherTel;
}
public String getTeacherEmail() {
return teacherEmail;
}
public void setTeacherEmail(String teacherEmail) {
this.teacherEmail = teacherEmail;
}
}
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
monitoring="autodetect" dynamicConfig="true">
<diskStore path="java.io.tmpdir" />
<defaultCache eternal="false" timeToIdleSeconds="36000"
timeToLiveSeconds="3600" memoryStoreEvictionPolicy="LRU" />
</ehcache>
\ No newline at end of file
### set log levels ###
log4j.rootLogger=stdout,D,E
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.type=ALL
### print log to console ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d %p [%c] - <%m>%n
### create log on lever debug ###
log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File = /home/cbsys/sofeware/apache-tomcat-7.0.64/logs/debug.log
log4j.appender.D.MaxFileSize = 10240KB
log4j.appender.D.Encoding = UTF-8
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern= %d %p [%c] - <%m>%n
log4j.appender.D.MaxBackupIndex = 10
### create log on lever error ###
log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = /home/cbsys/sofeware/apache-tomcat-7.0.64/logs/error.log
log4j.appender.E.MaxFileSize = 10240KB
log4j.appender.E.Encoding = UTF-8
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern= %d %p [%c] - <%m>%n
log4j.appender.E.MaxBackupIndex = 10
jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://mysql:3306/match?useUnicode=true&amp;characterEncoding=UTF-8&amp;
#jdbc.user=root
#jdbc.password=passed
jdbc.url=jdbc:mysql://localhost:3306/match?useUnicode=true&amp;characterEncoding=UTF-8&amp;
jdbc.user=root
jdbc.password=123456
\ No newline at end of file
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd">
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:settings.properties</value>
</property>
<property name="fileEncoding" value="utf-8" />
</bean>
<!-- <task:annotation-driven /> -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="testWhileIdle" value="true" />
<property name="validationQuery" value="select 1" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="180" />
<property name="timeBetweenEvictionRunsMillis" value="1800000" />
<property name="numTestsPerEvictionRun" value="3" />
<property name="minEvictableIdleTimeMillis" value="1800000" />
<property name="initialSize" value="10" />
<property name="maxActive" value="10" />
<property name="maxIdle" value="20" />
<property name="minIdle" value="10" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.qiankun.entity" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory
</prop>
<prop key="hibernate.cache.provider_configuration">ehcache.xml</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"
proxy-target-class="true" />
<!-- 配置Hibernate事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置事务异常封装 -->
<bean id="persistenceExceptionTranslationPostProcessor"
class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
<context:annotation-config />
<context:component-scan
base-package="com.qiankun.service,com.qiankun.dao" />
</beans>
\ No newline at end of file
file_path=D:/file/
#file_path=/usr/local/tomcat/upload/
account=admin
password=passed
<?xml version="1.0" encoding="utf-8"?>
<decorators defaultdir="/WEB-INF/decorators">
<!-- Any urls that are excluded will never be decorated by Sitemesh -->
<decorator name="main" page="main.jsp" >
<pattern>/</pattern>
</decorator>
<decorator name="nohead" page="nohead.jsp" >
<pattern>/login</pattern>
</decorator>
<excludes>
<pattern>/api/product/download*</pattern>
</excludes>
</decorators>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator"%>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page"%>
<%@ taglib prefix="webpath" uri="/WEB-INF/tlds/path.tld"%>
<%@ taglib prefix="webpage" uri="/WEB-INF/tlds/pageview.tld"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>2019年“一汽丰田杯”中国工业工程与精益管理创新大赛</title>
<style>
.footer {
position: fixed;width:100%;text-align: center;bottom:0;color:#f0f0f0;
background-color: #0a1020;
height:35px;
padding-top:7px;
}
/* loading */
#maskloading{
height:100%;
width:100%;
position:fixed;
top:0px;
left:0px;
background-color: #000000;
opacity: 0.6;
filter: alpha(opacity = 60);
}
.ios-overlay-show {
animation-duration: 750ms;
animation-name: ios-overlay-show;
}
.ui-ios-overlay {
background: none repeat scroll 0 0 rgba(0, 0, 0, 0.8);
border-radius: 20px;
height: 200px;
left: 50%;
margin-left: -100px;
margin-top: -100px;
position: fixed;
top: 40%;
width: 200px;
z-index: 99999;
}
.ui-ios-overlay img {
display: block;
margin: 20% auto 0;
}
.ui-ios-overlay .title {
bottom: 30px;
color: #FFFFFF;
display: block;
font-size: 26px;
font-weight: bold;
left: 0;
position: absolute;
text-align: center;
width: 100%;
}
/* end loading */
</style>
<link rel="stylesheet" type="text/css" href="<webpath:path/>/resources/assets/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="<webpath:path/>/resources/assets/css/font-awesome.min.css" />
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="<webpath:path/>/resources/assets/css/font-awesome-ie7.min.css"/>
<![endif] -->
<!-- page specific plugin styles -->
<!-- fonts -->
<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,300"/> -->
<link rel="stylesheet" href="<webpath:path/>/resources/css/googleCss.css">
<!-- ace styles -->
<link rel="stylesheet" href="<webpath:path/>/resources/assets/css/ace.min.css" />
<link rel="stylesheet" href="<webpath:path/>/resources/assets/css/ace-rtl.min.css"/>
<link rel="stylesheet" href="<webpath:path/>/resources/css/page.css">
<!--[if lte IE 8] >
<link rel="stylesheet" href="<webpath:path/>/resources/assets/css/ace-ie.min.css"/>
<![endif] -->
<script type="text/javascript">
var webPath="<webpath:path/>";
</script>
<!-- inline styles related to this page -->
<script type="text/javascript" src="<webpath:path/>/resources/js/tools/jquery.min.js"></script>
<script type="text/javascript" src="<webpath:path/>/resources/js/tools/jquery.validate.js"></script>
<script type="text/javascript" src="<webpath:path/>/resources/assets/js/bootbox.min.js"></script>
<script type="text/javascript" src="<webpath:path/>/resources/assets/js/bootstrap.min.js"></script>
<%-- <script type="text/javascript" src="<webpath:path/>/resources/js/tools/jquerysession.js"></script> --%>
<script type="text/javascript" src="<webpath:path/>/resources/js/argus.js"></script>
<!--[if lt IE 9] >
<script src="<webpath:path/>/resources/assets/js/html5shiv.js" />
<script src="<webpath:path/>/resources/assets/js/respond.min.js" />
<![endif] -->
<decorator:head />
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<body>
<decorator:body />
<div class="footer">
<img src="<webpath:path/>/resources/images/ga.png"/>&nbsp;<a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=12011102000403" style="color:#fff;">津公网安备 12011102000403号</a>
&nbsp;&nbsp;<a target="_blank" href="http://www.miitbeian.gov.cn/" style="color:#fff;">津ICP备16006658号-2</a>&nbsp;&nbsp;系统技术支持:镜像科技(天津)有限公司&nbsp;&nbsp;邮箱:chinaielean@163.com
</div>
</body>
<!-- END BODY -->
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="webpath" uri="/WEB-INF/tlds/path.tld"%>
<%@ taglib prefix="webpage" uri="/WEB-INF/tlds/pageview.tld"%>
<head>
<style type="text/css">
body{
background:url(<webpath:path/>/resources/images/timg1.jpg);
filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale')";
-moz-background-size:100% 100%;
background-size:100% 100%;
background-attachment: fixed;
}
.h22 {
FONT-SIZE: 30px; font-family:PingFangSC,helvetica neue,hiragino sans gb,arial,microsoft yahei ui,microsoft yahei,simsun,"sans-serif" !important;font-weight: bold; COLOR: #f0f0f0; FONT-WEIGHT: 5px;
}
.divTityle{
border-bottom: 1px solid rgba(255,255,255,0.3);
}
label.error{
color:#ff0000;
}
.text-indent{
text-indent:7em;
}
.widget-main p{
font-size: 15px;
}
</style>
</head>
<div class="main-container col-sm-12" style="padding:0px; margin:0px;">
<div class="main-content col-sm-12" style="padding:0px; margin:0px;">
<div class="row" style="width:100%;margin:0;">
<div class="col-sm-12" style="padding:0px; margin:0px;">
<div class="login-container divTityle" style="width:100%; height:80px;">
<div class="left col-sm-12 " style="height:0; padding:20px;padding-left:60px;" >
<img alt="logo" src="<webpath:path/>/resources/images/logo.png" height="40" style=""/>&nbsp;&nbsp;&nbsp;
<img alt="wz" src="<webpath:path/>/resources/images/wz.png" height="40" style="margin-top:5px; "/>&nbsp;&nbsp;&nbsp;
</div>
<div class="col-sm-12">
<div class="col-sm-1"></div>
<div class="col-sm-5" style="top:40px" >
<div class="" style="color:#f0f0f0">
<div class="">
<div class="widget-main">
<h2 class="h22" style=" margin-bottom:0px;">“一汽丰田杯”第二届工业工程与精益管理创新大赛</h2>
<h5 style="line-height:30px;text-indent:2em;" class="fontColor" >
中国大学生机械工程创新创意大赛——工业工程与精益管理创新大赛由中国机械工程学会和教育部高等学校工业工程类专业教学指导委员会联合主办,力求深入推进工业工程与精益管理创新方法技术的普及与应用,拓宽大学生的科技创新视野,为高校师生和社会各界搭建工业工程与精益管理创新成果的展示和经验交流平台。<br/><a href="<webpath:path/>/match" target="_blank" style="float:right;color:#ff0000;font-size:18px;font-weight: bolder;">详细内容...</a><br/>
</h5>
<p>大赛主办单位:中国机械工程学会 </p>
<p class="text-indent">教育部高等学校工业工程类专业教学指导委员会 </p>
<p>大赛承办单位:中国机械工程学会工业工程分会 </p>
<p>大赛协办单位:管理科学与工程学会工业工程与管理研究会 </p>
<p class="text-indent">天津市精益管理创新学会 </p>
<p class="text-indent">天津市工业工程学会 </p>
<p>决赛承办单位:天津大学管理与经济学部 </p>
<p>大赛冠名单位:天津一汽丰田汽车有限公司</p>
<br/><br/>
<br/><br/>
<br/><br/>
</div>
</div>
</div>
</div>
<div class="col-sm-4 login-layout" style="margin-left:9%" >
<div id="login-box" class="login-box visible widget-box no-border " style="width:380px; top:70px; padding:0px; ">
<div class="widget-body" >
<div class="widget-main" style="padding-bottom: 50px;">
<h4 class="header blue lighter bigger">
用户登录
</h4>
<div class="space-6"></div>
<form action="#" id="login_form" name="login_form">
<fieldset>
<label class="block clearfix">
<span class="block ">
<input type="text" class="form-control" placeholder="手机号" id="mobile" name="mobile" style="height:50px;"/>
</span>
</label>
<label class="block clearfix">
<span class="block ">
<input type="password" class="form-control" placeholder="密码" id="pwd" name="pwd" style="height:50px;"/>
</span>
</label>
<div class="space"></div>
<div class="clearfix">
<button type="button" class="pull-right btn btn-sm btn-primary col-sm-5" onclick="window.location.href='<webpath:path/>/reg'" style="height:50px;">
注册
</button>
<button type="submit" class="pull-left btn btn-sm btn-primary col-sm-5" style="height:50px;">
登录
</button>
</div>
</fieldset>
</form>
</div><!-- /widget-main -->
</div><!-- /widget-body -->
</div><!-- /login-box -->
</div>
</div><!-- /position-relative -->
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</div>
</div><!-- /.amin-container -->
<script type="text/javascript">
if("ontouchend" in document)
document.write("<script src='resources/assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
</script>
<script type="text/javascript" src="resources/js/tools/jquerysession.js"></script>
<script type="text/javascript">
$().ready(function() {
$("#login_form").validate({
rules:{
mobile:{
required: true
},
pwd:{
required:true
}
},
messages:{
mobile:{
required:"请填写用户名!"
},
pwd:{
required:"请填写密码!"
}
},
submitHandler:function(form){
var mobile=$('#mobile').val();
var pwd=$('#pwd').val();
$.ajax({
type: 'POST',
url: '/api/signin',
dataType:'json',
data: {
mobile:mobile,
pwd:pwd
},
success: function(data){
var status = data.status;
if(status == 1){//注册成功
window.location.href = webPath + "/profile";
}else if(status == 0){
bootbox.dialog({
message:"请核对用户名或密码是否正确!",
buttons:{
"success":{
"label":"OK",
"className":"btn-sm btn-primary"
}
}
});
} else if (status == 2){
window.location.href = webPath + "/api/user/list";
}
}
});
}
});
});
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="com.qiankun.controller" />
<mvc:annotation-driven />
<mvc:default-servlet-handler/>
<mvc:view-controller path="/" view-name="index"/>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<!-- 配置多请求数据类型,如json xml-->
<!-- 配置多请求数据类型,如json xml -->
<bean id="annotationMethodHandlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
</bean>
<mvc:interceptors>
<bean class="com.qiankun.interceptor.LoginInterceptor" />
</mvc:interceptors>
<mvc:resources mapping="/resources/**" location="/resources/" />
<!-- 支持上传文件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<property name="maxUploadSize" value="1024000000"/>
</bean>
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!-- 默认类型 -->
<property name="defaultContentType" value="text/html" />
<!-- 请求类型 -->
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
<!-- 模板试图解析器 -->
<property name="viewResolvers">
<list>
<!-- jsp模板解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 可加入其他视图技术如 volacity jstl等 -->
</list>
</property>
<!-- 数据试图解析器 -->
<property name="defaultViews">
<list>
<!-- 输出为JSON数据 -->
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
</bean>
<!-- 输出为xml数据 -->
<bean id="marshallingView" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean id="xStreamMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="autodetectAnnotations" value="true" />
</bean>
</property>
<property name="contentType" value="application/xml" />
</bean>
</list>
</property>
</bean>
</beans>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment