第四次课:参数的传递

第一部分:程序结构

第二部分:页面的创建

1、login.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=UTF-8">
<title>主页</title>
</head>
<body>
    <form action="/mvc1/user/chklogin" method="post">
        <table>
            <tr>
                <td>账号:</td>
                <td><input name="username" type="text"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input name="password" type="password"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="登录"></td>
            </tr>
        </table>
    </form>
    ${error }
</body>
</html>

2、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=UTF-8">
<title>主页</title>
</head>
<body>
    ${username }: 欢迎登陆
</body>
</html>

第三部分:编写controller

package cn.shxy.web.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/login_show")
    public String login_show() {
        return "/login";
    }

    @RequestMapping("/login")
    public String login(String username, String password, HttpServletRequest request) {
        if (username.equalsIgnoreCase("aaa") && password.equals("bbb")) {
            request.setAttribute("username", username);
            return "/index";
        }
        request.setAttribute("error", "账号或密码有误!");
        return "/login";
    }

    @RequestMapping("/chklogin")
    public String chkLogin(User user,HttpServletRequest request){
        if(user.getUsername().equals("aaa") && user.getPassword().equals("bbb")){
            request.setAttribute("username", user.getUsername());
            return "/index";
        }
        request.setAttribute("error", "账号或密码有误!");
        return "/login";
    }
}

第四部分:测试

地址栏输入路径:http://localhost:8080/mvc1/user/chklogin

时间: 2024-10-10 14:04:28

第四次课:参数的传递的相关文章

NeHe OpenGL教程 第四十七课:CG顶点脚本

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十七课:CG顶点脚本 CG 顶点脚本 nVidio的面向GPU的C语言,如果你相信它就好好学学吧,同样这里也只是个入门.记住,类似的语言还有微软的HLSL,OpenGL的GLSL,ATI的shaderMonker.不要选错哦:)

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语言都可以直接调用,本章我们主要对solr的查询做出讲解,然后就是新接触的人最关心的.net如何获取solr中的数据. 本节我准备了一个300万左右的数据表,为大家做演示 然后我们开始配置schema.xml 文件: <field name="id" type="string

C语言中参数的传递

普通情况: 调用函数参数的传递,是采取入栈的方式,先上图一张: Fun是被调用的函数,而为了演示其参数传递的过程,特意多设了几个参数,其传递参数的汇编代码如下: 可以看出,汇编代码中将这9个参数的前5个入栈,后几个直接通过寄存器来传递,而进入函数中出栈代码如下: 可以看出先出栈之后R0,R1,R2,R3(这四个不经过出栈入栈,直接通过寄存器传递),r5,r6,r7,r8,r12装载参数. 在实验得出个很重要的结论:并不是在参数传递过程中所有的参数都需要入栈,一部分参数通过R0-R3传递,甚至参数

一步一步实现基于Task的Promise库(四)无参数的WorkItem

接着上一篇我直接给出代码,现在支持了new Task(), then(), all(), any() 这些不传参的调用方式. 1 (function(){ 2 var isFunction = function (target) { 3 return target instanceof Function; 4 }; 5 var isArray = function (target) { 6 return target instanceof Array; 7 }; 8 9 //自定义事件管理(代码

转:python 函数参数的传递(参数带星号的说明)

python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1,arg2,...)这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应

七月算法-12月机器学习在线班--第十四次课笔记—EM算法

七月算法-12月机器学习在线班--第十四次课笔记-EM算法 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com ? EM Expection Maxium 期望最大化 1 引例 1000人,统计身高,1.75,1.62,1.94,有多少男女,每个身高对应的男女 ? 1.1 如何算?利用极大似然估计,估算均值和方差 上述结论和矩估计的结果是一致的, 即:样本的均值即高斯分布的均值,样本的伪方差即高斯分布的方差. 如果是高斯分布,就可以这么用本

二周第四次课(12月21日)

二周第四次课(12月21日)2.18 特殊权限set_uid2.19 特殊权限set_gid2.20 特殊权限stick_bit2.21 软链接文件2.22 硬连接文件 特殊权限: set_uid (拥有者特殊权限:) #chmod命令: 文件权限属性设置: chmod命令用来变更文件或目录的权限. 在UNIX系统家族里,文件或目录权限的控制分别以; 读取.写入.执行3种一般权限来区分,另有3种特殊权限可供运用. 用户可以使用chmod指令去变更文件与目录的权限, 设置方式采用文字或数字代号皆可

四周第四次课(1月5日) 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具

四周第四次课(1月5日)6.1 压缩打包介绍6.2 gzip压缩工具6.3 bzip2压缩工具6.4 xz压缩工具 ================================================================================================================================================================================================

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(1月11日)8.6 管道符和作业控制8.7/shell变量8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html 关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command

Linux20180423五周第四次课(4月23日)

五周第四次课(4月23日) 8.6 管道符和作业控制8.7/8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environ