java web 之 SpringMVC4.x配置
Q Q:408365330 E-Mail:egojit@qq.com
综述:
有一段时间没做web开发了,最近一直在做Android和IOS开发,但是有个项目需要用同时考虑跨平台必须要用java web做服务端接口。没办法,刚开始写代码那会做的是ASP.NET web开发,现在只能赶鸭子上架了。java 语言倒是挺熟的(android开发一直在用)。但是Java web开发需呀掌握的技术还是蛮多的。凭着我以前做asp.net开发的经验,首先得选好几个框架, MVC框架,ORM工具,IOC和AOP框架。 首先个人特别喜欢MVC模式,所以必不可少选一个MVC框架(既然别人已经造好轮子了,肯定不会傻到自己去实现MVC模式)。java开源生态圈,可选择的余地非常大,比较出名的莫过于Struts2和SpringMVC.我选择了SpringMVC.没有其它原因,只是它小巧易用性能也相当不错,而且和Spring这ioc框架无缝对接。ORM 我考虑选择mybatis,不用说大家都知道它的优势,半自动ORM,性能必须好o IOC和AOP框架不用选了,就Spring了。毕竟以前都混迹于ASP.NET生态圈中,突然到JAVA web生态圈,必须得做些记录,首先记录下SpringMVC配置和第一个程序。然后就HelloWold了。
SpringMVC配置和第一个HelloWord
一、导入jar包:
eclipse和tomcat配置和集成就不记录了。首先在myeclipse中新建一个web项目(为了学习暂时就不用maven去管理项目了jar包了,全部手动去配置和导入)。
如上图:红色圈中是要我们自己手动添加的,config目录是放SpringMVC相关配置的。lib就是我们放jar包的地方,Views是MVC中的View层也就是视图文件目录。
将这些jar包拷贝到lib目录中,myeclipse会自动帮助我们处理我这里是MyEclipse10.x。
二、web.xml配置
<!-- 调度用Servlet -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- URL映射 -->
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
重点是这些配置,首先是配置一个Servlet来处理客户端请求,那么是不是什么请求都由着Servlet来处理呢?答案是肯定的,
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<url-pattern>/</url-pattern>就决定了所有的文件都由这个Servlet来处理。但是我们就疑惑了,我们的静态文件比如.jpg,.js.css这些文件,当然是有它处理。那客户端肯定不能请求了,别急,后面我们有方法处理。桥到船头自然直。
<load-on-startup>1</load-on-startup>
这个就不做过多解释了,就理解成有这个配置它就和tomcat环境以前启动吧。
<param-name>contextConfigLocation</param-name><param-value>WEB-INF/config/spring-mvc.xml</param-value>
这个配置很清晰了,这就是配置SpingMVC的文件,这就是为什么我们手动添加config目录,后面我们会将SpringMVC的配置放进这个目录。 三、SpringMVC配置文件spring-mvc.xml的配置
在config目录中新建这个配置文件。添加如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
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.egojit" />
<!-- 配置返回类型 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean> </mvc:message-converters>
</mvc:annotation-driven>
<!-- 视图名称的解析 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/views/" p:suffix=".jsp" /> </beans>
就不做过多解释,代码中有注释。
<!-- 视图名称的解析 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
就解释下这个,这个就是配置mvc 这个c层的目录,也就是View视图的目录路径。 并且配置了后坠是.jsp
四、代码Controller和HelloWorld:
首先仔细看下图:
package com.egojit; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class testController{ @RequestMapping("/test/index")
private String Index(){ return "ok";
} }
我通过注解的方式新建了一个Controller.
并且通过@RequestMapping("/test/index")注解映射了URL 它对应的URL是 http://localhost:8080/test3/test/index
return "ok"表示返回了views视图目录中的ok.jsp文件(看上图的红圈)。这有一个完美的HelloWorld展现在我们面前了。如下图
这样SpringMVC就可以用了,会用了后面深入不是分分钟的事情嘛, 后记:
如果有什么问题希望各位网友指正,比较小弟是初次做java web开发。案例程序可以进CSDN我的资源中去下载,无须积分。jar包和源码都放在上面,点击传送
最新文章
- Eclipse JUnit 生成报告
- 正式开始jQuery源码的学习
- [20160704]Addition program that use JOptionPane for input and output
- 【OpenCV】图像的遍历
- 微软开源的30个基础设施项目-C#
- mysql中limit与in不能同时使用的解决方式.
- debug阶段工作期站立会议1
- BZOJ 2424: [HAOI2010]订货 费用流
- java如何调用webservice接口
- Gitbook 使用入门
- UVA 10791 Minimum Sum LCM
- 14.3.5.1 Interaction of Table Locking and Transactions 表锁和事务的相互作用
- Java打印常见图形
- 如何在服务器上配置ODBC来访问本机DB2 for Windows服务器
- I used to know
- 第一节 —— vue2.0 环境安装,工程化开发
- Log4J日志信息配置文件详解
- ones测试用例管理平台
- C语言三种方法调用数组
- 开源项目PullToRefresh详解(四)——PullToRefreshListView和ViewPager的结合使用