├── .classpath ├── .gitattributes ├── .gitignore ├── .project ├── .settings ├── .jsdtscope ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.m2e.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container └── org.eclipse.wst.jsdt.ui.superType.name ├── pom.xml ├── src └── main │ ├── java │ └── com │ │ └── itron │ │ ├── action │ │ ├── BaseAction.java │ │ └── MessageAction.java │ │ ├── dao │ │ ├── BaseDaoI.java │ │ └── impl │ │ │ └── BaseDaoImpl.java │ │ ├── model │ │ └── Message.java │ │ ├── receive │ │ └── Rmessage.java │ │ └── service │ │ ├── MessageServiceI.java │ │ └── impl │ │ └── MessageServiceImpl.java │ ├── resources │ ├── config.properties │ ├── log4j.properties │ ├── spring-hibernate.xml │ ├── spring.xml │ └── struts.xml │ └── webapp │ ├── META-INF │ └── MANIFEST.MF │ ├── WEB-INF │ └── web.xml │ ├── css │ ├── bigscreen.css │ ├── materialize.css │ ├── smallscreen.css │ └── style.css │ ├── file │ ├── resume.docx │ └── resume.pdf │ ├── font │ ├── material-design-icons │ │ ├── LICENSE.txt │ │ ├── Material-Design-Icons.eot │ │ ├── Material-Design-Icons.svg │ │ ├── Material-Design-Icons.ttf │ │ ├── Material-Design-Icons.woff │ │ └── Material-Design-Icons.woff2 │ └── roboto │ │ ├── Roboto-Bold.eot │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-Bold.woff │ │ ├── Roboto-Bold.woff2 │ │ ├── Roboto-Light.eot │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-Light.woff │ │ ├── Roboto-Light.woff2 │ │ ├── Roboto-Medium.eot │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-Medium.woff │ │ ├── Roboto-Medium.woff2 │ │ ├── Roboto-Regular.eot │ │ ├── Roboto-Regular.ttf │ │ ├── Roboto-Regular.woff │ │ ├── Roboto-Regular.woff2 │ │ ├── Roboto-Thin.eot │ │ ├── Roboto-Thin.ttf │ │ ├── Roboto-Thin.woff │ │ └── Roboto-Thin.woff2 │ ├── ico │ └── itronys.ico │ ├── img │ ├── barcelona.jpg │ ├── bayern.jpg │ ├── contact.png │ ├── eguntianshi.jpg │ ├── facebook.png │ ├── football.png │ ├── github.png │ ├── logo.jpg │ ├── me.jpg │ ├── music.png │ ├── qitiandasheng.jpg │ ├── qrcode.png │ ├── recomic.png │ ├── reeducation.png │ ├── reevaluate.png │ ├── refootball.png │ ├── reinterest.png │ ├── removie.png │ ├── remusic.png │ ├── repersonal.png │ ├── skill01.png │ ├── skill02.png │ ├── skill03.png │ ├── skill04.png │ ├── skill05.png │ ├── techlist1.jpg │ ├── twitter.png │ ├── video.png │ ├── wanmingzhuizhong.jpg │ ├── work1.jpg │ ├── work2.jpg │ ├── work3.jpg │ └── work4.jpg │ ├── index.html │ ├── js │ ├── jquery-2.1.4.min.js │ └── materialize.js │ └── me │ ├── contact.html │ ├── life.html │ ├── resume.html │ ├── tech.html │ ├── tech_article.html │ ├── work.html │ └── work_article.html └── target ├── classes ├── com │ └── itron │ │ ├── action │ │ ├── BaseAction.class │ │ └── MessageAction.class │ │ ├── dao │ │ ├── BaseDaoI.class │ │ └── impl │ │ │ └── BaseDaoImpl.class │ │ ├── model │ │ └── Message.class │ │ ├── receive │ │ └── Rmessage.class │ │ └── service │ │ ├── MessageServiceI.class │ │ └── impl │ │ └── MessageServiceImpl.class ├── config.properties ├── log4j.properties ├── spring-hibernate.xml ├── spring.xml └── struts.xml └── m2e-jee └── web-resources └── META-INF ├── MANIFEST.MF └── maven └── itronys └── itronys ├── pom.properties └── pom.xml /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | itronys 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.common.project.facet.core.builder 20 | 21 | 22 | 23 | 24 | org.eclipse.wst.validation.validationbuilder 25 | 26 | 27 | 28 | 29 | com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator 30 | 31 | 32 | 33 | 34 | org.eclipse.m2e.core.maven2Builder 35 | 36 | 37 | 38 | 39 | com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder 40 | 41 | 42 | 43 | 44 | 45 | org.eclipse.m2e.core.maven2Nature 46 | org.eclipse.jem.workbench.JavaEMFNature 47 | org.eclipse.wst.common.modulecore.ModuleCoreNature 48 | org.eclipse.wst.common.project.facet.core.nature 49 | org.eclipse.jdt.core.javanature 50 | org.eclipse.wst.jsdt.core.jsNature 51 | 52 | 53 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=UTF-8 5 | encoding//src/test/resources=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.compliance=1.6 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 8 | org.eclipse.jdt.core.compiler.source=1.6 9 | -------------------------------------------------------------------------------- /.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | itronys 4 | itronys 5 | 0.0.1-SNAPSHOT 6 | war 7 | itronys 8 | 9 | 10 | UTF-8 11 | 12 | 13 | 14 | 15 | 16 | 17 | javax.servlet 18 | javax.servlet-api 19 | 4.0.0-b01 20 | 21 | 22 | 23 | 24 | junit 25 | junit 26 | 4.12 27 | 28 | 29 | 30 | 31 | com.alibaba 32 | fastjson 33 | 1.2.7 34 | 35 | 36 | 37 | 38 | org.aspectj 39 | aspectjweaver 40 | 1.8.7 41 | 42 | 43 | 44 | 45 | log4j 46 | log4j 47 | 1.2.17 48 | 49 | 50 | 51 | 52 | org.apache.struts 53 | struts2-core 54 | 2.3.24.1 55 | 56 | 57 | javassist 58 | javassist 59 | 60 | 61 | 62 | 63 | org.apache.struts 64 | struts2-spring-plugin 65 | 2.3.24.1 66 | 67 | 68 | org.apache.struts 69 | struts2-convention-plugin 70 | 2.3.24.1 71 | 72 | 73 | 74 | 75 | javax.transaction 76 | jta 77 | 1.1 78 | 79 | 80 | 81 | 82 | mysql 83 | mysql-connector-java 84 | 5.1.38 85 | 86 | 87 | 88 | 89 | com.alibaba 90 | druid 91 | 1.0.16 92 | 93 | 94 | 95 | 96 | org.hibernate 97 | hibernate-core 98 | 5.0.6.Final 99 | 100 | 101 | 102 | 103 | org.springframework 104 | spring-core 105 | 4.2.4.RELEASE 106 | 107 | 108 | org.springframework 109 | spring-beans 110 | 4.2.4.RELEASE 111 | 112 | 113 | org.springframework 114 | spring-context 115 | 4.2.4.RELEASE 116 | 117 | 118 | org.springframework 119 | spring-web 120 | 4.2.4.RELEASE 121 | 122 | 123 | org.springframework 124 | spring-orm 125 | 4.2.4.RELEASE 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | maven-compiler-plugin 134 | 2.3.2 135 | 136 | 1.6 137 | 1.6 138 | 139 | 140 | 141 | maven-war-plugin 142 | 2.2 143 | 144 | 3.0 145 | false 146 | 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /src/main/java/com/itron/action/BaseAction.java: -------------------------------------------------------------------------------- 1 | package com.itron.action; 2 | 3 | import java.io.IOException; 4 | import java.util.Map; 5 | 6 | import org.apache.struts2.ServletActionContext; 7 | import org.apache.struts2.convention.annotation.Namespace; 8 | import org.apache.struts2.convention.annotation.ParentPackage; 9 | import org.apache.struts2.interceptor.ApplicationAware; 10 | import org.apache.struts2.interceptor.RequestAware; 11 | import org.apache.struts2.interceptor.SessionAware; 12 | 13 | import com.alibaba.fastjson.JSON; 14 | import com.opensymphony.xwork2.ActionSupport; 15 | 16 | @Namespace("/") 17 | @ParentPackage("basePackage") 18 | public class BaseAction extends ActionSupport implements RequestAware, SessionAware, ApplicationAware { 19 | 20 | private static final long serialVersionUID = 1L; 21 | private Map request; 22 | private Map session; 23 | private Map application; 24 | 25 | public void writeJson(Object object) { 26 | try { 27 | String json = JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss"); 28 | ServletActionContext.getResponse().setContentType("text/html;charset=utf-8"); 29 | ServletActionContext.getResponse().getWriter().write(json); 30 | ServletActionContext.getResponse().getWriter().flush(); 31 | ServletActionContext.getResponse().getWriter().close(); 32 | } catch (IOException e) { 33 | e.printStackTrace(); 34 | } 35 | } 36 | 37 | public Map getRequest() { 38 | return request; 39 | } 40 | 41 | public void setRequest(Map request) { 42 | this.request = request; 43 | } 44 | 45 | public Map getSession() { 46 | return session; 47 | } 48 | 49 | public void setSession(Map session) { 50 | this.session = session; 51 | } 52 | 53 | public Map getApplication() { 54 | return application; 55 | } 56 | 57 | public void setApplication(Map application) { 58 | this.application = application; 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/itron/action/MessageAction.java: -------------------------------------------------------------------------------- 1 | package com.itron.action; 2 | 3 | import java.sql.Timestamp; 4 | import java.util.UUID; 5 | 6 | import javax.annotation.Resource; 7 | 8 | import org.apache.log4j.Logger; 9 | import org.apache.struts2.ServletActionContext; 10 | import org.apache.struts2.convention.annotation.Action; 11 | 12 | import com.itron.receive.Rmessage; 13 | import com.itron.service.MessageServiceI; 14 | import com.opensymphony.xwork2.ModelDriven; 15 | 16 | @Action(value = "messageAction") 17 | public class MessageAction extends BaseAction implements ModelDriven { 18 | 19 | private static final long serialVersionUID = 1L; 20 | private static final Logger logger = Logger.getLogger(MessageAction.class); 21 | 22 | Rmessage rmessage = new Rmessage(); 23 | 24 | @Override 25 | public Rmessage getModel() { 26 | return rmessage; 27 | } 28 | 29 | @Resource 30 | private MessageServiceI messageService; 31 | 32 | public void msgSub() { 33 | try { 34 | 35 | rmessage.setMsgId(UUID.randomUUID().toString()); 36 | rmessage.setMsgIp(ServletActionContext.getRequest().getRemoteAddr()); 37 | rmessage.setMsgTime(new Timestamp(System.currentTimeMillis())); 38 | 39 | messageService.msgSub(rmessage); 40 | 41 | super.writeJson(true); 42 | 43 | } catch (Exception e) { 44 | super.writeJson(false); 45 | logger.error(e); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/itron/dao/BaseDaoI.java: -------------------------------------------------------------------------------- 1 | package com.itron.dao; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | /** 8 | * @author itronys 9 | */ 10 | public interface BaseDaoI { 11 | 12 | public Serializable save(T o); 13 | 14 | public void delete(T o); 15 | 16 | public void update(T o); 17 | 18 | public void saveOrUpdate(T o); 19 | 20 | public T get(String hql); 21 | 22 | public T get(String hql, Map params); 23 | 24 | public List find(String hql); 25 | 26 | public List find(String hql, Map params); 27 | 28 | public List find(String hql, int page, int rows); 29 | 30 | public List find(String hql, Map params, int page, int rows); 31 | 32 | public Long count(String hql); 33 | 34 | public Long count(String hql, Map params); 35 | 36 | public T get(Class c, Serializable id); 37 | 38 | public int executeHql(String hql); 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/com/itron/dao/impl/BaseDaoImpl.java: -------------------------------------------------------------------------------- 1 | package com.itron.dao.impl; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.hibernate.Query; 8 | import org.hibernate.Session; 9 | import org.hibernate.SessionFactory; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Repository; 12 | 13 | import com.itron.dao.BaseDaoI; 14 | 15 | @Repository("baseDao") 16 | @SuppressWarnings("all") 17 | public class BaseDaoImpl implements BaseDaoI { 18 | 19 | private SessionFactory sessionFactory; 20 | 21 | public SessionFactory getSessionFactory() { 22 | return sessionFactory; 23 | } 24 | 25 | @Autowired 26 | public void setSessionFactory(SessionFactory sessionFactory) { 27 | this.sessionFactory = sessionFactory; 28 | } 29 | 30 | private Session getCurrentSession() { 31 | return this.sessionFactory.getCurrentSession(); 32 | } 33 | 34 | @Override 35 | public Serializable save(T o) { 36 | return this.getCurrentSession().save(o); 37 | } 38 | 39 | @Override 40 | public T get(Class c, Serializable id) { 41 | return (T) this.getCurrentSession().get(c, id); 42 | } 43 | 44 | @Override 45 | public T get(String hql) { 46 | Query q = this.getCurrentSession().createQuery(hql); 47 | List l = q.list(); 48 | if (l != null && l.size() > 0) { 49 | return l.get(0); 50 | } 51 | return null; 52 | } 53 | 54 | @Override 55 | public T get(String hql, Map params) { 56 | Query q = this.getCurrentSession().createQuery(hql); 57 | if (params != null && !params.isEmpty()) { 58 | for (String key : params.keySet()) { 59 | q.setParameter(key, params.get(key)); 60 | } 61 | } 62 | List l = q.list(); 63 | if (l != null && l.size() > 0) { 64 | return l.get(0); 65 | } 66 | return null; 67 | } 68 | 69 | @Override 70 | public void delete(T o) { 71 | this.getCurrentSession().delete(o); 72 | } 73 | 74 | @Override 75 | public void update(T o) { 76 | this.getCurrentSession().update(o); 77 | } 78 | 79 | @Override 80 | public void saveOrUpdate(T o) { 81 | this.getCurrentSession().saveOrUpdate(o); 82 | } 83 | 84 | @Override 85 | public List find(String hql) { 86 | Query q = this.getCurrentSession().createQuery(hql); 87 | return q.list(); 88 | } 89 | 90 | @Override 91 | public List find(String hql, Map params) { 92 | Query q = this.getCurrentSession().createQuery(hql); 93 | if (params != null && !params.isEmpty()) { 94 | for (String key : params.keySet()) { 95 | q.setParameter(key, params.get(key)); 96 | } 97 | } 98 | return q.list(); 99 | } 100 | 101 | @Override 102 | public List find(String hql, Map params, int page, int rows) { 103 | Query q = this.getCurrentSession().createQuery(hql); 104 | if (params != null && !params.isEmpty()) { 105 | for (String key : params.keySet()) { 106 | q.setParameter(key, params.get(key)); 107 | } 108 | } 109 | return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 110 | } 111 | 112 | @Override 113 | public List find(String hql, int page, int rows) { 114 | Query q = this.getCurrentSession().createQuery(hql); 115 | return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 116 | } 117 | 118 | @Override 119 | public Long count(String hql) { 120 | Query q = this.getCurrentSession().createQuery(hql); 121 | return (Long) q.uniqueResult(); 122 | } 123 | 124 | @Override 125 | public Long count(String hql, Map params) { 126 | Query q = this.getCurrentSession().createQuery(hql); 127 | if (params != null && !params.isEmpty()) { 128 | for (String key : params.keySet()) { 129 | q.setParameter(key, params.get(key)); 130 | } 131 | } 132 | return (Long) q.uniqueResult(); 133 | } 134 | 135 | @Override 136 | public int executeHql(String hql) { 137 | Query q = this.getCurrentSession().createQuery(hql); 138 | return q.executeUpdate(); 139 | } 140 | 141 | } -------------------------------------------------------------------------------- /src/main/java/com/itron/model/Message.java: -------------------------------------------------------------------------------- 1 | package com.itron.model; 2 | 3 | import java.sql.Timestamp; 4 | import javax.persistence.Column; 5 | import javax.persistence.Entity; 6 | import javax.persistence.Id; 7 | import javax.persistence.Table; 8 | 9 | /** 10 | * Message entity. @author MyEclipse Persistence Tools 11 | */ 12 | @Entity 13 | @Table(name = "message", catalog = "itronys") 14 | public class Message implements java.io.Serializable { 15 | 16 | // Fields 17 | 18 | private String msgId; 19 | private String msgName; 20 | private String msgPhone; 21 | private String msgContent; 22 | private Timestamp msgTime; 23 | private String msgIp; 24 | 25 | // Constructors 26 | 27 | /** default constructor */ 28 | public Message() { 29 | } 30 | 31 | /** full constructor */ 32 | public Message(String msgId, String msgName, String msgPhone, String msgContent, Timestamp msgTime, String msgIp) { 33 | this.msgId = msgId; 34 | this.msgName = msgName; 35 | this.msgPhone = msgPhone; 36 | this.msgContent = msgContent; 37 | this.msgTime = msgTime; 38 | this.msgIp = msgIp; 39 | } 40 | 41 | // Property accessors 42 | @Id 43 | @Column(name = "msgId", unique = true, nullable = false, length = 64) 44 | public String getMsgId() { 45 | return this.msgId; 46 | } 47 | 48 | public void setMsgId(String msgId) { 49 | this.msgId = msgId; 50 | } 51 | 52 | @Column(name = "msgName", nullable = false, length = 32) 53 | public String getMsgName() { 54 | return this.msgName; 55 | } 56 | 57 | public void setMsgName(String msgName) { 58 | this.msgName = msgName; 59 | } 60 | 61 | @Column(name = "msgPhone", nullable = false, length = 16) 62 | public String getMsgPhone() { 63 | return this.msgPhone; 64 | } 65 | 66 | public void setMsgPhone(String msgPhone) { 67 | this.msgPhone = msgPhone; 68 | } 69 | 70 | @Column(name = "msgContent", nullable = false, length = 2048) 71 | public String getMsgContent() { 72 | return this.msgContent; 73 | } 74 | 75 | public void setMsgContent(String msgContent) { 76 | this.msgContent = msgContent; 77 | } 78 | 79 | @Column(name = "msgTime", nullable = false, length = 0) 80 | public Timestamp getMsgTime() { 81 | return this.msgTime; 82 | } 83 | 84 | public void setMsgTime(Timestamp msgTime) { 85 | this.msgTime = msgTime; 86 | } 87 | 88 | @Column(name = "msgIp", nullable = false, length = 32) 89 | public String getMsgIp() { 90 | return this.msgIp; 91 | } 92 | 93 | public void setMsgIp(String msgIp) { 94 | this.msgIp = msgIp; 95 | } 96 | 97 | } -------------------------------------------------------------------------------- /src/main/java/com/itron/receive/Rmessage.java: -------------------------------------------------------------------------------- 1 | package com.itron.receive; 2 | 3 | import java.sql.Timestamp; 4 | 5 | public class Rmessage { 6 | 7 | private String msgId; 8 | private String msgName; 9 | private String msgPhone; 10 | private String msgContent; 11 | private Timestamp msgTime; 12 | private String msgIp; 13 | 14 | public String getMsgId() { 15 | return msgId; 16 | } 17 | 18 | public void setMsgId(String msgId) { 19 | this.msgId = msgId; 20 | } 21 | 22 | public String getMsgName() { 23 | return msgName; 24 | } 25 | 26 | public void setMsgName(String msgName) { 27 | this.msgName = msgName; 28 | } 29 | 30 | public String getMsgPhone() { 31 | return msgPhone; 32 | } 33 | 34 | public void setMsgPhone(String msgPhone) { 35 | this.msgPhone = msgPhone; 36 | } 37 | 38 | public String getMsgContent() { 39 | return msgContent; 40 | } 41 | 42 | public void setMsgContent(String msgContent) { 43 | this.msgContent = msgContent; 44 | } 45 | 46 | public Timestamp getMsgTime() { 47 | return msgTime; 48 | } 49 | 50 | public void setMsgTime(Timestamp msgTime) { 51 | this.msgTime = msgTime; 52 | } 53 | 54 | public String getMsgIp() { 55 | return msgIp; 56 | } 57 | 58 | public void setMsgIp(String msgIp) { 59 | this.msgIp = msgIp; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/itron/service/MessageServiceI.java: -------------------------------------------------------------------------------- 1 | package com.itron.service; 2 | 3 | import com.itron.receive.Rmessage; 4 | 5 | public interface MessageServiceI { 6 | 7 | public void msgSub(Rmessage rmessage); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/itron/service/impl/MessageServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.itron.service.impl; 2 | 3 | import javax.annotation.Resource; 4 | 5 | import org.springframework.stereotype.Service; 6 | import org.springframework.transaction.annotation.Transactional; 7 | 8 | import com.itron.dao.BaseDaoI; 9 | import com.itron.model.Message; 10 | import com.itron.receive.Rmessage; 11 | import com.itron.service.MessageServiceI; 12 | 13 | @Transactional 14 | @Service("messageService") 15 | public class MessageServiceImpl implements MessageServiceI { 16 | 17 | @Resource 18 | private BaseDaoI baseDao; 19 | 20 | @Override 21 | public void msgSub(Rmessage rmessage) { 22 | Message message = new Message(); 23 | message.setMsgContent(rmessage.getMsgContent()); 24 | message.setMsgId(rmessage.getMsgId()); 25 | message.setMsgIp(rmessage.getMsgIp()); 26 | message.setMsgName(rmessage.getMsgName()); 27 | message.setMsgPhone(rmessage.getMsgPhone()); 28 | message.setMsgTime(rmessage.getMsgTime()); 29 | baseDao.save(message); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/config.properties: -------------------------------------------------------------------------------- 1 | hibernate.dialect=org.hibernate.dialect.MySQLDialect 2 | driverClassName=com.mysql.jdbc.Driver 3 | validationQuery=SELECT 1 4 | jdbc_url=jdbc:mysql://localhost:3306/itronys?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false 5 | jdbc_username=root 6 | jdbc_password=123456 7 | 8 | 9 | hibernate.hbm2ddl.auto=update 10 | hibernate.show_sql=true 11 | hibernate.format_sql=true 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=INFO,A1,R 2 | 3 | log4j.appender.A1=org.apache.log4j.ConsoleAppender 4 | log4j.appender.A1.Target=System.out 5 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.A1.layout.ConversionPattern=[%c]%m%n 7 | 8 | log4j.appender.R=org.apache.log4j.RollingFileAppender 9 | log4j.appender.R.File=itronys.log 10 | log4j.appender.R.MaxFileSize=10MB 11 | log4j.appender.R.Threshold=ALL 12 | log4j.appender.R.layout=org.apache.log4j.PatternLayout 13 | log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n -------------------------------------------------------------------------------- /src/main/resources/spring-hibernate.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ${hibernate.hbm2ddl.auto} 52 | ${hibernate.dialect} 53 | ${hibernate.show_sql} 54 | ${hibernate.format_sql} 55 | 56 | 57 | 58 | 59 | 60 | 61 | com.itron.model 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /src/main/resources/spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/main/resources/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/webapp/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | itronys 4 | 5 | 6 | index.html 7 | index.jsp 8 | 9 | 10 | 11 | contextConfigLocation 12 | classpath:spring.xml,classpath:spring-hibernate.xml 13 | 14 | 15 | 16 | openSessionInViewFilter 17 | org.springframework.orm.hibernate5.support.OpenSessionInViewFilter 18 | 19 | singleSession 20 | true 21 | 22 | 23 | 24 | 25 | struts2 26 | org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 27 | 28 | 29 | openSessionInViewFilter 30 | *.action 31 | 32 | 33 | struts2 34 | *.action 35 | 36 | 37 | 38 | org.springframework.web.context.ContextLoaderListener 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/webapp/css/bigscreen.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | .left-content { 4 | position: fixed; 5 | width: 25%; 6 | height: 100%; 7 | background-color: #FFF; 8 | box-shadow: 0 0 5px 6px #CAC8C8; 9 | } 10 | 11 | .right-content { 12 | margin-left: 25%; 13 | width: 75%; 14 | background-color: #F8F8F8; 15 | } 16 | 17 | .contact { 18 | margin-top: 50px; 19 | } 20 | 21 | .avatar img { 22 | margin-top: 50px; 23 | } 24 | 25 | .info { 26 | margin-top: 10px; 27 | } 28 | 29 | .left-content .list-phone { 30 | display: none; 31 | } 32 | 33 | .contact a img { 34 | width: 30px; 35 | height: 30px; 36 | } 37 | 38 | .page-contact .on { 39 | height: 10px; 40 | } 41 | 42 | .page-life .on { 43 | height: 10px; 44 | } 45 | 46 | .page-contact .height { 47 | height: 100px; 48 | } 49 | 50 | .page-tech .on { 51 | height: 10px; 52 | } 53 | 54 | .page-tech .list .chr { 55 | height: 200px; 56 | } 57 | 58 | .page-tech .list .chr .img img { 59 | width: 260px; 60 | height: 200px; 61 | } 62 | 63 | .page-tech .list .chr .content { 64 | padding-top: 15px; 65 | margin-left: 285px; 66 | margin-right: 25px; 67 | } 68 | 69 | .page-tech .list .chr .content .title { 70 | font-size: 1.3rem; 71 | } 72 | 73 | .page-work .on { 74 | height: 10px; 75 | } 76 | 77 | .page-about .on { 78 | height: 10px; 79 | } 80 | 81 | .page-resume .header h3 { 82 | margin-top: 100px; 83 | } 84 | 85 | .page-tech-article .on { 86 | height: 10px; 87 | } 88 | 89 | .page-work-article .on { 90 | height: 10px; 91 | } -------------------------------------------------------------------------------- /src/main/webapp/css/smallscreen.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | .left-content { 4 | width: 100%; 5 | height: 250px; 6 | background-color: #FFF; 7 | } 8 | 9 | .right-content { 10 | width: 100%; 11 | background-color: #F8F8F8; 12 | } 13 | 14 | .left-content .list { 15 | display: none; 16 | } 17 | 18 | .contact { 19 | margin-top: 0; 20 | } 21 | 22 | .avatar img { 23 | margin-top: 20px; 24 | } 25 | 26 | .info { 27 | margin-top: 0; 28 | } 29 | 30 | .contact a img { 31 | width: 25px; 32 | height: 25px; 33 | } 34 | 35 | .page-contact .header { 36 | padding-top: 10px; 37 | } 38 | 39 | .page-life .on { 40 | margin: 25px 4%; 41 | padding-top: 5px; 42 | } 43 | 44 | .page-resume .header { 45 | margin-top: 25px; 46 | } 47 | 48 | .page-tech .list .chr { 49 | height: 100px; 50 | } 51 | 52 | .page-tech .list .chr .img img { 53 | width: 130px; 54 | height: 100px; 55 | } 56 | 57 | .page-tech .list .chr .content { 58 | padding-top: 12px; 59 | margin-left: 140px; 60 | margin-right: 10px; 61 | } 62 | 63 | .page-tech .list .chr .content .title { 64 | font-size: 1.1rem; 65 | } 66 | 67 | .page-tech .list .chr .content .sub { 68 | display: none; 69 | } 70 | 71 | .page-resume .header h3 { 72 | margin-top: 130px; 73 | } -------------------------------------------------------------------------------- /src/main/webapp/css/style.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | body { 4 | margin: 0; 5 | font-family: 'Microsoft YaHei'; 6 | } 7 | 8 | .avatar { 9 | text-align: center; 10 | } 11 | 12 | .avatar img { 13 | width: 100px; 14 | height: 100px; 15 | border-radius: 50%; 16 | border: 2px solid #000; 17 | } 18 | 19 | .info { 20 | text-align: center; 21 | } 22 | 23 | .info span { 24 | color: #111; 25 | font-size: 28px; 26 | } 27 | 28 | .list ul { 29 | list-style-type: none; 30 | margin-top: 35px; 31 | padding: 0; 32 | } 33 | 34 | .list ul li a { 35 | text-align: center; 36 | text-decoration: none; 37 | display: block; 38 | line-height: 40px; 39 | color: #888; 40 | letter-spacing: 5px; 41 | transition: color .5s ease; 42 | } 43 | 44 | .list ul li a:hover { 45 | color: #000; 46 | } 47 | 48 | .list ul li a.active { 49 | color: #000; 50 | } 51 | 52 | .contact { 53 | text-align: center; 54 | } 55 | 56 | .contact a img { 57 | margin: 8px; 58 | transition: opacity .5s ease; 59 | } 60 | 61 | .contact a:hover img { 62 | opacity: 0.7; 63 | } 64 | 65 | .list-phone { 66 | text-align: center; 67 | margin: 18px 3% 0 3%; 68 | } 69 | 70 | .list-phone a { 71 | color: #888; 72 | font-size: 1.2rem; 73 | letter-spacing: 3px; 74 | transition: color .5s ease; 75 | } 76 | 77 | .list-phone a:hover { 78 | color: #000; 79 | } 80 | 81 | .list-phone a.active { 82 | color: #000; 83 | } 84 | 85 | .footer { 86 | text-align: center; 87 | margin-top: 100px; 88 | height: 50px; 89 | background-color: #EEEEEE; 90 | } 91 | 92 | .footer p { 93 | padding-top: 8px; 94 | color: #555; 95 | font-size: 1.6rem; 96 | font-family: "Roboto", sans-serif; 97 | font-weight: 300; 98 | } 99 | 100 | .page-contact .header { 101 | margin: 25px 4%; 102 | } 103 | 104 | .page-contact .header .image { 105 | text-align: center; 106 | } 107 | 108 | .page-contact .header .image img { 109 | min-width: 110px; 110 | max-width: 200px; 111 | width: 20%; 112 | } 113 | 114 | .page-contact .header .line hr { 115 | height: 2px; 116 | border: none; 117 | border-top: 2px solid #888; 118 | } 119 | 120 | .page-contact .content { 121 | margin: 25px 4%; 122 | } 123 | 124 | .page-contact .content .left-msg .title { 125 | margin-left: 25px; 126 | } 127 | 128 | .page-contact .content .right-msg .title { 129 | margin-left: 25px; 130 | } 131 | 132 | .page-contact .content .left-msg .title h4 { 133 | padding-top: 30px; 134 | color: #555; 135 | font-size: 1.6rem; 136 | font-family: "Roboto", sans-serif; 137 | font-weight: 300; 138 | } 139 | 140 | .page-contact .content .right-msg .title h4 { 141 | padding-top: 30px; 142 | color: #555; 143 | font-size: 1.6rem; 144 | font-family: "Roboto", sans-serif; 145 | font-weight: 300; 146 | } 147 | 148 | .page-contact .content .right-msg .input { 149 | margin-left: 3%; 150 | margin-right: 3%; 151 | } 152 | 153 | .page-contact .content .right-msg .send { 154 | text-align: center; 155 | padding-bottom: 70px; 156 | padding-top: 20px; 157 | } 158 | 159 | .page-contact .content .left-msg .contact-info { 160 | margin-left: 10%; 161 | margin-right: 10%; 162 | margin-top: 25px; 163 | padding-bottom: 10px; 164 | } 165 | 166 | .page-contact .content .left-msg .qrcode { 167 | margin-left: 15%; 168 | margin-right: 15%; 169 | text-align: center; 170 | } 171 | 172 | .page-contact .content .left-msg .qrcode img { 173 | width: 100%; 174 | max-width: 200px; 175 | } 176 | 177 | .page-contact .content .left-msg .tips { 178 | text-align: center; 179 | padding-bottom: 10px; 180 | } 181 | 182 | .page-contact .content .left-msg .tips p { 183 | color: #888; 184 | font-size: 0.8rem; 185 | } 186 | 187 | .page-life .header .line hr { 188 | height: 2px; 189 | border: none; 190 | border-top: 2px solid #888; 191 | } 192 | 193 | .page-life .header { 194 | margin: 25px 4%; 195 | } 196 | 197 | .page-life .header .image { 198 | text-align: center; 199 | } 200 | 201 | .page-life .music .header .image img { 202 | min-width: 65px; 203 | width: 7%; 204 | } 205 | 206 | .page-life .video .header .image img { 207 | min-width: 70px; 208 | width: 7.5%; 209 | } 210 | 211 | .page-life .football .header .image img { 212 | min-width: 73px; 213 | width: 8%; 214 | } 215 | 216 | .page-life .music .content { 217 | margin: 0 5%; 218 | } 219 | 220 | .page-life .video .content { 221 | margin: 0 4%; 222 | } 223 | 224 | .page-life .football .content { 225 | margin: 0 4%; 226 | } 227 | 228 | .page-life .music .title { 229 | margin-left: 6%; 230 | margin-right: 6%; 231 | } 232 | 233 | .page-life .video .title { 234 | margin-left: 6%; 235 | margin-right: 6%; 236 | } 237 | 238 | .page-life .football .title { 239 | margin-left: 6%; 240 | margin-right: 6%; 241 | } 242 | 243 | .page-life .title h4 { 244 | color: #555; 245 | font-size: 1.6rem; 246 | font-family: "Roboto", sans-serif; 247 | font-weight: 300; 248 | } 249 | 250 | .page-life .music .content .list { 251 | margin-left: 2%; 252 | margin-right: 2%; 253 | } 254 | 255 | .page-life .music .content .more { 256 | text-align: right; 257 | } 258 | 259 | .page-life .video .more { 260 | text-align: center; 261 | } 262 | 263 | .page-resume .header { 264 | position: relative; 265 | width: 100%; 266 | height: 300px; 267 | background-image: url("/img/me.jpg"); 268 | background-size: cover; 269 | background-position: center; 270 | } 271 | 272 | .page-resume .header .on { 273 | height: 10px; 274 | } 275 | 276 | .page-resume .header h3 { 277 | margin-left: 15%; 278 | color: white; 279 | } 280 | 281 | .page-resume .header h5 { 282 | margin-left: 15%; 283 | color: white; 284 | font-family: "Roboto", sans-serif; 285 | font-weight: 300; 286 | } 287 | 288 | .page-resume>.content { 289 | margin: 25px 2.5%; 290 | } 291 | 292 | .page-resume .content .content-left .evaluate img { 293 | margin-left: 8px; 294 | margin-top: 10px; 295 | width: 40px; 296 | position: absolute; 297 | } 298 | 299 | .page-resume .content .content-left .personal img { 300 | margin-left: 8px; 301 | width: 40px; 302 | position: absolute; 303 | } 304 | 305 | .page-resume .content .content-left .education img { 306 | margin-left: 8px; 307 | width: 40px; 308 | position: absolute; 309 | } 310 | 311 | .page-resume .content .content-left .interest img { 312 | margin-left: 8px; 313 | width: 40px; 314 | position: absolute; 315 | } 316 | 317 | .page-resume .content .content-left .evaluate h4 { 318 | font-size: 1.8rem; 319 | padding-top: 13px; 320 | color: #F24B79; 321 | margin-left: 58px; 322 | margin-top: 0; 323 | } 324 | 325 | .page-resume .content .content-left .personal h4 { 326 | font-size: 1.8rem; 327 | padding-top: 6px; 328 | color: #3AD3E1; 329 | margin-left: 58px; 330 | } 331 | 332 | .page-resume .content .content-left .education h4 { 333 | font-size: 1.8rem; 334 | padding-top: 5px; 335 | color: #E6A815; 336 | margin-left: 58px; 337 | } 338 | 339 | .page-resume .content .content-left .interest h4 { 340 | font-size: 1.8rem; 341 | padding-top: 6px; 342 | color: #F36138; 343 | margin-left: 58px; 344 | } 345 | 346 | .page-resume .content .content-left hr { 347 | height: 1px; 348 | border: none; 349 | border-top: 1px solid #CCC; 350 | } 351 | 352 | .page-resume .content .content-left .evaluate .content { 353 | margin-left: 8%; 354 | margin-right: 8%; 355 | } 356 | 357 | .page-resume .content .content-left .evaluate .content p { 358 | color: #888; 359 | } 360 | 361 | .page-resume .content .content-left .evaluate .content p i { 362 | font-size: 0.8rem; 363 | margin-left: 3px; 364 | margin-right: 5px; 365 | color: #F24B79; 366 | } 367 | 368 | .page-resume .content .content-left .personal .content hr { 369 | margin-left: 8%; 370 | margin-right: 8%; 371 | height: 1px; 372 | border: none; 373 | border-top: 1px solid #CCC; 374 | } 375 | 376 | .page-resume .content .content-left .personal .content p { 377 | color: #888; 378 | margin-left: 10%; 379 | margin-right: 10%; 380 | } 381 | 382 | .page-resume .content .content-left .education .content p { 383 | color: #888; 384 | margin-left: 4%; 385 | margin-right: 4%; 386 | } 387 | 388 | .page-resume .content .content-left .interest .content { 389 | padding-top: 15px; 390 | } 391 | 392 | .page-resume .content .content-left .interest .content img { 393 | margin-left: 5%; 394 | width: 40px; 395 | position: static; 396 | margin-bottom: 35px; 397 | } 398 | 399 | .page-resume .content .content-right .honor h4 { 400 | margin-bottom: 9px; 401 | color: #3ACAC0; 402 | margin-top: 0; 403 | padding-top: 13px; 404 | margin-left: 25px; 405 | font-size: 1.8rem; 406 | } 407 | 408 | .page-resume .content .content-right .honor h4 span { 409 | margin-left: 10px; 410 | font-size: 1.2rem; 411 | } 412 | 413 | .page-resume .content .content-right .honor hr { 414 | height: 1px; 415 | border: none; 416 | border-top: 1px solid #CCC; 417 | } 418 | 419 | .page-resume .content .content-right .honor .content { 420 | margin-left: 5%; 421 | margin-right: 5%; 422 | padding-bottom: 10px; 423 | } 424 | 425 | .page-resume .content .content-right .honor .content i { 426 | font-size: 0.8rem; 427 | margin-left: 3px; 428 | margin-right: 5px; 429 | color: #3ACAC0; 430 | } 431 | 432 | .page-resume .content .content-right .honor .mark i { 433 | position: absolute; 434 | font-size: 2.3rem; 435 | top: -4px; 436 | right: -7px; 437 | color: #3ACAC0; 438 | } 439 | 440 | .page-resume .content .content-right .honor .content p { 441 | color: #888; 442 | } 443 | 444 | .page-resume .content .content-right .skill h4 { 445 | margin-bottom: 9px; 446 | color: #435DCC; 447 | margin-top: 0; 448 | padding-top: 13px; 449 | margin-left: 25px; 450 | font-size: 1.8rem; 451 | } 452 | 453 | .page-resume .content .content-right .skill h4 span { 454 | margin-left: 10px; 455 | font-size: 1.2rem; 456 | } 457 | 458 | .page-resume .content .content-right .skill hr { 459 | height: 1px; 460 | border: none; 461 | border-top: 1px solid #CCC; 462 | } 463 | 464 | .page-resume .content .content-right .skill .mark i { 465 | position: absolute; 466 | font-size: 2.3rem; 467 | top: -4px; 468 | right: -7px; 469 | color: #435DCC; 470 | } 471 | 472 | .page-resume .content .content-right .skill .content h5 { 473 | margin-left: 20px; 474 | font-size: 1.2rem; 475 | color: #435DCC; 476 | } 477 | 478 | .page-resume .content .content-right .skill .content { 479 | margin-left: 5%; 480 | margin-right: 5%; 481 | padding-bottom: 10px; 482 | } 483 | 484 | .page-resume .content .content-right .skill .content i { 485 | font-size: 0.8rem; 486 | margin-left: 3px; 487 | margin-right: 5px; 488 | color: #435DCC; 489 | } 490 | 491 | .page-resume .content .content-right .skill .content p { 492 | color: #888; 493 | } 494 | 495 | .page-resume .content .content-right .skill .content .chr { 496 | margin-left: 20px; 497 | } 498 | 499 | .page-resume .content .content-right .skill .content span { 500 | color: #555; 501 | font-weight: 600; 502 | } 503 | 504 | .page-resume .content .content-right .experience h4 { 505 | margin-bottom: 9px; 506 | color: #00B0FF; 507 | margin-top: 0; 508 | padding-top: 13px; 509 | margin-left: 25px; 510 | font-size: 1.8rem; 511 | } 512 | 513 | .page-resume .content .content-right .experience h4 span { 514 | margin-left: 10px; 515 | font-size: 1.2rem; 516 | } 517 | 518 | .page-resume .content .content-right .experience hr { 519 | height: 1px; 520 | border: none; 521 | border-top: 1px solid #CCC; 522 | } 523 | 524 | .page-resume .content .content-right .experience .mark i { 525 | position: absolute; 526 | font-size: 2.3rem; 527 | top: -4px; 528 | right: -7px; 529 | color: #00B0FF; 530 | } 531 | 532 | .page-resume .content .content-right .experience .content { 533 | margin-left: 5%; 534 | margin-right: 5%; 535 | padding-bottom: 10px; 536 | } 537 | 538 | .page-resume .content .content-right .experience .content h5 { 539 | margin-left: 20px; 540 | color: #00B0FF; 541 | font-size: 1.3rem; 542 | } 543 | 544 | .page-resume .content .content-right .experience .content h5 span { 545 | margin-left: 10px; 546 | font-size: 1rem; 547 | } 548 | 549 | .page-resume .content .content-right .experience .content h6 { 550 | color: #555; 551 | font-weight: 600; 552 | } 553 | 554 | .page-resume .content .content-right .experience .content p { 555 | color: #888; 556 | margin-left: 10px; 557 | } 558 | 559 | .page-resume .content .content-right .experience .content i { 560 | font-size: 0.8rem; 561 | margin-left: 3px; 562 | margin-right: 5px; 563 | color: #00B0FF; 564 | } 565 | 566 | .page-resume .download { 567 | margin-top: 50px; 568 | text-align: center; 569 | } 570 | 571 | .page-tech .list { 572 | margin: 25px 3%; 573 | padding-top: 10px; 574 | } 575 | 576 | .page-tech .list .chr { 577 | max-width: 880px; 578 | margin-left: auto; 579 | margin-right: auto; 580 | } 581 | 582 | .page-tech .list .chr .img img { 583 | width: 260px; 584 | height: 200px; 585 | float: left; 586 | } 587 | 588 | .page-tech .list .chr .content { 589 | padding-top: 15px; 590 | margin-left: 285px; 591 | margin-right: 25px; 592 | } 593 | 594 | .page-tech .list .chr .content .title { 595 | font-size: 1.3rem; 596 | } 597 | 598 | .page-tech .list .chr .content .time i { 599 | position: absolute; 600 | font-size: 1.5rem; 601 | color: #999; 602 | } 603 | 604 | .page-tech .list .chr .content .time span { 605 | margin-left: 30px; 606 | color: #888; 607 | font-size: 0.85rem; 608 | } 609 | 610 | .page-tech .list .chr .content .sub { 611 | color: #777; 612 | } 613 | 614 | .page-tech .list .chr .content .sub i { 615 | color: #999; 616 | font-size: 0.8rem; 617 | margin-left: 5px; 618 | margin-right: 13px; 619 | } 620 | 621 | .page-tech .pages { 622 | margin-top: 50px; 623 | text-align: center; 624 | } 625 | 626 | .page-work .list { 627 | margin: 25px 3%; 628 | padding-top: 20px; 629 | } 630 | 631 | .page-work .list .chr .header .border { 632 | width: 185px; 633 | margin-left: auto; 634 | margin-right: auto; 635 | text-align: center; 636 | background-color: #314163; 637 | border-radius: 28px; 638 | border: 2px solid #314163; 639 | } 640 | 641 | .page-work .list .chr .header .border h5 { 642 | color: #FFF; 643 | margin: 5px; 644 | font-size: 1.58rem; 645 | font-family: "Roboto", sans-serif; 646 | font-weight: 300; 647 | } 648 | 649 | .page-work .list .chr .content .con { 650 | max-width: 300px; 651 | margin-left: auto; 652 | margin-right: auto; 653 | margin-top: 20px; 654 | background-size: cover; 655 | background-position: center; 656 | } 657 | 658 | .page-work .list .chr .content .con a { 659 | display: block; 660 | max-width: 300px; 661 | height: 300px; 662 | } 663 | 664 | .page-work .list .chr { 665 | margin-bottom: 30px; 666 | } 667 | 668 | .page-about .about { 669 | margin: 25px 3.5%; 670 | } 671 | 672 | .page-about .about .header { 673 | max-width: 500px; 674 | padding-top: 10px; 675 | text-align: center; 676 | margin-left: auto; 677 | margin-right: auto; 678 | } 679 | 680 | .page-about .about .header h4 { 681 | color: #252425; 682 | font-size: 2.1rem; 683 | font-family: "Roboto", sans-serif; 684 | font-weight: 400; 685 | } 686 | 687 | .page-about .about .header hr { 688 | max-width: 120px; 689 | height: 2px; 690 | border: none; 691 | border-top: 2px solid #252425; 692 | } 693 | 694 | .page-about .about .content { 695 | max-width: 800px; 696 | margin-left: auto; 697 | margin-right: auto; 698 | } 699 | 700 | .page-about .about .content p { 701 | text-align: center; 702 | font-size: 1.2rem; 703 | font-family: "Roboto", sans-serif; 704 | font-weight: 300; 705 | } 706 | 707 | .page-about .exp { 708 | margin: 25px 4.5%; 709 | } 710 | 711 | .page-about .exp h5 { 712 | text-align: center; 713 | color: #666; 714 | font-size: 1.5rem; 715 | font-family: "Roboto", sans-serif; 716 | font-weight: 300; 717 | } 718 | 719 | .page-about .exp h6 { 720 | font-size: 1.05rem; 721 | color: #333; 722 | text-align: center; 723 | } 724 | 725 | .page-about .exp hr { 726 | height: 1px; 727 | border: none; 728 | border-top: 1px solid #ccc; 729 | } 730 | 731 | .page-about .exp p { 732 | color: #555; 733 | text-indent: 2em; 734 | } 735 | 736 | .page-about .exp .first { 737 | margin-top: 45px; 738 | max-width: 550px; 739 | margin-left: auto; 740 | margin-right: auto; 741 | } 742 | 743 | .page-about .exp .second { 744 | margin-top: 30px; 745 | max-width: 550px; 746 | margin-left: auto; 747 | margin-right: auto; 748 | } 749 | 750 | .page-about .skills { 751 | margin: 25px 3.5%; 752 | } 753 | 754 | .page-about .skills .header { 755 | max-width: 500px; 756 | padding-top: 10px; 757 | text-align: center; 758 | margin-left: auto; 759 | margin-right: auto; 760 | } 761 | 762 | .page-about .skills .header h4 { 763 | color: #252425; 764 | font-size: 2.1rem; 765 | font-family: "Roboto", sans-serif; 766 | font-weight: 400; 767 | } 768 | 769 | .page-about .skills .header hr { 770 | max-width: 75px; 771 | height: 2px; 772 | border: none; 773 | border-top: 2px solid #252425; 774 | } 775 | 776 | .page-about .skills .content { 777 | padding-top: 30px; 778 | text-align: center; 779 | max-width: 600px; 780 | margin-left: auto; 781 | margin-right: auto; 782 | } 783 | 784 | .page-about .skills .content img { 785 | width: 58px; 786 | } 787 | 788 | .page-about .skills .content p { 789 | color: #888; 790 | } 791 | 792 | .page-about .skills .other .content { 793 | padding-top: 18px; 794 | text-align: center; 795 | max-width: 220px; 796 | margin-left: auto; 797 | margin-right: auto; 798 | } 799 | 800 | .page-about .skills .other h5 { 801 | color: #666; 802 | text-align: center; 803 | font-family: "Roboto", sans-serif; 804 | font-weight: 300; 805 | } 806 | 807 | .page-tech-article .content { 808 | margin: 25px 2%; 809 | padding-top: 15px; 810 | } 811 | 812 | .page-tech-article .content .article { 813 | height: 1000px; 814 | max-width: 810px; 815 | margin-left: auto; 816 | margin-right: auto; 817 | } 818 | 819 | .page-work-article .content { 820 | margin: 25px 2%; 821 | padding-top: 15px; 822 | } 823 | 824 | .page-work-article .content .article { 825 | height: 1000px; 826 | max-width: 810px; 827 | margin-left: auto; 828 | margin-right: auto; 829 | } 830 | 831 | .right-content .article .header h4 { 832 | color: #333; 833 | padding-top: 15px; 834 | padding-left: 15px; 835 | padding-right: 15px; 836 | font-size: 1.6rem; 837 | } 838 | 839 | .right-content .article .header .time i { 840 | margin-left: 15px; 841 | position: absolute; 842 | font-size: 1.5rem; 843 | color: #666; 844 | } 845 | 846 | .right-content .article .header .time span { 847 | margin-left: 45px; 848 | color: #555; 849 | font-size: 1rem; 850 | } 851 | 852 | .right-content .article .header hr { 853 | height: 1px; 854 | border: none; 855 | border-top: 1px solid #DDD; 856 | } -------------------------------------------------------------------------------- /src/main/webapp/file/resume.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/file/resume.docx -------------------------------------------------------------------------------- /src/main/webapp/file/resume.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/file/resume.pdf -------------------------------------------------------------------------------- /src/main/webapp/font/material-design-icons/LICENSE.txt: -------------------------------------------------------------------------------- 1 | https://github.com/google/material-design-icons/blob/master/LICENSE 2 | https://github.com/FezVrasta/bootstrap-material-design/blob/master/fonts/LICENSE.txt 3 | 4 | Attribution-ShareAlike 4.0 International 5 | 6 | ======================================================================= 7 | 8 | Creative Commons Corporation ("Creative Commons") is not a law firm and 9 | does not provide legal services or legal advice. Distribution of 10 | Creative Commons public licenses does not create a lawyer-client or 11 | other relationship. Creative Commons makes its licenses and related 12 | information available on an "as-is" basis. Creative Commons gives no 13 | warranties regarding its licenses, any material licensed under their 14 | terms and conditions, or any related information. Creative Commons 15 | disclaims all liability for damages resulting from their use to the 16 | fullest extent possible. 17 | 18 | Using Creative Commons Public Licenses 19 | 20 | Creative Commons public licenses provide a standard set of terms and 21 | conditions that creators and other rights holders may use to share 22 | original works of authorship and other material subject to copyright 23 | and certain other rights specified in the public license below. The 24 | following considerations are for informational purposes only, are not 25 | exhaustive, and do not form part of our licenses. 26 | 27 | Considerations for licensors: Our public licenses are 28 | intended for use by those authorized to give the public 29 | permission to use material in ways otherwise restricted by 30 | copyright and certain other rights. Our licenses are 31 | irrevocable. Licensors should read and understand the terms 32 | and conditions of the license they choose before applying it. 33 | Licensors should also secure all rights necessary before 34 | applying our licenses so that the public can reuse the 35 | material as expected. Licensors should clearly mark any 36 | material not subject to the license. This includes other CC- 37 | licensed material, or material used under an exception or 38 | limitation to copyright. More considerations for licensors: 39 | wiki.creativecommons.org/Considerations_for_licensors 40 | 41 | Considerations for the public: By using one of our public 42 | licenses, a licensor grants the public permission to use the 43 | licensed material under specified terms and conditions. If 44 | the licensor's permission is not necessary for any reason--for 45 | example, because of any applicable exception or limitation to 46 | copyright--then that use is not regulated by the license. Our 47 | licenses grant only permissions under copyright and certain 48 | other rights that a licensor has authority to grant. Use of 49 | the licensed material may still be restricted for other 50 | reasons, including because others have copyright or other 51 | rights in the material. A licensor may make special requests, 52 | such as asking that all changes be marked or described. 53 | Although not required by our licenses, you are encouraged to 54 | respect those requests where reasonable. More_considerations 55 | for the public: 56 | wiki.creativecommons.org/Considerations_for_licensees 57 | 58 | ======================================================================= 59 | 60 | Creative Commons Attribution-ShareAlike 4.0 International Public 61 | License 62 | 63 | By exercising the Licensed Rights (defined below), You accept and agree 64 | to be bound by the terms and conditions of this Creative Commons 65 | Attribution-ShareAlike 4.0 International Public License ("Public 66 | License"). To the extent this Public License may be interpreted as a 67 | contract, You are granted the Licensed Rights in consideration of Your 68 | acceptance of these terms and conditions, and the Licensor grants You 69 | such rights in consideration of benefits the Licensor receives from 70 | making the Licensed Material available under these terms and 71 | conditions. 72 | 73 | 74 | Section 1 -- Definitions. 75 | 76 | a. Adapted Material means material subject to Copyright and Similar 77 | Rights that is derived from or based upon the Licensed Material 78 | and in which the Licensed Material is translated, altered, 79 | arranged, transformed, or otherwise modified in a manner requiring 80 | permission under the Copyright and Similar Rights held by the 81 | Licensor. For purposes of this Public License, where the Licensed 82 | Material is a musical work, performance, or sound recording, 83 | Adapted Material is always produced where the Licensed Material is 84 | synched in timed relation with a moving image. 85 | 86 | b. Adapter's License means the license You apply to Your Copyright 87 | and Similar Rights in Your contributions to Adapted Material in 88 | accordance with the terms and conditions of this Public License. 89 | 90 | c. BY-SA Compatible License means a license listed at 91 | creativecommons.org/compatiblelicenses, approved by Creative 92 | Commons as essentially the equivalent of this Public License. 93 | 94 | d. Copyright and Similar Rights means copyright and/or similar rights 95 | closely related to copyright including, without limitation, 96 | performance, broadcast, sound recording, and Sui Generis Database 97 | Rights, without regard to how the rights are labeled or 98 | categorized. For purposes of this Public License, the rights 99 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 100 | Rights. 101 | 102 | e. Effective Technological Measures means those measures that, in the 103 | absence of proper authority, may not be circumvented under laws 104 | fulfilling obligations under Article 11 of the WIPO Copyright 105 | Treaty adopted on December 20, 1996, and/or similar international 106 | agreements. 107 | 108 | f. Exceptions and Limitations means fair use, fair dealing, and/or 109 | any other exception or limitation to Copyright and Similar Rights 110 | that applies to Your use of the Licensed Material. 111 | 112 | g. License Elements means the license attributes listed in the name 113 | of a Creative Commons Public License. The License Elements of this 114 | Public License are Attribution and ShareAlike. 115 | 116 | h. Licensed Material means the artistic or literary work, database, 117 | or other material to which the Licensor applied this Public 118 | License. 119 | 120 | i. Licensed Rights means the rights granted to You subject to the 121 | terms and conditions of this Public License, which are limited to 122 | all Copyright and Similar Rights that apply to Your use of the 123 | Licensed Material and that the Licensor has authority to license. 124 | 125 | j. Licensor means the individual(s) or entity(ies) granting rights 126 | under this Public License. 127 | 128 | k. Share means to provide material to the public by any means or 129 | process that requires permission under the Licensed Rights, such 130 | as reproduction, public display, public performance, distribution, 131 | dissemination, communication, or importation, and to make material 132 | available to the public including in ways that members of the 133 | public may access the material from a place and at a time 134 | individually chosen by them. 135 | 136 | l. Sui Generis Database Rights means rights other than copyright 137 | resulting from Directive 96/9/EC of the European Parliament and of 138 | the Council of 11 March 1996 on the legal protection of databases, 139 | as amended and/or succeeded, as well as other essentially 140 | equivalent rights anywhere in the world. 141 | 142 | m. You means the individual or entity exercising the Licensed Rights 143 | under this Public License. Your has a corresponding meaning. 144 | 145 | 146 | Section 2 -- Scope. 147 | 148 | a. License grant. 149 | 150 | 1. Subject to the terms and conditions of this Public License, 151 | the Licensor hereby grants You a worldwide, royalty-free, 152 | non-sublicensable, non-exclusive, irrevocable license to 153 | exercise the Licensed Rights in the Licensed Material to: 154 | 155 | a. reproduce and Share the Licensed Material, in whole or 156 | in part; and 157 | 158 | b. produce, reproduce, and Share Adapted Material. 159 | 160 | 2. Exceptions and Limitations. For the avoidance of doubt, where 161 | Exceptions and Limitations apply to Your use, this Public 162 | License does not apply, and You do not need to comply with 163 | its terms and conditions. 164 | 165 | 3. Term. The term of this Public License is specified in Section 166 | 6(a). 167 | 168 | 4. Media and formats; technical modifications allowed. The 169 | Licensor authorizes You to exercise the Licensed Rights in 170 | all media and formats whether now known or hereafter created, 171 | and to make technical modifications necessary to do so. The 172 | Licensor waives and/or agrees not to assert any right or 173 | authority to forbid You from making technical modifications 174 | necessary to exercise the Licensed Rights, including 175 | technical modifications necessary to circumvent Effective 176 | Technological Measures. For purposes of this Public License, 177 | simply making modifications authorized by this Section 2(a) 178 | (4) never produces Adapted Material. 179 | 180 | 5. Downstream recipients. 181 | 182 | a. Offer from the Licensor -- Licensed Material. Every 183 | recipient of the Licensed Material automatically 184 | receives an offer from the Licensor to exercise the 185 | Licensed Rights under the terms and conditions of this 186 | Public License. 187 | 188 | b. Additional offer from the Licensor -- Adapted Material. 189 | Every recipient of Adapted Material from You 190 | automatically receives an offer from the Licensor to 191 | exercise the Licensed Rights in the Adapted Material 192 | under the conditions of the Adapter's License You apply. 193 | 194 | c. No downstream restrictions. You may not offer or impose 195 | any additional or different terms or conditions on, or 196 | apply any Effective Technological Measures to, the 197 | Licensed Material if doing so restricts exercise of the 198 | Licensed Rights by any recipient of the Licensed 199 | Material. 200 | 201 | 6. No endorsement. Nothing in this Public License constitutes or 202 | may be construed as permission to assert or imply that You 203 | are, or that Your use of the Licensed Material is, connected 204 | with, or sponsored, endorsed, or granted official status by, 205 | the Licensor or others designated to receive attribution as 206 | provided in Section 3(a)(1)(A)(i). 207 | 208 | b. Other rights. 209 | 210 | 1. Moral rights, such as the right of integrity, are not 211 | licensed under this Public License, nor are publicity, 212 | privacy, and/or other similar personality rights; however, to 213 | the extent possible, the Licensor waives and/or agrees not to 214 | assert any such rights held by the Licensor to the limited 215 | extent necessary to allow You to exercise the Licensed 216 | Rights, but not otherwise. 217 | 218 | 2. Patent and trademark rights are not licensed under this 219 | Public License. 220 | 221 | 3. To the extent possible, the Licensor waives any right to 222 | collect royalties from You for the exercise of the Licensed 223 | Rights, whether directly or through a collecting society 224 | under any voluntary or waivable statutory or compulsory 225 | licensing scheme. In all other cases the Licensor expressly 226 | reserves any right to collect such royalties. 227 | 228 | 229 | Section 3 -- License Conditions. 230 | 231 | Your exercise of the Licensed Rights is expressly made subject to the 232 | following conditions. 233 | 234 | a. Attribution. 235 | 236 | 1. If You Share the Licensed Material (including in modified 237 | form), You must: 238 | 239 | a. retain the following if it is supplied by the Licensor 240 | with the Licensed Material: 241 | 242 | i. identification of the creator(s) of the Licensed 243 | Material and any others designated to receive 244 | attribution, in any reasonable manner requested by 245 | the Licensor (including by pseudonym if 246 | designated); 247 | 248 | ii. a copyright notice; 249 | 250 | iii. a notice that refers to this Public License; 251 | 252 | iv. a notice that refers to the disclaimer of 253 | warranties; 254 | 255 | v. a URI or hyperlink to the Licensed Material to the 256 | extent reasonably practicable; 257 | 258 | b. indicate if You modified the Licensed Material and 259 | retain an indication of any previous modifications; and 260 | 261 | c. indicate the Licensed Material is licensed under this 262 | Public License, and include the text of, or the URI or 263 | hyperlink to, this Public License. 264 | 265 | 2. You may satisfy the conditions in Section 3(a)(1) in any 266 | reasonable manner based on the medium, means, and context in 267 | which You Share the Licensed Material. For example, it may be 268 | reasonable to satisfy the conditions by providing a URI or 269 | hyperlink to a resource that includes the required 270 | information. 271 | 272 | 3. If requested by the Licensor, You must remove any of the 273 | information required by Section 3(a)(1)(A) to the extent 274 | reasonably practicable. 275 | 276 | b. ShareAlike. 277 | 278 | In addition to the conditions in Section 3(a), if You Share 279 | Adapted Material You produce, the following conditions also apply. 280 | 281 | 1. The Adapter's License You apply must be a Creative Commons 282 | license with the same License Elements, this version or 283 | later, or a BY-SA Compatible License. 284 | 285 | 2. You must include the text of, or the URI or hyperlink to, the 286 | Adapter's License You apply. You may satisfy this condition 287 | in any reasonable manner based on the medium, means, and 288 | context in which You Share Adapted Material. 289 | 290 | 3. You may not offer or impose any additional or different terms 291 | or conditions on, or apply any Effective Technological 292 | Measures to, Adapted Material that restrict exercise of the 293 | rights granted under the Adapter's License You apply. 294 | 295 | 296 | Section 4 -- Sui Generis Database Rights. 297 | 298 | Where the Licensed Rights include Sui Generis Database Rights that 299 | apply to Your use of the Licensed Material: 300 | 301 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 302 | to extract, reuse, reproduce, and Share all or a substantial 303 | portion of the contents of the database; 304 | 305 | b. if You include all or a substantial portion of the database 306 | contents in a database in which You have Sui Generis Database 307 | Rights, then the database in which You have Sui Generis Database 308 | Rights (but not its individual contents) is Adapted Material, 309 | 310 | including for purposes of Section 3(b); and 311 | c. You must comply with the conditions in Section 3(a) if You Share 312 | all or a substantial portion of the contents of the database. 313 | 314 | For the avoidance of doubt, this Section 4 supplements and does not 315 | replace Your obligations under this Public License where the Licensed 316 | Rights include other Copyright and Similar Rights. 317 | 318 | 319 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 320 | 321 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 322 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 323 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 324 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 325 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 326 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 327 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 328 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 329 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 330 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 331 | 332 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 333 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 334 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 335 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 336 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 337 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 338 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 339 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 340 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 341 | 342 | c. The disclaimer of warranties and limitation of liability provided 343 | above shall be interpreted in a manner that, to the extent 344 | possible, most closely approximates an absolute disclaimer and 345 | waiver of all liability. 346 | 347 | 348 | Section 6 -- Term and Termination. 349 | 350 | a. This Public License applies for the term of the Copyright and 351 | Similar Rights licensed here. However, if You fail to comply with 352 | this Public License, then Your rights under this Public License 353 | terminate automatically. 354 | 355 | b. Where Your right to use the Licensed Material has terminated under 356 | Section 6(a), it reinstates: 357 | 358 | 1. automatically as of the date the violation is cured, provided 359 | it is cured within 30 days of Your discovery of the 360 | violation; or 361 | 362 | 2. upon express reinstatement by the Licensor. 363 | 364 | For the avoidance of doubt, this Section 6(b) does not affect any 365 | right the Licensor may have to seek remedies for Your violations 366 | of this Public License. 367 | 368 | c. For the avoidance of doubt, the Licensor may also offer the 369 | Licensed Material under separate terms or conditions or stop 370 | distributing the Licensed Material at any time; however, doing so 371 | will not terminate this Public License. 372 | 373 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 374 | License. 375 | 376 | 377 | Section 7 -- Other Terms and Conditions. 378 | 379 | a. The Licensor shall not be bound by any additional or different 380 | terms or conditions communicated by You unless expressly agreed. 381 | 382 | b. Any arrangements, understandings, or agreements regarding the 383 | Licensed Material not stated herein are separate from and 384 | independent of the terms and conditions of this Public License. 385 | 386 | 387 | Section 8 -- Interpretation. 388 | 389 | a. For the avoidance of doubt, this Public License does not, and 390 | shall not be interpreted to, reduce, limit, restrict, or impose 391 | conditions on any use of the Licensed Material that could lawfully 392 | be made without permission under this Public License. 393 | 394 | b. To the extent possible, if any provision of this Public License is 395 | deemed unenforceable, it shall be automatically reformed to the 396 | minimum extent necessary to make it enforceable. If the provision 397 | cannot be reformed, it shall be severed from this Public License 398 | without affecting the enforceability of the remaining terms and 399 | conditions. 400 | 401 | c. No term or condition of this Public License will be waived and no 402 | failure to comply consented to unless expressly agreed to by the 403 | Licensor. 404 | 405 | d. Nothing in this Public License constitutes or may be interpreted 406 | as a limitation upon, or waiver of, any privileges and immunities 407 | that apply to the Licensor or You, including from the legal 408 | processes of any jurisdiction or authority. 409 | 410 | 411 | ======================================================================= 412 | 413 | Creative Commons is not a party to its public licenses. 414 | Notwithstanding, Creative Commons may elect to apply one of its public 415 | licenses to material it publishes and in those instances will be 416 | considered the "Licensor." Except for the limited purpose of indicating 417 | that material is shared under a Creative Commons public license or as 418 | otherwise permitted by the Creative Commons policies published at 419 | creativecommons.org/policies, Creative Commons does not authorize the 420 | use of the trademark "Creative Commons" or any other trademark or logo 421 | of Creative Commons without its prior written consent including, 422 | without limitation, in connection with any unauthorized modifications 423 | to any of its public licenses or any other arrangements, 424 | understandings, or agreements concerning use of licensed material. For 425 | the avoidance of doubt, this paragraph does not form part of the public 426 | licenses. 427 | 428 | Creative Commons may be contacted at creativecommons.org. 429 | -------------------------------------------------------------------------------- /src/main/webapp/font/material-design-icons/Material-Design-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/material-design-icons/Material-Design-Icons.eot -------------------------------------------------------------------------------- /src/main/webapp/font/material-design-icons/Material-Design-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/material-design-icons/Material-Design-Icons.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/material-design-icons/Material-Design-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/material-design-icons/Material-Design-Icons.woff -------------------------------------------------------------------------------- /src/main/webapp/font/material-design-icons/Material-Design-Icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/material-design-icons/Material-Design-Icons.woff2 -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Bold.eot -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Light.eot -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Medium.eot -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Regular.eot -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Thin.eot -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /src/main/webapp/font/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/font/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /src/main/webapp/ico/itronys.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/ico/itronys.ico -------------------------------------------------------------------------------- /src/main/webapp/img/barcelona.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/barcelona.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/bayern.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/bayern.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/contact.png -------------------------------------------------------------------------------- /src/main/webapp/img/eguntianshi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/eguntianshi.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/facebook.png -------------------------------------------------------------------------------- /src/main/webapp/img/football.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/football.png -------------------------------------------------------------------------------- /src/main/webapp/img/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/github.png -------------------------------------------------------------------------------- /src/main/webapp/img/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/logo.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/me.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/me.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/music.png -------------------------------------------------------------------------------- /src/main/webapp/img/qitiandasheng.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/qitiandasheng.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/qrcode.png -------------------------------------------------------------------------------- /src/main/webapp/img/recomic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/recomic.png -------------------------------------------------------------------------------- /src/main/webapp/img/reeducation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/reeducation.png -------------------------------------------------------------------------------- /src/main/webapp/img/reevaluate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/reevaluate.png -------------------------------------------------------------------------------- /src/main/webapp/img/refootball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/refootball.png -------------------------------------------------------------------------------- /src/main/webapp/img/reinterest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/reinterest.png -------------------------------------------------------------------------------- /src/main/webapp/img/removie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/removie.png -------------------------------------------------------------------------------- /src/main/webapp/img/remusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/remusic.png -------------------------------------------------------------------------------- /src/main/webapp/img/repersonal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/repersonal.png -------------------------------------------------------------------------------- /src/main/webapp/img/skill01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/skill01.png -------------------------------------------------------------------------------- /src/main/webapp/img/skill02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/skill02.png -------------------------------------------------------------------------------- /src/main/webapp/img/skill03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/skill03.png -------------------------------------------------------------------------------- /src/main/webapp/img/skill04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/skill04.png -------------------------------------------------------------------------------- /src/main/webapp/img/skill05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/skill05.png -------------------------------------------------------------------------------- /src/main/webapp/img/techlist1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/techlist1.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/twitter.png -------------------------------------------------------------------------------- /src/main/webapp/img/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/video.png -------------------------------------------------------------------------------- /src/main/webapp/img/wanmingzhuizhong.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/wanmingzhuizhong.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/work1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/work1.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/work2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/work2.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/work3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/work3.jpg -------------------------------------------------------------------------------- /src/main/webapp/img/work4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/src/main/webapp/img/work4.jpg -------------------------------------------------------------------------------- /src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 123 | 124 | 125 | 126 | 127 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /src/main/webapp/me/contact.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 127 | 128 | 129 | 130 | 131 | 174 | 175 | 176 | -------------------------------------------------------------------------------- /src/main/webapp/me/life.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 209 | 210 | 211 | 212 | 213 | 218 | 219 | 220 | -------------------------------------------------------------------------------- /src/main/webapp/me/resume.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 303 | 304 | 305 | 306 | 307 | 312 | 313 | 314 | -------------------------------------------------------------------------------- /src/main/webapp/me/tech.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 158 | 159 | 160 | 161 | 162 | 167 | 168 | 169 | -------------------------------------------------------------------------------- /src/main/webapp/me/tech_article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | 17 |
18 |
19 | itronys 20 |
21 |
22 | 30 |
31 |
32 | 33 |
34 |
35 |
36 |
37 | 关于 38 |
39 |
40 | 工作 41 |
42 |
43 | 简历 44 |
45 |
46 | 联系 47 |
48 |
49 |
50 |
51 | 71 | 72 | 73 | 74 | 75 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /src/main/webapp/me/work.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | itronys 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 |
21 | itronys 22 |
23 |
24 | 32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 | 关于 40 |
41 |
42 | 工作 43 |
44 |
45 | 简历 46 |
47 |
48 | 联系 49 |
50 |
51 |
52 |
53 | 111 | 112 | 113 | 114 | 115 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /src/main/webapp/me/work_article.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | 17 |
18 |
19 | itronys 20 |
21 |
22 | 30 |
31 |
32 | 33 |
34 |
35 |
36 |
37 | 关于 38 |
39 |
40 | 工作 41 |
42 |
43 | 简历 44 |
45 |
46 | 联系 47 |
48 |
49 |
50 |
51 | 71 | 72 | 73 | 74 | 75 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /target/classes/com/itron/action/BaseAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/action/BaseAction.class -------------------------------------------------------------------------------- /target/classes/com/itron/action/MessageAction.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/action/MessageAction.class -------------------------------------------------------------------------------- /target/classes/com/itron/dao/BaseDaoI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/dao/BaseDaoI.class -------------------------------------------------------------------------------- /target/classes/com/itron/dao/impl/BaseDaoImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/dao/impl/BaseDaoImpl.class -------------------------------------------------------------------------------- /target/classes/com/itron/model/Message.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/model/Message.class -------------------------------------------------------------------------------- /target/classes/com/itron/receive/Rmessage.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/receive/Rmessage.class -------------------------------------------------------------------------------- /target/classes/com/itron/service/MessageServiceI.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/service/MessageServiceI.class -------------------------------------------------------------------------------- /target/classes/com/itron/service/impl/MessageServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yuanssai/SSH/d83bd3361fc741754e9ed9c554eae76e4f7e4a84/target/classes/com/itron/service/impl/MessageServiceImpl.class -------------------------------------------------------------------------------- /target/classes/config.properties: -------------------------------------------------------------------------------- 1 | hibernate.dialect=org.hibernate.dialect.MySQLDialect 2 | driverClassName=com.mysql.jdbc.Driver 3 | validationQuery=SELECT 1 4 | jdbc_url=jdbc:mysql://localhost:3306/itronys?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false 5 | jdbc_username=root 6 | jdbc_password=123456 7 | 8 | 9 | hibernate.hbm2ddl.auto=update 10 | hibernate.show_sql=true 11 | hibernate.format_sql=true 12 | 13 | -------------------------------------------------------------------------------- /target/classes/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=INFO,A1,R 2 | 3 | log4j.appender.A1=org.apache.log4j.ConsoleAppender 4 | log4j.appender.A1.Target=System.out 5 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.A1.layout.ConversionPattern=[%c]%m%n 7 | 8 | log4j.appender.R=org.apache.log4j.RollingFileAppender 9 | log4j.appender.R.File=itronys.log 10 | log4j.appender.R.MaxFileSize=10MB 11 | log4j.appender.R.Threshold=ALL 12 | log4j.appender.R.layout=org.apache.log4j.PatternLayout 13 | log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n -------------------------------------------------------------------------------- /target/classes/spring-hibernate.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ${hibernate.hbm2ddl.auto} 52 | ${hibernate.dialect} 53 | ${hibernate.show_sql} 54 | ${hibernate.format_sql} 55 | 56 | 57 | 58 | 59 | 60 | 61 | com.itron.model 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /target/classes/spring.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /target/classes/struts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /target/m2e-jee/web-resources/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Build-Jdk: 1.6.0_43 3 | Built-By: Administrator 4 | Created-By: Maven Integration for Eclipse 5 | 6 | -------------------------------------------------------------------------------- /target/m2e-jee/web-resources/META-INF/maven/itronys/itronys/pom.properties: -------------------------------------------------------------------------------- 1 | #Generated by Maven Integration for Eclipse 2 | #Wed Mar 16 10:21:20 CST 2016 3 | version=0.0.1-SNAPSHOT 4 | groupId=itronys 5 | m2e.projectName=itronys 6 | m2e.projectLocation=C\:\\MyWork\\MyEclipse\\itronys\\itronys 7 | artifactId=itronys 8 | -------------------------------------------------------------------------------- /target/m2e-jee/web-resources/META-INF/maven/itronys/itronys/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | itronys 4 | itronys 5 | 0.0.1-SNAPSHOT 6 | war 7 | itronys 8 | 9 | 10 | UTF-8 11 | 12 | 13 | 14 | 15 | 16 | 17 | javax.servlet 18 | javax.servlet-api 19 | 4.0.0-b01 20 | 21 | 22 | 23 | 24 | junit 25 | junit 26 | 4.12 27 | 28 | 29 | 30 | 31 | com.alibaba 32 | fastjson 33 | 1.2.7 34 | 35 | 36 | 37 | 38 | org.aspectj 39 | aspectjweaver 40 | 1.8.7 41 | 42 | 43 | 44 | 45 | log4j 46 | log4j 47 | 1.2.17 48 | 49 | 50 | 51 | 52 | org.apache.struts 53 | struts2-core 54 | 2.3.24.1 55 | 56 | 57 | javassist 58 | javassist 59 | 60 | 61 | 62 | 63 | org.apache.struts 64 | struts2-spring-plugin 65 | 2.3.24.1 66 | 67 | 68 | org.apache.struts 69 | struts2-convention-plugin 70 | 2.3.24.1 71 | 72 | 73 | 74 | 75 | javax.transaction 76 | jta 77 | 1.1 78 | 79 | 80 | 81 | 82 | mysql 83 | mysql-connector-java 84 | 5.1.38 85 | 86 | 87 | 88 | 89 | com.alibaba 90 | druid 91 | 1.0.16 92 | 93 | 94 | 95 | 96 | org.hibernate 97 | hibernate-core 98 | 5.0.6.Final 99 | 100 | 101 | 102 | 103 | org.springframework 104 | spring-core 105 | 4.2.4.RELEASE 106 | 107 | 108 | org.springframework 109 | spring-beans 110 | 4.2.4.RELEASE 111 | 112 | 113 | org.springframework 114 | spring-context 115 | 4.2.4.RELEASE 116 | 117 | 118 | org.springframework 119 | spring-web 120 | 4.2.4.RELEASE 121 | 122 | 123 | org.springframework 124 | spring-orm 125 | 4.2.4.RELEASE 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | maven-compiler-plugin 134 | 2.3.2 135 | 136 | 1.6 137 | 1.6 138 | 139 | 140 | 141 | maven-war-plugin 142 | 2.2 143 | 144 | 3.0 145 | false 146 | 147 | 148 | 149 | 150 | --------------------------------------------------------------------------------