简单粗暴JavaWeb(基于SpringMvc+Maven+Mysql)-第一篇:web工程搭建
2017-10-28 20:51
501 查看
1、利用maven骨架直接建立基础工程
使用的软件为idea,首先file-new-project选择maven,使用archetype(骨架)建立一个简单的webapp工程,具体选择Archetype是maven中的骨架/原型,可以理解为代码工程原型,通过maven-archetype-webapp就可以快速建立一个webapp工程,同理,通过maven-archetype-quickstart可以快速建立一个简单的java工程。点击next后填入工程坐标:
GroupId是机构号,一般形式如com.hanyu,artifactId是工程唯一id,用以区分不同工程,version是版本,开发版本用SNAPSHOT,发布版本用RELEASE。
然后进行maven基础配置,maven home directory是用于此工程的maven文件夹的bin文件夹所在目录:
Usersetting file是此工程用的setting.xml,setting.xml类似pom,但更像一个稳定用于多个工程的pom文件,所以其中的内容共用性多于独特性,settings.xml有全局版和用户版,用户版一般放在.m2文件夹中;local repository是本地仓库,也就是maven通过依赖下载的包的本地存储地址。
然后最后进行工程目录等设置,默认即可
finish后完成骨架构建。
每当新打开工程之后,或者加入依赖之后,会有此标志,代表下载更新,点击import changes即可
结束之后,第一步利用maven搭建项目骨架就完成了,非常简单。刚完成时工程结构如图
2、通过配置pom文件下载需要的包(例如SpringMvc等相关的包)以及完善工程文件组成结构
这里附上我的pom,按照这个来的话,不会有错(虽然不保证有没有冗余,等以后精通了再来清理)<project xmlns="http://maven.apach d83e e.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>www.codefeather</groupId> <artifactId>testMavenProject001</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>testMavenProject001 Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.1.RELEASE</version> </dependency> <!--spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.1.RELEASE</version> </dependency> <!--Spring Web + Spring MVC--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.1.RELEASE</version> </dependency> <!--json支持--> <!-- https://mvnrepository.com/artifact/org.json/json --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160212</version> </dependency> <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.8.3</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/net.sf.ezmorph/ezmorph --> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>1.0.6</version> </dependency> <!--json serialize and deserialization--> <!-- 引入fastjson依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.12</version> </dependency> <!-- 引入gson依赖 --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.6.2</version> </dependency> <!--NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config--> <!-- https://mvnrepository.com/artifact/jstl/jstl --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.4.6.v20170531</version> </dependency> </dependencies> <build> <finalName>testMavenProject001</finalName> </build> </project>
更新后,将文件目录标准化,因为maven就是一个约定优于配置的工具,我们约定了工程目录标准,如图,自己动手将不全的建立,但是要注意把相应的文件夹进行属性的设置:
其中java文件夹配置为source类型,test文件夹配置为test类型,此时会发现页面上工程目录颜色变化了,同时,如果尝试在设置为source类型的java文件夹中建立文件夹,发现只能建立package。
以下内容参考http://www.cnblogs.com/qixiaoyizhan/p/5819392.html,此楼主很热心
3、设置几个配置文件
开始建立配置文件,首先是web.xml,内容如下<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <!-- Spring MVC配置 --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param>--> <!-- load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法) --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> <!--<url-pattern>*.do</url-pattern>--> </servlet-mapping> <!-- Spring配置 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> </web-app>
spring-servlet.xml和classpath:applicationContext.xml标红是因为还没有建立相应文件,下面进行分别建立
在WEB-INF文件夹下面建立spring-servlet.xml文件
<?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-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射--> <mvc:annotation-driven > </mvc:annotation-driven> <!-- 启动包扫描功能,以便注册带有@Controller、@service、@repository、@Component等注解的类成为spring的bean --> <context:component-scan base-package="HelloSpringMvc.controller" /> <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/"/> <!-- 前缀 --> <property name="suffix" value=".jsp"/> <!-- 后缀 --> </bean> </beans>
然后在resources资源文件夹下建立applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- 我们可以在其中添加我们所需要配置的bean,也可以添加相应的数据库连接和事务处理等等,方便后续拓展 --> </beans>
4、写一个简单的控制器controller
好了,现在建立一个controller,如下,注意在java中建立包的时候可能会遇到“想建立同级文件夹却建立了下级”,这个时候通过建立文件夹的时候命名用全名的方式可以解决,比如想在java文件夹下面建立两级包:HelloSpringMvc-controller,这个时候输入HelloSpringMvc.controller即可,如果还想再HelloSpringMvc下建立一个model包,那么直接右键HelloSpringMvc可能不能借建立,这个时候右键java,建立输入HelloSpringMvc.model即可,如图:package HelloSpringMvc.controller; /** * Created by yuhan.shen on 2017/10/25. */ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping(value = "/Test/*") //访问的url地址前缀,可以不写,写了就必须在方法url前面先加上class url 进行区分控制器 public class TestController { //访问地址:http://localhost:8080/Test/returnSuccess @RequestMapping(value = "returnSuccess") //实际访问的url地址 public String returnSuccess() { return "/Views/success"; //返回Views文件夹下的success.jsp页面 } }
由于returnSuccess方法返回的是Views文件夹下的success.jsp,.因此我们在webapp-Views下建立此jsp文件
<%-- Created by IntelliJ IDEA. User: yuhan.shen Date: 2017/10/25 Time: 10:18 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Hello!SpringMvc! </body> </html>
5、利用tomcat加载工程
步骤很简单:然后运行,键入url,http://localhost:8080/Test/returnSuccess,到这里,一个最简单的javaweb工程就建立起来了。
相关文章推荐
- 搭建基于springmvc+freemarker+maven的web项目
- Spring+Mybatis+SpringMVC+Maven+MySql (一)搭建实例idea maven 创建 java web工程
- 搭建基于SpringMVC+MyBatis+Maven的web项目
- 基于Maven项目,搭建Spring+SpringMVC+MyBatis的WEB项目(待更新)
- eclipse搭建maven web 工程,和集成springmvc+mybatis的一些问题
- 基于Maven的SpringMVC+Mybatis+mysql的框架搭建
- 一个基于java web+spring mvc+mysql+maven的helloworld
- 使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)
- SpringMvc+MyBatis+MySQL+Maven+Redis搭建一个基础的web项目
- 使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)
- 基于多个maven module搭建的Spring boot web项目
- Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建
- java 搭建基于springboot的ssm(spring + springmvc + mybatis)的maven项目
- Maven+Spring MVC+MyBatis+dbpc+Mysql Web项目构建
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【一】【构建工程】
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- IDEA web项目搭建(基于spring+maven);tomcat引入
- 从零开始搭建maven+springmvc+mybatis web项目(1)---maven项目目录创建
- springmvc+spring+mybatis+maven+mysql项目(二)Springmvc + ajax 实现javaweb验证码的制作及进行异步验证