springmvc 项目完整示例08 前台页面以及知识点总结

至此已经基本测试成功了,我们稍作完善,让它成为一个更加完整的项目

我们现在重新规划下逻辑

两个页面

一个登录页面

一个欢迎页面

登陆页面输入账号密码,登陆成功的话,跳转登陆成功 欢迎页面

并且,更新用户登录信息以及记录登录日志

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

<!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>

 

${Info}

 

 

请输入用户名,密码登陆:

<form action="/bbs/checkLogin.do" meathod="post">

用户名:

<input type="text" name="userName">

<br>

密码:

<input type="password" name="password">

<br>

 

<input type="submit" value="登陆">

<input type="reset" value="重置">

</form>

</body>

</html>

如果使用一些c标签需要<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

并且要引入jstl jar包

welcome.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>

登陆成功!

<br>

欢迎光临!

</body>

</html>

controller

package com.bbs.web;

 

import javax.servlet.http.HttpServletRequest;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

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

 

import com.bbs.domain.User;

import com.bbs.service.UserService;

 

@Controller

public class LoginController {

 

@Autowired

private UserService userService;

@RequestMapping(value="/login")

public String toLoginPage(HttpServletRequest request){

 

return "login";

}

@RequestMapping(value="/checkLogin")

public String loginPage(HttpServletRequest request,User user){

Boolean loginSucess = userService.hasMatchUser(user);

if(loginSucess){

userService.loginSucess(userService.findUserByUserName(user));

request.getSession().setAttribute("Info","");

return "welcome";

}else{

request.getSession().setAttribute("Info","请重新输入!!");

return "redirect:/login.do";

}

}

}

打开login展示登录页面

表单提交到checklogin

校验成功,执行登陆成功操作

失败重定向到登录页面

注意此处的

request.getSession().setAttribute("Info","请重新输入!!");

是放到session中的,如果只是request.setAttribute是不行的,页面读取不到

因为重定向了

相当于重新一个request,放进去的值就变化了

顺便记一下,这几个区别

session 一次会话

request 一次请求

就像两个人对话,request只有在你说一句话的时候,就有一个,别人说话,或者你说下一句话,就换了

对话 就是你们来来回回的说,他都是同一个

比如提交一个表单就是一个请求,打开一个超链接也是一个请求,当请求结束这个request也就消亡了

当用户第一次和服务器建立连接时,服务器就会产生一个session直到用户离开或超时,比如关闭浏览器session也会销毁

或者说,你存储在request中的,在当次请求中都是存在的,如果你redirect就不行了

但是,session,你页面怎么跳转,他都还在的

他们都可以存很多东西,能放得东西也没啥区别,区别主要在于声明周期

直接在web contain中进行对象的实例化。

内置对象

类型

作用域

pageContext

javax.servlet.jsp.pageContext

page

request

javax.servlet.http.HttpServletRequest

request

response

javax.servlet.http.HttpServletResponse

page

session

javax.servlet.http.HttpSession

session

application

javax.servlet.ServletContext

application

config

javax.servlet.ServletConfig

page

out

java.servlet.jsp.JspWriter

page

page

java.lang.Object

page

exception

java.lang.Throwable

page

顾名思义,内置对象就是本来就有的意思,直接可以使用

设置属性:public  void  setAttribute(String  name,Object.value)

取得属性:public  void  getAttribute(String  name)

看表格可以看出来,他们的作用域可以区分为四种

在一个页面范围内:page

在一次服务器请求范围内:request

在一次会话范围内:session

在一个应用服务器范围内:application

Session对象主要用于保存用户的各种信息,直到它的生命周期超过或被人为释放掉为止,可以通过session对象来判断此用户是否是合法用户。

Session对象是javax.Servlet.http.HttpSession接口的实例化对象,session属于http协议范畴之内的对象,所以只有唯一http包下有此接口,没有任何继承关系,用户只要一连接到服务器,则立刻分配一个session给用户。

