SpringMVC项目结构
这里是项目搭建的大致目录结构
需要注意的是:×××Mapper.xml这个文件不能放在com.mvc.mapper这个包中,因为他不是java文件,所以不会一同编译,也就是说,生成的文件中并不包含这个,所以需要将这个×××Mapper.xml放在resources源文件里,但是又要求×××Mapper.xml所在的文件包名要和他所实现的mapper接口保持一致,所以可以在resources里直接新建一个和com.mvc.mapper一样的文件夹,然后放进去,记住,文件夹新建时需要注意的事项,正确的输入:com/mvc/mapper ,其他的也没有需要特别注意的地方,看着上面的目录结构建就可以了。
下面是pom.xml的依赖包和插件,写的有注释
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0modelVersion> 6 7 <groupId>com.xxxgroupId> 8 <artifactId>maven04artifactId> 9 <version>1.0-SNAPSHOTversion> 10 <packaging>warpackaging> 11 12 <name>maven04 Maven Webappname> 13 <url>http://www.example.comurl> 14 15 16 <properties> 17 <project.build.name>maven04project.build.name> 18 <project.build.sourceEncoding>UTF-8project.build.sourceEncoding> 19 <spring.version>4.2.6.RELEASEspring.version> 20 <mybatis.version>3.3.0mybatis.version> 21 <maven.compiler.source>1.8maven.compiler.source> 22 <maven.compiler.target>1.8maven.compiler.target> 23 properties> 24 25 26 <dependencies> 27 28 <dependency> 29 <groupId>javax.servletgroupId> 30 <artifactId>javax.servlet-apiartifactId> 31 <version>3.0.1version> 32 <scope>providedscope> 33 dependency> 34 35 36 <dependency> 37 <groupId>org.springframeworkgroupId> 38 <artifactId>spring-webmvcartifactId> 39 <version>${spring.version}version> 40 dependency> 41 <dependency> 42 <groupId>org.springframeworkgroupId> 43 <artifactId>spring-jdbcartifactId> 44 <version>${spring.version}version> 45 dependency> 46 <dependency> 47 <groupId>org.springframeworkgroupId> 48 <artifactId>spring-txartifactId> 49 <version>${spring.version}version> 50 dependency> 51 <dependency> 52 <groupId>org.springframeworkgroupId> 53 <artifactId>spring-aspectsartifactId> 54 <version>${spring.version}version> 55 dependency> 56 <dependency> 57 <groupId>org.springframeworkgroupId> 58 <artifactId>spring-webartifactId> 59 <version>${spring.version}version> 60 dependency> 61 62 63 <dependency> 64 <groupId>org.slf4jgroupId> 65 <artifactId>slf4j-log4j12artifactId> 66 <version>1.7.25version> 67 dependency> 68 69 70 <dependency> 71 <groupId>com.fasterxml.jackson.coregroupId> 72 <artifactId>jackson-databindartifactId> 73 <version>2.3.3version> 74 dependency> 75 76 77 <dependency> 78 <groupId>org.mybatisgroupId> 79 <artifactId>mybatisartifactId> 80 <version>${mybatis.version}version> 81 dependency> 82 83 84 <dependency> 85 <groupId>org.mybatisgroupId> 86 <artifactId>mybatis-springartifactId> 87 <version>1.2.3version> 88 dependency> 89 90 91 <dependency> 92 <groupId>org.apache.tomcatgroupId> 93 <artifactId>tomcat-dbcpartifactId> 94 <version>9.0.37version> 95 dependency> 96 97 98 <dependency> 99 <groupId>junitgroupId> 100 <artifactId>junitartifactId> 101 <version>4.12version> 102 <scope>testscope> 103 dependency> 104 105 106 107 <dependency> 108 <groupId>com.oraclegroupId> 109 <artifactId>ojdbc6artifactId> 110 <version>11.2.0version> 111 dependency> 112 113 114 <dependency> 115 <groupId>javax.servletgroupId> 116 <artifactId>jstlartifactId> 117 <version>1.2version> 118 dependency> 119 120 121 <dependency> 122 <groupId>commons-fileuploadgroupId> 123 <artifactId>commons-fileuploadartifactId> 124 <version>1.3.2version> 125 dependency> 126 <dependency> 127 <groupId>commons-iogroupId> 128 <artifactId>commons-ioartifactId> 129 <version>2.5version> 130 dependency> 131 132 dependencies> 133 134 <build> 135 <finalName>maven04finalName> 136 137 138 <plugins> 139 140 141 <plugin> 142 <groupId>org.eclipse.jettygroupId> 143 <artifactId>jetty-maven-pluginartifactId> 144 <version>9.3.14.v20161028version> 145 <configuration> 146 <webAppConfig> 147 <maxFormContentSize>600000maxFormContentSize> 148 <contextPath>/contextPath> 149 webAppConfig> 150 <scanIntervalSeconds>10scanIntervalSeconds> 151 <webAppSourceDirectory>${basedir}/webapp/webAppSourceDirectory> 152 <stopPort>9998stopPort> 153 <stopKey>stopstopKey> 154 <jettyConfig/> 155 <systemProperties> 156 <systemProperty> 157 <name>UrlEncodedname> 158 <value>GBKvalue> 159 systemProperty> 160 systemProperties> 161 configuration> 162 plugin> 163 164 165 166 <plugin> 167 <groupId>org.apache.tomcat.mavengroupId> 168 <artifactId>tomcat7-maven-pluginartifactId> 169 <version>2.2version> 170 <configuration> 171 <port>8088port> 172 <path>/path> 173 <uriEncoding>UTF-8uriEncoding> 174 configuration> 175 plugin> 176 177 178 plugins> 179 180 build> 181 project>
如果写完后发现好多依赖都是爆红,只需要按照下面的步骤做就好了。等他讲依赖都下载完毕或就不会爆红了,
web.xml配置
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 5 version="4.0"> 6 7 <display-name>mvadisplay-name> 8 <welcome-file-list> 9 <welcome-file>lwlwelcome-file> 10 welcome-file-list> 11 12 13 <servlet> 14 <servlet-name>SpringMVCservlet-name> 15 16 <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class> 17 18 <load-on-startup>1load-on-startup> 19 servlet> 20 21 <servlet-mapping> 22 <servlet-name>SpringMVCservlet-name> 23 24 <url-pattern>/url-pattern> 25 26 <url-pattern>/lwlurl-pattern> 27 servlet-mapping> 28 29 30 <context-param> 31 <param-name>log4jConfigLocationparam-name> 32 <param-value>/WEB-INF/log4j.propertiesparam-value> 33 context-param> 34 <listener> 35 <listener-class>org.springframework.web.util.Log4jConfigListenerlistener-class> 36 listener> 37 38 web-app>
Spring-servlet.xml配置
1 <beans xmlns="http://www.springframework.org/schema/beans" 2 xmlns:context="http://www.springframework.org/schema/context" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:mvc="http://www.springframework.org/schema/mvc" 5 xmlns:aop="http://www.springframework.org/schema/aop" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 8 http://www.springframework.org/schema/context 9 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.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> 10 11 12 13 <context:component-scan base-package="com.mvc"/> 14 15 <mvc:annotation-driven>mvc:annotation-driven> 16 17 <mvc:resources location="/static/" mapping="/static/**">mvc:resources> 18 19 20 21 <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource"> 22 <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">property> 23 <property name="url" value="jdbc:oracle:thin:@192.168.1.3:1521:xe">property> 24 <property name="username" value="lwl">property> 25 <property name="password" value="123456">property> 26 <property name="initialSize" value="5">property> 27 <property name="maxIdle" value="2">property> 28 bean> 29 30 31 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 32 <property name="dataSource" ref="dataSource"/> 33 <property name="mapperLocations" value="classpath:com/mvc/mapper/*.xml"/> 34 <property name="typeAliasesPackage" value="com.mvc.model">property> 35 bean> 36 37 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 38 <property name="basePackage" value="com.mvc.mapper">property> 39 <property name="sqlSessionFactory" ref="sqlSessionFactory">property> 40 bean> 41 42 <aop:aspectj-autoproxy proxy-target-class="true">aop:aspectj-autoproxy> 43 44 45 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 46 <property name="prefix" value="/WEB-INF/jsp/">property> 47 <property name="suffix" value=".jsp">property> 48 bean> 49 50 51 beans>
log4j.properties配置文件
1 #log level DEBUG/INFO/WERN/ERROR/FATAL 2 log4j.rootLogger=DEBUG,A1,A2 3 4 # console 5 log4j.appender.A1=org.apache.log4j.ConsoleAppender 6 log4j.appender.A1.layout=org.apache.log4j.PatternLayout 7 log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n 8 9 # file 10 log4j.appender.A2=org.apache.log4j.FileAppender 11 log4j.appender.A2.File=d:/abc.log 12 log4j.appender.A2.Append=true 13 log4j.appender.A2.layout=org.apache.log4j.PatternLayout 14 log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
访问服务器可以使用jetty和tomcat,首先使用jetty,方法:
点击编辑
然后选择添加一个maven
然后点击右下角的Apply--->OK后就出现配置好的jetty
点击小箭头即可使用jetty方式运行,即可看到如下图所示的代码,此时打开浏览器输入localhost:8080即可访问。
使用tomcat运行项目
同样的方式新建一个Tomcat,然后点击小箭头后运行:
控制台会打印如下代码:直接打开这个地址,即可访问到项目的页面,所以从这个方面来说,Tomcat确实比jetty要好用