搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
-
2017一月23
-
转载自:http://blog.csdn.net/jdjdndhj/article/details/54691894
搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)
分类:框架学习笔记web开发技术
(29) (0) 举报 收藏
上一篇我们已经新建完了项目,并使用maven成功导入了所需要的jar包,接下来我们就开始对项目进行配置并完成代码书写。
三、配置SpringMVC框架环境
1、配置spring-xxxx.xml(名字任取)
在项目resources文件夹下新建一个xml文件,命名为spring-springmvcConfig.xml,这个文件名称可以任取。
新建xml文件如下:[html] view plain copy print?- <?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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
- </beans>
<?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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> </beans>
spring mvc框架从名称上就可以知道,他和其他的MVC框架结构类似。由三部分组成:model、views、controller,model一般就是一些基本的Javabean,views部分就是页面部分,controller用于处理一些请求。
在xml配置中,我们可以配置指定controller所处的包,让系统自动扫描该包下的所有controller,[html] view plain copy print?- <!--指明 controller 所在包,并扫描其中的注解-->
- <context:component-scan base-package="com.promonkey.controller"/>
<!--指明 controller 所在包,并扫描其中的注解--><context:component-scan base-package="com.promonkey.controller"/>
如果我们使用注解实现的话还需要开启注解配置:
[html] view plain copy print?- <!--开启注解-->
- <mvc:annotation-driven/>
<!--开启注解--><mvc:annotation-driven/>
配置完controller后开始配置views层,下面配置视图解析器:
[html] view plain copy print?- <!--关于controller如何找到视图文件,这里需要详细的说明。在 controller 的一个方法中,返回的字符串定义了所需访问的jsp的名字(如上面的index)。在jspViewResolver中,有两个属性,一个是prefix,定义了所需访问的文件路径前缀,另一是suffix,表示要访问的文件的后缀,这里为 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就会找到 /WEB-INF/pages/xxx.jsp 文件。-->
- <!--ViewResolver 视图解析器-->
- <!--用于支持Servlet、JSP视图解析-->
- <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
- <property name="prefix" value="/WEB-INF/pages/"/>
- <property name="suffix" value=".jsp"/>
- </bean>
<!--关于controller如何找到视图文件,这里需要详细的说明。在 controller 的一个方法中,返回的字符串定义了所需访问的jsp的名字(如上面的index)。在jspViewResolver中,有两个属性,一个是prefix,定义了所需访问的文件路径前缀,另一是suffix,表示要访问的文件的后缀,这里为 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就会找到 /WEB-INF/pages/xxx.jsp 文件。--><!--ViewResolver 视图解析器--><!--用于支持Servlet、JSP视图解析--><bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean>
在web项目中我们需要经常访问一些静态文件,例如js、img、css等,
[html] view plain copy print?- <!-- 静态资源(js、image等)的访问 -->
- <mvc:default-servlet-handler/>
<!-- 静态资源(js、image等)的访问 --><mvc:default-servlet-handler/>
完整配置如下:
[html] view plain copy print?- <?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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
- <!--指明 controller 所在包,并扫描其中的注解-->
- <context:component-scan base-package="com.promonkey.controller"/>
- <!-- 静态资源(js、image等)的访问 -->
- <mvc:default-servlet-handler/>
- <!--开启注解-->
- <mvc:annotation-driven/>
- <!--关于controller如何找到视图文件,这里需要详细的说明。在 controller 的一个方法中,返回的字符串定义了所需访问的jsp的名字(如上面的index)。在jspViewResolver中,有两个属性,一个是prefix,定义了所需访问的文件路径前缀,另一是suffix,表示要访问的文件的后缀,这里为 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就会找到 /WEB-INF/pages/xxx.jsp 文件。-->
- <!--ViewResolver 视图解析器-->
- <!--用于支持Servlet、JSP视图解析-->
- <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
- <property name="prefix" value="/WEB-INF/pages/"/>
- <property name="suffix" value=".jsp"/>
- </bean>
- </beans>
<?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.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--指明 controller 所在包,并扫描其中的注解--><context:component-scan base-package="com.promonkey.controller"/><!-- 静态资源(js、image等)的访问 --><mvc:default-servlet-handler/><!--开启注解--><mvc:annotation-driven/><!--关于controller如何找到视图文件,这里需要详细的说明。在 controller 的一个方法中,返回的字符串定义了所需访问的jsp的名字(如上面的index)。在jspViewResolver中,有两个属性,一个是prefix,定义了所需访问的文件路径前缀,另一是suffix,表示要访问的文件的后缀,这里为 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就会找到 /WEB-INF/pages/xxx.jsp 文件。--><!--ViewResolver 视图解析器--><!--用于支持Servlet、JSP视图解析--><bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/pages/"/><property name="suffix" value=".jsp"/></bean> </beans>
2、配置web.xml
做过web项目的童鞋都知道,web项目有一个祖宗,必须要进行配置,那就是web.xml。
打开项目中src\webapp\WEB/INF\web.xml,web.xml的版本可自行更新:[html] view plain copy print?- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- version="3.1">
- </web-app>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"></web-app>
在web.xml文件中先导入我们之前写好的配置文件,不然系统会找不到springmvc的框架配置文件:
[html] view plain copy print?- <!--Loads Spring Security config file-->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:spring-springmvcConfig.xml</param-value>
- </context-param>
<!--Loads Spring Security config file--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring-springmvcConfig.xml</param-value></context-param>
配置一个监听器:
[html] view plain copy print?- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
配置servlet并指定配置文件,用于拦截请求,这里用的/,意思是拦截所有请求,将拦截下来的请求交给controller处理(这一步在上面配置spring-springmvc.xml时已经配置了,请求拦截下来后如何处理):
[html] view plain copy print?- <!-- Spring MVC -->
- <servlet>
- <servlet-name>springmvc</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:spring-springmvcConfig.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springmvc</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
<!-- Spring MVC --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring-springmvcConfig.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
很多同学会遇到一个情况,那就是中文乱码。所以这里再配置一个编码过滤器,避免处理一些请求时出现中文乱码:
[html] view plain copy print?- <!--配置字符编码过滤器-->
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
<!--配置字符编码过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
现在我们所有的配置都已经完成了,接下来就是实现一些业务逻辑代码
四、Controller-控制器
在src/main/Java目录下建立包目录com.promonkey.controller(这里的路径要和spring-xxxx.xml文件中扫描controller指定的路径一致)。创建完包目录就新建一个Java文件,命名为MainController。
[java] view plain copy print?- package com.promonkey.controller;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- /**
- * Created by Promonkeyon 2017/1/16.
- *
- * @Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;
- */
- @Controller
- public class MainController {
- /**
- * @return 处理完该请求后返回的页面,此请求返回 index.jsp页面
- * @RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;
- */
- @RequestMapping(value = "/", method = RequestMethod.GET)
- public String index() {
- return "index";
- }
- }
package com.promonkey.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;/*** Created by Promonkeyon 2017/1/16.** @Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;*/ @Controller public class MainController {/*** @return 处理完该请求后返回的页面,此请求返回 index.jsp页面* @RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;*/@RequestMapping(value = "/", method = RequestMethod.GET)public String index() {return "index";} }
关于一些注解的说明:
(1)@Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;
(2)@RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;
(3)return "index":处理完该请求后返回的页面,此请求返回 index.jsp页面。这里返回index,结合上面配置spring-xxxx.xml中的视图解析器,即可跳转到index.jsp页面五、运行jetty服务器
点开右侧的项目,选择jetty run 双击或者点击上面的启动按钮即可启动jetty服务器。
出现如下提示则表示启动成功:
接下来就可以打开 http://localhost:8088 进入网站了(端口设置在上篇配置pop.xml文件时有配置)
搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)相关推荐
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
2017一月 16 转载自 http://blog.csdn.net/jdjdndhj/article/details/54572439 原 搭建IntelliJ IDEA+maven+jetty+S ...
- 好嗨哟 之 Mac OS 搭建 Eclipse + Tomcat + Maven Web 端开发环境。。。
LZ-Says:是过往云烟,还是回眸一笑,自在人心. 前言 从上周三临近下班时,接收到接下来要开发接口. 回归 Java 莫名的兴奋,多少还是有点不舍,不过多掌握几门,还是比较不错的. 至少相比曾经的 ...
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...
- SpringMVC学习(一)——快速搭建SpringMVC开发环境(非注解方式)
目录 1.开发环境准备 1.1.首先电脑需要安装JDK环境(略) 1.2.准备一个以供开发的tomcat 1.3.准备Maven工具 1.4.准备IDE编译器 1.5.准备一个本地的数据库, 2.搭建 ...
- SpringMVC学习(二)——快速搭建SpringMVC开发环境(注解方式)
文章目录 说明 1.工程搭建 2.注解配置 2.1.context:annotation-config说明 2.2.context:component-scan配置说明 2.3.mvc:annotat ...
- 如何使用 IntelliJ IDEA 2017 配置PHP开发环境 及项目搭建
IntelliJ IDEA 2017 配置PHP开发环境 及项目搭建 本文适用于初学者利用 IntelliJ IDEA搭建 PHP 工程及 PHP开发环境,本人也是初学者,在学习中有所心得,特此罗列如 ...
- 【官方搭建入门】JEEWX 捷微开发环境搭建必读
[官方搭建入门]JEEWX 捷微开发环境搭建必读 下载地址: http://git.oschina.net/jeecg/jeewx 1. 标准开发环境:eclipse + maven + jdk7 + ...
- apache geode项目结构_使用IntelliJ IDEA+Maven 创建、开发、管理项目
前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考. 来源:http://1t.click/ag4d # 前言 本篇开发环境 1.操作系统:Windows 10 X642.Java SDK: ...
- IntelliJ IDEA 2019 配置 PHP 开发环境及创建 PHP 项目
目录 安装 appserv IntelliJ IDEA 2019 配置 PHP 开发环境 IntelliJ IDEA 2019 创建 PHP 项目 安装 appserv appserv-win32-2 ...
最新文章
- Java并发编程:JMM和volatile关键字
- 剑指offer :从尾到头打印链表
- windbg调试masm生成程序的方法
- python处理excel字典-python从excel创建字典
- android 获取数组大小,看得见的数据结构Android版之数组表(数据结构篇)
- python123数值运算代码_Python中的变量、数据类型(数值、列表)操作实例
- easyui java管理系统_EasyUI 后台管理系统
- linux挂载iso镜像进系统,linux可以加载iso镜像文件到启动项吗
- 二叉树——新二叉树(洛谷 P1305)
- 第五章、使用复合赋值和循环语句
- 总结一下最近面试经常被问到的问题(2019年4月)
- docker swarm 部署 sentry9.1.2
- 自动采集收录导航源码
- 路由追踪测试软件,路由追踪命令是什么 使用路由追踪的技巧
- tftp linux 配置管理
- bitwise ssh client的使用
- 蓝桥杯的比赛流程和必考点
- 合肥工业大学机器人技术五十六题
- Linux从零学习记录(四)
- PDF文件怎么修改,如何替换PDF中的一页