搭建springmvc工程
来源:互联网 发布:软件安全测试报告 编辑:程序博客网 时间:2024/05/16 06:13
1. 用maven2生成web工程
在想要创建工程的路径下,打开cmd,输入命令:
mvn archetype:create -DgroupId=com.sw.webwork -DartifactId=webwork -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-webapp
其中:
archetype:create表示要生成一个工程结构;
-DgroupId=com.sw.webwork:定义了pom文件中的groupId;
-DartifactId=webwork:定义了project名称;
-Dversion=1.0:定义了版本号;
-DarchetypeArtifactId=maven-archetype-webapp 表示要生成的工程类型是web工程,这个不做修改。
运行了该命令后,系统会在当前目录下生成一个名为webwork的文件夹,里面包含了一个src文件夹,还有一个pom.xml文件。
关于groupId和artifactId的概念,可以阅读如jiangshachina的《Maven入门--概念与实例》:http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html
2.将文件夹结构修改为标准项目布局
刚生成的文件夹结构如下:
这不是一个maven标准的文件夹结构,maven的标准项目布局请参看http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html文章。
现在我们所需要做的就是根据maven的标准项目布局来增加一些缺失的文件夹:
1. 在src/main下新增resources文件夹,用于存放配置文件;
2. 在src下新增test文件夹,用于存放测试相关的文件;
3. 在src/test下新增java文件夹,用于存放测试java源文件;
4. 在src/test下新增resources文件夹,用于存放测试用的配置文件;
这样下来之后,文件夹结构变为如下:
3. 添加依赖的jar包
所要依赖jar包的groupId、artifactId和版本号,可以到http://www.mvnrepository.com/ 查询。
4.为项目添加jetty插件
现在我们想验证一下,这个用maven生成的web工程是否可以跑起来。我们可以通过一个名为jetty的嵌入式web容器来运行这个web工程,从而达到验证功能的效果。
我们需要为这个工程添加jetty插件,在pom.xml中,在<build>标签中增加如下一段配置:
<plugins>
<!--Configuring the Jetty Plugin -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>再设置maven compile时的jdk版本,避免默认选择JDK1.3版本进行编译而造成某些问题(http://www.gbsou.com/2009/12/09/1697.html):
<plugin><groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
接下来,我们在webwork根目录运行”mvn jetty:run”命令,待jetty启动后,在浏览器中输入http://localhost:8080/webwork/链接,我们就可以访问第一个Hello world的页面了。
5.添加Spring MVC特性
在web.xml中定义DispatcherServlet,它是Spring MVC的前端控制器:
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
接下来增加servlet mapping,用于指定将交给spring的DispatcherServlet来处理的请求:
<!-- Dispatcher servlet mapping -->
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>然后增加中文支持:
<!-- To support chinese gbk encoding -->
<filter>
<filter-name>CharacterSetEncoding Filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterSetEncoding Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
再增加context-param和ContextLoaderListener,用于监听自定义的bean配置文件:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/*-beans.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
配置好web.xml后,我们还需新增webwork-servlet.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Autodetect POJOs labeled with the @RequestMapping annotation -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<!-- Autodetect methods labeled with the @RequestMapping annotation -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<!-- Autodetect POJOs labeled with the @Controller annotation -->
<context:component-scan base-package="com.sw" />
<!-- Configurer that sets up a shared VelocityEngine for Velocity views -->
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="velocityProperties">
<props>
<prop key="input.encoding">GBK</prop>
<prop key="output.encoding">GBK</prop>
</props>
</property>
<property name="resourceLoaderPath" value="WEB-INF/views/" />
</bean>
<!-- Simple ViewResolver for Velocity, appending ".vm" to logical view names -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="contentType" value="text/html;charset=gbk" />
<property name="suffix" value=".vm" />
</bean>
</beans>
其中前三个是用来支持SpringMVC的annotation的配置,后面两个是用来支持velocity的配置。
在pom.xml中的<dependencies>中添加springmvc的jar包依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>2.5.6</version>
</dependency>再添加velocity的jar包依赖:
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity-dep</artifactId>
<version>1.4</version>
</dependency>
完成后,用mvn jetty:run检测是否能成功启动web服务器。
6. 编写vm和controller
- 搭建springmvc工程
- 搭建springmvc工程
- 搭建springmvc+ibatis+velocity工程
- STS中搭建SpringMVC工程
- STS中搭建SpringMVC工程
- STS中搭建SpringMVC工程
- SpringMVC的maven工程搭建
- 搭建Spring+SpringMVC+MyBatis工程
- eclipse-maven搭建springmvc web工程
- maven搭建SpringMVC+Hibernate+Freemarker工程
- 手把手搭建一个SpringMVC+ibatis 工程
- SpringMVC+Spring搭建web工程环境
- eclipse搭建maven之springmvc工程
- STS环境搭建和STS搭建SpringMVC工程
- eclipse搭建Springmvc工程中容易出现的几个错误
- 如何搭建SSM(SpringMvc+mybatis+Spring)java web工程
- Spring+SpringMVC+MyBatis框架一个简单工程的搭建实例
- SSM(SpringMvc+mybatis+Spring)java web搭建工程
- [ZOJ 1116 ] [ POJ 1911 ] A Well-Formed Problem
- CSDN改版了?
- 智能车(2)
- joomla源代码探析续(二十五)JRequest对象的变量获取过程
- DDD调试opencore/stagefright
- 搭建springmvc工程
- Java with Mr.Seo 徐明浩 01
- joomla源代码探析续(二十六)JUser对象和用户权限判断
- 新版上线,来体验一下
- MEMCACHED(2) 网络线程模型
- joomla源代码探析续(二十七)组件后台如何设置参数
- joomla源代码探析续(二十八) 如何扩展JTable类
- 设置控成为焦点(Focus)和设置WebForm窗体默认按钮(Default Button)
- android.app.Activity