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要好用