目录
按功能模块进行划分。每个模块都建成一个独立的工程。
entity dao service controller
创建父工程
修改pom.xml中的packaging为pom
声明依赖
<dependencyManagement>
<dependencies>
<!-- dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
<!-- c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<!--jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</dependencyManagement>
创建实体类子工程
创建实体类
创建dao子工程
引入依赖
<dependencies>
<dependency>
<groupId>com.offcn</groupId>
<artifactId>offcn_entity</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
创建PersonDao接口
personDao接口的实现类PersonDaoImpl
public class PersonDaoImpl implements PersonDao {
@Override
public List<Person> getPersons() {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
try {
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///aaa");
dataSource.setUser("root");
dataSource.setPassword("root");
QueryRunner qr=new QueryRunner(dataSource);
List<Person> personList=qr.query("select * from person", new BeanListHandler<Person>(Person.class));
return personList;
}catch(Exception e) {
e.printStackTrace();
}
return null;
}
@Override
public Person getPersonById(int id) {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
try {
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///aaa");
dataSource.setUser("root");
dataSource.setPassword("root");
QueryRunner qr=new QueryRunner(dataSource);
Person person=qr.query("select * from person where id=?", new BeanHandler<Person>(Person.class),id);
return person;
}catch(Exception e) {
e.printStackTrace();
}
return null;
}
创建Service子工程
引入依赖
<dependencies>
<dependency>
<groupId>com.offcn</groupId>
<artifactId>offcn_dao</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
接口PersonDao
接口实现类
创建控制层子工程
引入依赖
<dependencies>
<dependency>
<groupId>com.offcn</groupId>
<artifactId>offcn_service</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
创建servlet子工程
引入依赖
<dependencies>
<dependency>
<groupId>com.offcn</groupId>
<artifactId>offcn_service</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<path>/web</path>
<port>8080</port>
</configuration>
</plugin>
</plugins>
</build>
创建servlet
@WebServlet(urlPatterns= {"/persons"})
public class PersonController extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("id");
PersonService personDao=new PersonServiceImpl();
if(id==null){
List<Person> personList=personDao.queryPersons();
request.setAttribute("persons", personList);
request.getRequestDispatcher("/result.jsp").forward(request, response);
}else{
Person person= personDao.queryPersonById(Integer.parseInt(id));
request.setAttribute("person", person);
request.getRequestDispatcher("/person.jsp").forward(request, response);
}
}
}
首先要选择父工程进行安转install
父工程中聚合四个子工程
<modules>
<module>offcn_entity</module>
<module>offcn_dao</module>
<module>offcn_service</module>
<module>offcn_web</module>
</modules>
配置服务器