首页 > 其他分享 >spring-MVC web.xml springmvc-servlet.xml 配置文件

spring-MVC web.xml springmvc-servlet.xml 配置文件

时间:2023-03-30 15:02:25浏览次数:43  
标签:xml web return String 配置文件 value username login password


springMVC配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">


	<!-- springMVC入口 -->
	<servlet>
		<servlet-name>DispatcherServlet</servlet-name>
		<!-- url分发器 -->
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

		<!-- 找springMVC主配置文件 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<!-- 控制器类 -->
			<param-value>classpath:springmvc-servlet.xml</param-value>
		</init-param>

		<!-- 启动TOMCAT容器时就加载DispatcherServlet -->
		<load-on-startup>1</load-on-startup>

		<!-- 所有的请求都走SpringMVC -->
	<servlet-mapping>
		<servlet-name>DispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-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>
	</servlet>


	<!-- 所有的请求都走SpringMVC -->
	<servlet-mapping>
		<servlet-name>DispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

springmvc-servlet.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.2.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
    ">

	<!-- IOC注解支持 -->
	<context:component-scan base-package="controller" />

	<!-- MVC注解支持 -->
	<mvc:annotation-driven />

	<!-- 配置内部视图解析器 -->
	<!-- 视图路径:/WEB-INF/jsp/*.jsp -->
	<bean
	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>

	<!-- 静态资源解析 -->
	<mvc:resources location="/static/" mapping="/static/**" />

	<!-- 全局异常处理 -->
	<bean
		class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
			<props>
				<prop key="java.lang.RuntimeException">error</prop>
			</props>
		</property>
	</bean>
</beans>

controller类

LoginController.java

/**
	 * 实现登录功能
	 * 
	 * @param username
	 * @param password
	 * @return
	 */
	@RequestMapping(value = "/login", method = RequestMethod.POST)
	// @RequestParam(required = true参数必须 说明表单里必须有name属性且值和参数名一样;false参数不必须,value属性值和表单里的name属性值相同) 参数名和表单name属性值相同value属性可以省略
	//注解作用:标注参数是必须的
	String login(
			@RequestParam(required = false, value = "uname") String username,
			@RequestParam(required = false, value = "upwd") String password) {
		// 防止出现空指针异常
		if ("admin".equals(username) && "123456".equals(password)) {
			return "index";
		}
		return "login/login";
	}
//等效于
@RequestMapping(value = "/login", method = RequestMethod.POST, params = {
			"username", "password" })
	String login(String username, String password) {
		System.out.println(username);
		System.out.println(password);
		// 防止出现空指针异常
		if ("admin".equals(username) && "123456".equals(password)) {
			return "index";
		}
		return "login/login";
	}

UserController.java

@RequestMapping(value = "/useradd", method = RequestMethod.POST)
	// 使用对象作参数 ,user的属性名必须和表单的name属性值相同 ,user里面没有的属性在写在后面
	String useradd(User user, String reUserPassword) {
		System.out.println(user.getUserCode());
		System.out.println(user.getUserName());
		System.out.println(reUserPassword);
		return "user/useradd";
	}

把参数传给视图

@RequestMapping(value = "/login", method = RequestMethod.POST, params = {
			"username", "password" })
	//返回
	String login(String username, String password, Model model) {
		User user = new User();
		if ("admin".equals(username) && "123456".equals(password)) {
			user.setUserName(username);
			user.setUserPassword(password);
		} else {
			return "login/login";
		}
		// 绑定数据
		// mav.addAllObjects();//添加多个对象
		model.addAttribute(user);
		return "index";
	}

转发的请求是POST那转发去的页码也必须是POST

@RequestMapping(value = "/login", method=RequestMethod.POST)
String login(){
	//返回的是url
	return "forward:index.html";
}
@RequestMapping(value = "/index.html", method=RequestMethod.POST)
String index(){
	return "index";
}
/* 		../上一层      / 根目录		*/

重定向 客户端请求两次

String login(){
	//返回的是url
	return "redirect:index.html";
}


标签:xml,web,return,String,配置文件,value,username,login,password
From: https://blog.51cto.com/loveddz/6159591

相关文章

  • SpringMVC整合的 spring-mvc spring-mybatis配置文件
    SpringMVC入门spring-mvc.xml配置文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.......
  • WEB 服务器探究
    WEB服务器探究 Postedon 2017-06-27   Views: 717介绍web服务器基本概念,和常见的服务端演替路线。几种不同名字的服务器有什么区别?WEB服务器、应用程序服......
  • 连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发
    作者:Steam&Hao本文整理自社区第7期会议中13‘21″到44’11″的PythonORM的分享,视频见https://www.bilibili.com/video/BV1s8411N7Cw在做业务开发时,Nebula......
  • ClientWebSocket支持Win7和.net45
    namespaceTestApp{classProgram{conststringWSS_TEST_SERVER="wss://echo.websocket.org";staticvoidMain(string[]arg......
  • C#调用WebService
    之前使用添加引用的方法来实现。现在别人给了个非C#开发的webservice,发现引用的方法就不能用了。只好另想其他的方法。1.netcore下使用svcutil具体使用方法可以使用......
  • 外包杯学习进度(一) | 【Android】【Javaweb】Android与JavaWeb服务器交互教程——搭建
    前言我们老师留了一个题目,这里就不写了,第一需要攻破的问题就是如何将app中的数据域javaweb进行传递,并可以回弹消息等问题。所以就开始了解一下这方面的信息。资料积累参......
  • 02web服务器3.29
    web服务器技术ASP微软,国内最早出的就是asp在html里嵌入VB的脚本,asp+com;在asp开发中,基本一个页面都有几千行,页面及其混乱。维护成本高c#lls<h1>......
  • webpack的基本使用(三)
       默认这两个文件都要有不然的话webpack打包的时候是回报错的              使用[email protected]......
  • 【THM】How websites work(网站运行基础)-学习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/howwebsiteswork本文相关内容:要对网站进行漏洞利用,你首先需要知道网站是如何被创建的,本文将涉及HTML&JS以及......
  • TIdHTTPWebBrokerBridge替换成mormot底层
    目前使用案例是git开源项目horse改动思路大概为http请求被WebBrokerDispatch函数转发到了WebModule中进行后续处理。替换如下单元源码即可将horse项目的indy底层改成morm......