springMVC01,使用xml
unit03_01
unit03_02
springmvc流程图

案例:hello示例
/hello.do --> springmvc --> /WEB-INF/hello.jsp
/hello.do
--> DispatcherServlet
-->HandlerMapping
-->HelloController
-->ViewResolver
-->hello.jsp
a。搭建Spring Web MVC开发环境
--引入ioc,webmvc开发包
--src下添加applicationContext.xml
b。编写HelloController
2.显示登录页面
/tologin.do
-->DispatcherServlet
-->handlermapping
-->ToLoginController
-->ViewResolver
-->/WEB-INF/login.jsp
3.单机登陆按钮处理
/login.do(提交表单)
-->DispatcherServlet
-->handlermapping
-->LoginController(获取提交的用户名和密码,如果用户名为root,密码为1234,正确)
-->ViewResolver
-->错误进入/WEB-INF/login.jsp。正确进入/WEB-INF/ok.jsp
完整代码:
spring 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:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 配置handlermapping -->
<bean id="handlermapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 指定请求和controller对应关系 -->
<property name="mappings">
<props>
<prop key="/hello.do">helloController</prop>
<prop key="/tologin.do">tologinController</prop>
<prop key="/login.do">loginController</prop>
</props>
</property>
</bean>
<!-- 配置controller -->
<bean id="helloController" class="org.alexhe.controller.HelloController"></bean>
<bean id="tologinController" class="org.alexhe.controller.ToLoginController"></bean>
<bean id="loginController" class="org.alexhe.controller.LoginController"></bean>
<!-- 配置ViewResolver -->
<bean id="viewresolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>dnspringmvc1</display-name>
<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:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/jaxrs/*</url-pattern>
</servlet-mapping>
</web-app>
HelloController.java:
package org.alexhe.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class HelloController implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav=new ModelAndView();
mav.setViewName("hello");//设置视图名字,也就是hello.jsp 从spring的xml里prefix,suffix加上
mav.getModel().put("msg", "模型数据");//等价于request.setAttribute("msg","data");
return mav;
}
}
ToLoginController.java:
package org.alexhe.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class ToLoginController implements Controller{
@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		ModelAndView mav=new ModelAndView();
		mav.setViewName("login");//设置视图名字,也就是hello.jsp 从spring的xml里prefix,suffix加上
return mav;
	}
}
LoginController.java:
package org.alexhe.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginController implements Controller{
@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		ModelAndView mav=new ModelAndView();
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		if("root".equals(username)&&"1234".equals(password)){
			mav.setViewName("ok");//设置视图名字,也就是hello.jsp 从spring的xml里prefix,suffix加上
		}else{
			mav.setViewName("login");
		}
		return mav;
	}
}
login.jsp:
<form action="login.do" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登陆">
</form>
ok.jsp:略
hello.jsp:略
springMVC01,使用xml的更多相关文章
- springMvc的一些简介 和基于xml的handlerMapping基本流程
		
其它步骤就不在介绍了 在大多数情况,都会使用基于annotation的方式进行HandlerMapping处理,在这里基于对这个流程的了解,就采用了基于xml配置了一个HandlerMapping & ...
 - Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
		
Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...
 - Springmvc案例1----基于spring2.5的採用xml配置
		
首先是项目和所须要的包截图: 改动xml文件: <?xml version="1.0" encoding="UTF-8"?> <web-app ...
 - SpringMVC-01  什么是SpringMVC
		
SpringMVC-01 什么是SpringMVC 回顾MVC 1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑 ...
 - XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
		
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
 - .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
		
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
 - WebApi接口 - 响应输出xml和json
		
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
 - XML技术之DOM4J解析器
		
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
 - UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
		
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
 
随机推荐
- Python3 与 NetCore 基础语法对比(String专栏)
			
汇总系列:https://www.cnblogs.com/dunitian/p/4822808.html#ai Jupyter排版:https://www.cnblogs.com/dunitian/p ...
 - JS 正则表达式从地址中提取省市县
			
var add1 = '四川省西昌市航天路'; var add2 = '北京市北京市东城区前门大街1号' var add3 = '新疆维吾尔自治区乌鲁木齐市天山区中山路479号'; var add4 ...
 - ceph:如何处理rados --striper上传失败的对象
			
如何处理使用rados --striper上传失败的对象? `Remove striped objects from a ceph pool without using the striper lib ...
 - C# SemaphoreSlim 实现
			
当多个任务或线程并行运行时,难以避免的对某些有限的资源进行并发的访问.可以考虑使用信号量来进行这方面的控制(System.Threading.Semaphore)是表示一个Windows内核的信号量对 ...
 - 为github公开项目单独设置用户名
			
背景: 由于在公司git的配置是公司内自己的用户id及邮箱,如果用同样的配置在github上提交公开项目,可能造成用户名及邮箱泄露,因此对于github上的项目,最好单独设置用户名,而每次在向gith ...
 - 使用DotfuscatorPro_4.9对软件dll库进行加密
			
点击settings选项,Disable String Encryption改成NO,具体里面的设置如下图. 再点击Rename选项下的options,左边的选项勾上,再把Renaming Schem ...
 - guid与Base64编码互相转换
			
guid的长度比较长,本文提供一种方法,将guid转为base64字符串,只有22位长度,比较好! 参考:https://blog.csdn.net/tgghfbflishuai/article/de ...
 - 10个基本的HTML5动画工具设计
			
HTML5已经成为最流行的编程语言在web开发者.强大的编程语言有很大的能力,生产更好的万维网内容.HTML5的兴起已经在过去三年增长迅速.介绍了HTML5的新技术是更好的.HTML5技术是由像Chr ...
 - fiddler抓包url有乱码
			
fiddler抓包url有乱码: 解决具体步骤: 注册表:regedit HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 1.打开注册表,regedit ...
 - vue环境下安装npm,启动npm  修改js,css样式
			
vue环境下修改js,css样式 1.在所在的项目项目的resource 文件夹下面,shift + 鼠标右键--在此处打开命令行窗口: 2.在打开的窗口执行: 安装npm:npm install 启 ...