时间: 2024-08-25 02:29:20

springmvc 项目完整示例08 前台页面以及知识点总结的相关文章

springmvc 项目完整示例07 spring mvc

前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多的mvc框架,这里我们用springMVC 首先还是需要jar包 我们既然是web项目了 也是不可少的,所以需要增加这两个包 我们需要配置web.xml 一个web项目,启动的时候,容器这里指的是tomcat这种,会首先读取web.xml配置文件里面的配置 所以他是最根本的配置文件 spring的配

springmvc 项目完整示例04 与mybatis的整合

百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO) 来源: http://baike.baidu.com/

springmvc 项目完整示例05 日志 --log4j

log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.apache.org/log4j/2.x/ 直接入正题 他是一个强大的日止功能组件 想要用他,根把大象放到冰箱里面一样多 1,下载一个jar包,放到项目中去 2,搞一个配置文件(可以吧之前用过的直接拷贝进去修改一下即可) 说简单的话,很简单,但是说起来配置,其实还是蛮多的,毕竟功能强大 现在我的配置文

Spring学习10-SpringMV核心组件2及SpringMVC项目示例

一.SpringMVC核心接口     5.ViewResolver接口--视图解析接口 继承体系:      5.View接口--视图接口   二.SpringMVC项目示例   (1)建立动态web工程,导入spring的jar包(不要忘加SpringMVC.jar).   (2)配置DispatcherServlet     DispatcherServlet是SpringMVC的核心,将下面Servlet的注册信息登记在web.xml中.一定要记住:Servlet跟伴侣一样,要结婚,先得

Springmvc+mybatis配置前台页面传递JSON串给后台接收。

前台页面js方法: $(document).ready(function(){ var saveDataAry=[]; var data1={"id":5,"name":"益生元","province":"西藏"}; var data2={"id":6,"name":"好爸爸","province":"拉萨"

前台页面优化全攻略(三)

经过前两篇文章的实践,你的网站加载速度一定有了非常明显的变化.能把实践跟到这篇文章的人想必一定是极客中的极客.如果你仍对网站的加载速度不满意,可以看看再尝试一下本文中几近疯狂的终极优化方案. 你可以对网站进行快速的优化,但网站日常的节食却很难.也许你已经花了很大的力气去优化你的CSS和JavaScript代码,但是你所做的努力马上又会因为老板或客户期望的新功能而付之东流.所以看来不论是人还是网页,减肥都贵在坚持. 这篇终极减肥方案可能不适合所有的网站,但是我相信它可以引起你对网页大小的重视. 1

SpringMvc项目中使用GoogleKaptcha 生成验证码

SpringMvc项目中使用GoogleKaptcha 生成验证码 前言:google captcha 是google生成验证码的一个工具类,其原理是将随机生成字符串保存到session中,同时以图片的形式返回给页面,之后前台页面提交到后台进行对比. 1.jar包准备 官方提供的pom应该是 <dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</arti

asp.net mvc5 使用百度ueditor 本编辑器完整示例(下)配置上传播放视频

通过 asp.net mvc5 使用百度ueditor 本编辑器完整示例(上)介绍,可以上传图片到服务器了,也可以上传小的视频文件,并且由百度编辑器自动加入html5<video>标签播放视频. 但是,遇到大文件上传,会点不动,会无法上传. 一.修改百度编辑器的ueditor/net 文件夹下config.json .修改上传视频 最大值512M ,上传文件配置:1024M; /* 上传视频配置 */ "videoActionName": "uploadvideo

SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

情况一: ajax中传值时是乱码(后台可以获取到中文字符,但用@ResponseBody返回时前台为乱码) 情况二: Controller 中 request.getParameter()获取到的是乱码 @RequestMapping(params = "method=submit") public String submit(HttpServletRequest request, ModelMap modelMap) throws Exception{ String uname =