Intellij IDEA Java web 项目搭建
Java web 项目搭建
简介
在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个java web项目
Spring MVC+Spring+Hibernate结构介绍如下:
- Spring MVC
Spring MVC的职责是作为web层框架,实现了我们常见的MVC模式- Spring
Spring 作为服务层,利用自身特性IOC、AOP,提供数据从DAO层到Web层的桥梁作用。- Hibernate
Hibernate作为熟知的ORM框架,提供了从数据库读取数据映射到实体的功能,这里我们将Hibernate服务于DAO层
项目结构###
基于Spring MVC+Spring+Hibernate架构,面向接口编程,搭建项目,分为Model、DAO、Service、ViewModel、Web层,具体介绍如下
- Model
分为数据库实体和逻辑model两块,提供DAO和Service的数据实体和业务逻辑model- DAO
基于Hibernate,提供数据库读取,提供基本的增删改查和数据访问功能,供Service调用- Service
业务逻辑层,通过调用DAO的提供的数据访问接口,整合业务逻辑,将数据提供给Web层,基于Spring的依赖注入和切面编程,提供面向接口的服务- ViewModel
页面展现model,提供给web层- Web
提供一个用户界面,调用Service提供的数据接口,实现用户交互操作
项目搭建
基于Intellij IDEA开发工具,搭建Web项目,依赖了Hibernate,Spring ,Spring MVC等框架,具体搭建如下
创建整体项目
1.打开Intellij,File-->New Project,选择Maven,下一步,输入Group ID和ArtifactId,如下图所示

2.输入项目名称com.ganji.demo,点击finish,项目创建完成添加Model模块
1.添加model模块
打开Intellij,File-->New Maven,选择Maven,下一步,输入GroupID和ArtifactId,如下图所示,注意Parent隶属于com.ganji.demo,继续model name填写com.ganji.demo.model

2.添加实体
可以通过安装hibernate自动将数据库表映射成实体类,添加实体的办法如下
- 在resources下配置数据库连接文件,gcrm.cfg.xml,具体内容如下
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://ip地址:端口号/数据库名</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">username</property>
<property name="connection.password">pwd</property>
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
添加后,右上角会提示Add to hibernate facet configuration,点击添加,下面生成实体会用到。
- 在项目名称上,右键添加Add Framework Support,左侧勾选Hibernate,然后ok即可。
- 菜单栏View-->Tool Window-->Persistence,打开Persistence。
- 在Persistence model项目上右键,Generate Persistence Mapping-->By Database Schema,
- 配置生成数据库实体类,具体配置如下

