SpringMVC配置文件详解
来源:互联网 发布:第六季网络复活赛 编辑:程序博客网 时间:2024/06/06 05:55
最近看了看实验室的一个springmvc的项目,虽然代码看得七七八八了,不过对于一些配置文件和一些封装好的类理解还不深,所以打算自己写一个springmvc的小项目,用来加深理解。这个实例只是配置简单对DispatcherServlet进行应用,然后把请求应用拦截给对应的控制器处理(controller)。
首先你需要下载相关的jar,我这里用的是spring3.0.x 和commons-logging-1.2。有需要点击下载。
新建一个Dynamic web poject,然后把刚刚下载好的jar复制到WenContent/WEB-INF/lib下就好了。
项目的文件结构:
点击打开web.xml配置文件。
web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>springmvcTest</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 1.在servlet-name一栏你可以随便填写,注意的是在对应的servlet的配置文件的命名需要 (你命名serlvet-name)-servlet.xml 本实例的servlet对应的配置文件名就是sprmvc-servlet.xml 2.servlet-class就是你对应的拦截器的包,这里默认这样写就好了 3.load-on-startup=1 看名字就知道是指工程运行的的时候就启动该拦截器 --> <servlet> <servlet-name>spmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- 4.servlet-mapping就是设置拦截器将要对哪些请求做出拦截,*.do表示对所以.do的结尾的请求会被拦截处理 --> <servlet-mapping> <servlet-name>spmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping></web-app>
接着我们开始配置spmvc-servlet.xml文件。先讲一下为什么需要配置这个文件。在web.xml我们对拦截器进行设置,把.do的请求都拦截下来,不过拦截下来的请求交给谁处理呢,没错在spmvc-servlet.xml就是要声明好这一点,当然这只是该配置文件的一部分。
点击WEB-INF右键新建xml文件,文件名需要与你在web.xml配置serlver-name对应起来。我这里的文件名就是sprmvc-servlet.xml。
sprmvc-servlet.xml:
<?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:p="http://www.springframework.org/schema/p" 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-3.0.xsd"> <!-- 启用spring mvc注解 --> <context:annotation-config></context:annotation-config> <!-- 扫描包 ,注意在复制这份代码的时候,这个包名要改成你们项目中的包名一--> <context:component-scan base-package="com.spring.test"></context:component-scan> <!-- 1.class就是用来解析视图的,你可以简单的理解为,当return "sueccse"的时候,视图解析器就会自动的转为成 sueccse.X,当然前提是你的项目中存在sueccse.X才可以。 2.下面prefix对应的value是指视图解析器会在/WEB-INF/jsp/目录下去找和"sueccse"一样字符的文件,后缀名就用suffix来规定。所以最后我们会在/WEB-INF/jsp/目录下找到sueccse.jsp文件 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
然后开始写我们的控制器longinAction.java。
longinAction.java:
package com.spring.test;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class loginAction { @RequestMapping("login.do") public String login(String username,String password){ if ("admol".equals(username)) { System.out.println(username +" 登录成功"); return "loginSuccess";//逻辑视图名 跳转页面默认为转发 } return "loginError"; } }
现在我们的拦截器和控制器都已经写好了,现在写两个页面测试一下。
首先在WebContent下新建一个index.jsp页面
index.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><form action="login.do" method="post"> username:<input type="text" name = "username" ><p> password:<input type="password" name = "password" ><p> <input type="submit" value="登录"> </form></body></html>
这里的action是login.do,所以会被我们的拦截器拦截下来交给在对应的文件处理。根据base-package=”com.spring.test”我们知道这个拦截器把请求拦截下来给这个包下面的控制器了。就是loginAction.java。
再写两个jsp页面,一个成功的一个失败的。先在WebContent/WEB-INF/生成一个jsp包,然后把loginError.jsp和loginSuccess.jsp放在这里。
loginError.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>失败</body></html>
成功的页面类似。
当name输入框为admol就会跳转到成功的页面,反之跳转到失败页面。
- SpringMVC 配置文件详解
- SpringMVC 配置文件详解
- springmvc配置文件详解之一。
- springMVC 配置文件详解
- SpringMVC核心配置文件详解
- SpringMVC配置文件详解
- springmvc 配置文件详解
- springmvc配置文件详解
- SpringMVC+Shiro整合配置文件详解
- SpringMVC+Shiro整合配置文件详解
- springMVC 注解及配置文件详解
- SpringMVC+Shiro整合配置文件详解
- SpringMVC核心配置文件详解--SpringMVC(3)
- 【SpringMVC学习03】-SpringMVC的配置文件详解
- springmvc配置文件web.xml详解各方总结。
- springmvc配置文件web.xml详解各方总结。
- spring+springmvc+mybatis中的xml配置文件详解
- SpringMVC的web.xml配置文件详解
- 拉格朗日问题求解QP问题
- Centos7安装jdk-6u45
- Android-----XlistView上拉刷新下拉加载更多
- js动态生成的元素绑定事件
- 【Python】五、Matplotlib——《用Python做科学计算》
- SpringMVC配置文件详解
- niginx基础
- Cannot find one or more components. Please reinstall the application. SSMS 17.1 启动失败
- 【笔记】使用C语言编写win32平台Shellcode
- 字符编码问题
- 搭建nagios监控平台
- js 数组排除重复
- 基础篇之第一章:与JVM相关的基础知识
- [Leetcode] 179. Largest Number 解题报告