首先新建一个web Project(tgb_ssh),右击项目选中Configure—Convert to Maven Project,Finish!下面是pom.xml配置:
4.0.0tgb_sshtgb_ssh1.0-SNAPSHOTwarsrcmaven-compiler-plugin3.01.61.6maven-war-plugin2.3WebContentfalseorg.hibernatehibernate3.2.7.gaxdocletxdoclet1.2.3org.springframeworkspring-orm3.0.0.RELEASEorg.springframeworkspring-orm3.0.0.RELEASEorg.springframeworkspring-web3.0.0.RELEASEstrutsstruts1.2.9javax.servletservlet-api2.5org.springframeworkspring-aop3.0.0.RELEASEorg.aspectjaspectjweaver1.7.1mysqlmysql-connector-java5.0.2org.springframeworkspring-struts3.0.0.RELEASEjavajava official repositoryhttp://download.java.net/maven/2/
下面是我整个项目包结构的一张截图,后面提及的类及配置文件请对号入座:
自底而上,先创建数据库:test_ssh,在domain包下创建一个实体类User.java:
package com.tgb.domain;
/**
* 用户实体类
* @author yuanfubiao
*@hibernate.class table="t_user"
*
*/
public class User {
private int id;
private String username;
private String password;
/**
* @hibernate.id generator-class="native"
*/
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
/**
* @hibernate.property
*/
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
/**
* @hibernate.property
*/
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.tgb.dao;
import com.tgb.domain.User;
public interface UserDao {
public void addUser(User user);
public User findUserByName(String userName);
}
UserDaoImpl.java
package com.tgb.dao;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.tgb.domain.User;
public class UserDaoImpl extends HibernateDaoSupport implements UserDao{
@Override
public void addUser(User user) {
getHibernateTemplate().save(user);
}
@Override
public User findUserByName(String userName) {
return (User)getHibernateTemplate().load(User.class, userName);
}
}
package com.tgb.manager;
import com.tgb.domain.User;
public interface UserManager {
public void addUser(User user);
public User findUserByName(String userName);
}
UserManagerImpl.java
package com.tgb.manager;
import com.tgb.dao.UserDao;
import com.tgb.domain.User;
public class UserManagerImpl implements UserManager {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void addUser(User user) {
userDao.addUser(user);
}
@Override
public User findUserByName(String userName) {
return userDao.findUserByName(userName);
}
}
Web包下分别创建UserAction和UserActionForm两个类,如下:
UserActionForm.java
package com.tgb.web;
import org.apache.struts.action.ActionForm;
public class UserActionForm extends ActionForm {
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
UserAction.java
package com.tgb.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.tgb.domain.User;
import com.tgb.manager.UserManager;
public class UserAction extends Action {
private UserManager userManager;
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserActionForm uaf = (UserActionForm)form;
User user = new User();
user.setUsername(uaf.getUserName());
user.setPassword(uaf.getPassword());
userManager.addUser(user);
return mapping.findForward("success");
}
}
范型参数不仅仅可以用于类型的声明上,例如
package com.tom.lang.generics;
import java.util.List;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value =
How to generate a globally unique identifier in Java
http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log
http://stackoverflow
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。
本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架
各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文
hostname // to display the computer name
hostname <changed name> // to change
go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately
dont forget to change /etc/hosts
Java代码:
public class test03 {
public static void main(String[] args) {
int[][] a = {{1},{2,3},{4,5,6}};
System.out.println(a[0][1]);
}
}
运行结果:
Exception in thread "mai