添加DAO模块
1.添加dao模块
打开Intellij,File-->New Maven,选择Maven,下一步,输入GroupID和ArtifactId,注意Parent隶属于com.ganji.demo,继续model name填写com.ganji.demo.dao2.添加dao对model模块的引用
在dao模块上,右键Open Model Settings,点击右侧绿色+号,选择Module Dependency,选择model模块即可3.添加对Hibernate框架的引用
在dao模块上,右键Add Framework Support,选择hibernate,然后确定即可。添加Service模块
1.添加service模块
打开Intellij,File-->New Maven,选择Maven,下一步,输入相应GroupID和ArtifactId,注意Parent隶属于com.ganji.demo,继续model name填写com.ganji.demo.service2.添加model、dao模块的引用
同dao模块添加model引用添加ViewModel模块
1.添加viewmodel模块
打开Intellij,File-->New Maven,选择Maven,下一步,输入相应GroupID和ArtifactId,注意Parent隶属于com.ganji.demo,继续model name填写com.ganji.demo.viewmodel添加Web模块
1.添加web模块
打开Intellij,File-->New Maven,选择Maven,勾选create from archetype,选择maven -archetype-webapp,下一步,输入相应GroupID和ArtifactId,注意Parent隶属于com.ganji.demo,继续model name填写com.ganji.demo.web2.添加对service、viewmodel、model模块的引用
同dao模块添加model引用3、添加对spring mvc framework的引用
在dao模块上,右键Add Framework Support,选择spring-->spring mvc,然后确定即可。4、配置web.xml文件
配置web.xml,添加servlet属性,作为web容器,进行url的分发操作
配置文件如下:<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<!-- Handles all requests into the application -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocatin</param-name>
<param-value>classpath:dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
5、配置dispatcher-servlet.xml
在webapp,web-inf目录下,添加dispatcher-servlet.xml,上述web.xml中servlet指定的分发配置文件,配置如下内容<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" > <!--开启注解映射支持-->
<mvc:annotation-driven/> <!-- 开启controller注解支持 -->
<!-- use-default-filters="false" 只扫描指定的注解 -->
<context:component-scan base-package="com.ganji.demo.web.controller" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan> <!-- 开启视图解析支持 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/view/"></property>
<property name="suffix" value=".jsp"></property>
</bean> <!--开启依赖注入-->
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<bean id="demoUserService" class="com.ganji.demo.service.user.DemoUserServiceImpl"></bean> </beans>
参考资料
IntelliJ IDEA 12 与 Tomcat 集成并运行Web项目
使用Intellij IDEA从零使用Spring MVC
Intellij IDEA创建Maven Web项目
IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
SpringMVC学习系列(2) 之 经典的HelloWorld实现
SpringMVC入门教程
spring mvc ModelAndView的 Model 值 在jsp中不显示
Intellij IDEA Java web 项目搭建的更多相关文章
- Java web 项目搭建
Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...
- intellij 创建java web项目(maven管理的SSH)
intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...
- 一个简单的Java Web项目搭建流程
今天试图在服务器上搭建一个web服务器,顺便回顾了java web项目的入门,使用Servlet处理HTTP请求,并记录日志等操作.当很久没有做过web项目时,有些东西还是很容易忘记的. Maven配 ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
- Java Web项目搭建过程记录(struts2)
开发工具:eclipse 搭建环境:jdk1.7 tomcat 8.0 基础的java开发环境搭建过程不再赘述,下面从打开eclipse 之后的操作开始 第一步: 创建项目,File -> ...
- Java web项目搭建系列之一 Eclipse中新建Maven项目
前提条件: 已经安装好JDK 已经安装好Maven 已经安装好Eclipse 已经安装好Maven插件 在Eclipse中新建Maven项目 [File]→[New]→[Other...] [Mave ...
- Java web项目搭建系列之二 Jetty下运行项目
在项目pom.xml文件中添加Jetty运行配置 在pom.xml文件project节点下插入如下代码: <build> <plugins> <plugin> &l ...
- 微信公众号开发 包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证 2017.12.2
https://www.cnblogs.com/klmei/p/7060879.html 基础配置很全面
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring ...
随机推荐
- Java在处理大数据的时候一些小技巧
Java在处理大数据的时候一些小技巧 发布时间:2013-05-09 00:00:00 来源:中国IT实验室 作者:佚名 关键字:Java 众所周知,java在处理数据量比较大的时候,加载到内存必 ...
- IntelliJ IDEA 2016.2激活方法
IntelliJ IDEA 2016.2激活 激活码 43B4A73YYJ-> eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoib ...
- Asp.Net MVC4入门指南(4):添加一个模型
在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术En ...
- android app上线后bug的处理
app上线后,后期维护显得尤为重要,今天给大家分享一下app上线后出现bug后的解决方法 1.继承Application类,重写onCreate方法 import java.io.File; impo ...
- 搭建高可用mongodb集群(一)——配置mongodb
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过 ...
- javascript面向对象(三)
主要内容: 利用原型链的方式实现继承: 原型继承的特点:即继承了父类的模板,也继承了父类的原型对象. 类继承:只继承模板(借用构造函数的方式继承). 利用call.apply方法实现: 混合继承: 扩 ...
- 123. Best Time to Buy and Sell Stock (三) leetcode解题笔记
123. Best Time to Buy and Sell Stock III Say you have an array for which the ith element is the pric ...
- fuse入门
参考1 http://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/html/running.html 参考2 http://www.maastaar.net/fus ...
- nodejs的url参数获取
express封装了多种http请求方式,我们主要使用get和post两种,即qpp.get和qpp.post.qpp.get和qpp.post的第一个参数都为请求的路径,第二个参数为处理请求的回调函 ...
- WinForm应用只运行一次
一.WinForm应用只能运行一次 static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [ST ...