`

servlet jsp session

阅读更多
1、当服务器响应客户端之后,request和response会立即销毁,在客户端去访问服务器的时候就开启Servlet,当Servlet开启之后就会产生request和response。

2、访问Servlet的6种方式:通过地址栏输入网址提交访问(直接在浏览器上写网址访问),表单访问,超链接访问,伪链接访问,函数访问,用Java代码访问(不讲)。

①地址栏输入网址提交访问:http://ip:port/项目名称/user.do<后面可以追加参数,别忘了追加前加一个’?’>  ===>其中,user.do也可以写成user.action。

其实就是get方法访问,这种访问方法出现的问题为:乱码,参数在地址栏可以看见且参数大小不能超过255个字符,不安全。

②表单:post提交方式无乱码,以后用表单方式访问时,统统采用post方式提交。

<!-- JSP -->
<body>
	<form action="user.do" method="post">
		用户名:<input type="text" name="name" /><br />
		密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" name="pwd" /><br />
		<input type="submit" value="提交" /><br />
	</form>
	
</body>


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//sql
public class UserServlet extends HttpServlet {
 	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
 		this.doPost(request, response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
//		response.setContentType("text/html;charset=UTF-8");
		String name = request.getParameter("name");// 取表单数据或地址栏参数的方式。
		String age = request.getParameter("age");
//		if(name!=null) // 解决乱码方式,如果name的值不为空就执行下面的语句,如果为空,就不作任何处理
//		{
//			 name = new String (name.getBytes("ISO-8859-1"),"UTF-8");
//		}
		System.out.println(name);
		request.setAttribute("myname", name);// 通过键“myname”,显示(浏览器取出)值name
		request.setAttribute("myage", age);
		
		request.getRequestDispatcher("user.jsp").forward(request, response); // 转发
	}
}


3、实际开发中,转发技术用的较多。
request.getRequestDispatcher("user.jsp").forward(request, response); // 转发  


4、通过键“name”,显示(浏览器取出)值“小明”。
request.setAttribute("name","小明");  


5、取表单数据或地址栏参数的方式:
String name = request.getParameter("name");
String age = request.getParameter("age");


6、可以用${ }表达式,显示参数的内容,例如:${myname}  ${myage}   <通过键取值>。
request.setAttribute("myname",name);
request.setAttribute("myage",age);


7、多页面跳转<其实是通过Servlet转发>

不通过Servlet进行转发的<这种做法在实际中不用,违背了MVC开发模式,且页面风格、代码风格不统一,难以维护。>


package com.fs.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class StuServlet extends HttpServlet {
 
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}
 
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String to = request.getParameter("to");// 取表单数据或地址栏参数的方式。
		if("login".equals(to)) {
			this.login(request, response);
		}else if("main".equals(to)) {
			this.main(request, response);
		}
	}
	//转发到main.jsp
	private void main(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.getRequestDispatcher("main.jsp").forward(request, response);
	}

	//转发到login.jsp
	public void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
	{
		request.getRequestDispatcher("login.jsp").forward(request, response);
	}
}


8、实际中采用MVC开发模式。V显示:jsp,C控制:Servlet

9、会话用对象session<键值对>存储。session对象就是会话对象。只要涉及到登陆的网站就会用上session技术。session和request一样,可以装东西。

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class UserServlet extends HttpServlet {
	
	public int no=100;
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		 no ++;
		 String to = request.getParameter("to");
		 if("login".equals(to)){
			 this.login(request, response);
		 }else if("one".equals(to)) {
			 this.one(request, response);
		 }
	}
	private void one(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		//转发到one.jsp
		request.getRequestDispatcher("one.jsp").forward(request, response);
	}
	public void login(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		 String name = request.getParameter("name");
		 String pwd = request.getParameter("pwd");
		 //使用数据验证name与pwd是否正确
		 if("123".equals(pwd)) {
			 HttpSession session = request.getSession();
			 session.setAttribute("username", name);
//			 request.setAttribute("username", name);
			 request.setAttribute("no", no+"");
			 request.getRequestDispatcher("main.jsp").forward(request, response);
		 }else {
			 request.setAttribute("inf", "用户名或密码错误!");
			 request.getRequestDispatcher("index.jsp").forward(request, response);
		 }
	}
}


10、用session对象装数据的方式,在存储转发过程中,数据不会丢失,session会一直在。(多线程的时候会在服务器里面产生多个session对象,且在服务器里保存,各个session对象会根据你的(sessionID===>流水号(长整型))信息进行控制,当关闭浏览器的时候session会自动销毁)

11、设置超链接标签:<a></a>   ====>主要属性参数:href="...",例如下面的代码

<a href="user.do?to=login">到login.jsp</a>
分享到:
评论

相关推荐

    基于jsp_servlet_session完成的图书查询及购物车案例-内含有MySQL数据库

    该案例是基于Java Web技术,特别是JSP(JavaServer Pages)、Servlet和Session,实现的一个图书查询及购物车系统。这个系统充分利用了三层架构模式,即表现层(Presentation Layer)、业务逻辑层(Business Logic ...

    JSP 在servlet中使用session

    总结来说,JSP和Servlet结合session提供了一种强大的方式来处理用户会话和跨页面的数据共享。在实际开发中,合理使用session可以极大地提高用户体验,比如在购物车、用户登录等场景。不过要注意,session会占用...

    jsp和servlet之中的session详细介绍

    本文将深入探讨JSP和Servlet中的session概念,以及它们如何在Web应用程序中实现状态管理。HTTP协议本身是无状态的,这意味着每次客户端(浏览器)向服务器发送请求时,服务器无法识别请求是否来自同一个会话。为了...

    Head First Servlet JSP (中文版),完整扫描版.PDF

    《Head First Servlet JSP》是一本专为初学者和进阶者设计的Java Web开发教材,中文版的出版使得更多的中国读者能够轻松掌握Servlet和JSP技术。这本书以直观、生动的方式介绍了这两个核心技术,帮助读者深入理解Web...

    Servlet Jsp 技术概述 pdf

    6. **JSP页面生命周期**:从JSP到Servlet的转换过程,以及page、request、session和application四个作用域。 7. **MVC模式**:如何在Servlet和JSP中实现MVC模式,以及它对项目结构的影响。 8. **实战示例**:可能...

    JSP_tomcat_mysql_servlet_session

    标题“JSP_tomcat_mysql_servlet_session”揭示了这个实例是关于在Java Web开发中使用JSP、Tomcat服务器、MySQL数据库以及Servlet和Session来实现Model-View-Controller(MVC)架构的一个实践项目。这里我们将深入...

    Servlet Jsp 技术概述

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,用于构建动态Web应用程序。Servlet是一种Java编程接口,用于扩展服务器的功能,而JSP则是一种基于Java的动态网页技术,它将HTML、XML或其他标记语言与...

    servlet jsp 权限管理系统

    Servlet和JSP是Java Web开发中的核心技术,常用于构建动态网页和服务器端应用程序。权限管理系统则是这类应用中不可或缺的一部分,它负责控制用户访问资源的权限,确保系统安全性和数据保护。下面将详细介绍这两个...

    JSP+Servlet实现简易购物车功能

    在Web开发领域,JSP(JavaServer Pages)和Servlet是常用的两种技术,它们结合使用能够构建动态、交互式的Web应用程序。本项目“JSP+Servlet实现简易购物车功能”就是一个典型的示例,它展示了如何利用这两者来创建...

    jsp+servlet实现简单的登录注册

    对于登录功能,Servlet会验证用户输入的凭证,如果匹配成功,则创建一个会话(session),存储用户的登录状态;否则,返回错误消息。注册功能可能涉及插入新用户数据到数据库,通常需要防止SQL注入等安全问题。 总...

    Servlet+JSP实现简单购物车

    在本文中,我们将深入探讨如何使用Servlet和JSP来实现一个简单的购物车功能,并结合Cookie技术来存储用户的选择。Servlet是Java服务器端编程的核心技术,用于处理HTTP请求和响应;JSP(JavaServer Pages)是一种动态...

    北大青鸟Y2 指导学习一(servlet 和session) 开发基于JSP Servlet JavaBean网上交易系

    【标题】:“北大青鸟Y2 指导学习一(servlet 和session) 开发基于JSP Servlet JavaBean网上交易系统” 【描述】中的知识点主要围绕JSP、Servlet和JavaBean这三大核心技术在构建网上交易系统中的应用。JSP(Java...

    学生管理系统Servlet+Jsp

    【学生管理系统Servlet+JSP】是一个基于Java技术的教育信息化应用,主要采用了MVC(Model-View-Controller)设计模式,旨在提供一个简洁且实用的学生信息管理平台。在这个系统中,Servlet作为控制器处理用户请求,...

    Servlet与JSP之间的关系

    在JSP中,可以通过内置对象如`request`、`response`、`session`等来处理请求和响应,同时可以使用JSP标签库(如JSTL)来增强其表达能力。 Servlet和JSP之间的关系可以用"后端处理器"和"前端展示"来理解。Servlet...

    学习java servlet jsp jdk的所有帮助

    4. 掌握JSP内置对象(如request、response、session、pageContext等)的使用。 5. 学习MVC(Model-View-Controller)设计模式,并将JSP与Servlet结合实现。 ### JDK JDK是Java编程语言的开发工具包,包含了编译、...

    Servlet+JSP购物车

    在这个Servlet+JSP购物车应用中,我们利用Session来存储用户添加到购物车的商品信息。这样,即使用户浏览不同的页面,购物车的内容也能被正确地保留。 1. **Servlet实现**: - **处理HTTP请求**:Servlet通过重写`...

    HttpSession/session,jsp,servlet——综合练习题一

    在IT行业中,尤其是在Web开发领域,`HttpSession`、`jsp`和`servlet`是三个非常重要的概念。这里我们将深入探讨这些技术,并结合一个名为"web26_session5示例1"的压缩包文件,来解析它们在实际应用中的综合运用。 ...

    Servlet&JSP知识点归纳思维导图

    4. **JSP内置对象**:包括request、response、session、out、pageContext、config、application、page等,它们对应Servlet的API。 5. **EL(Expression Language)**:EL是JSP 2.0引入的轻量级表达式语言,用于方便...

    jsp事例jsp usebean session

    `session` 对象是Servlet API的一部分,用于在多个相关请求之间保持用户的状态信息。一旦用户登录,你可以将他们的信息(如 `UserBean`)存储在 `session` 中,以便在整个会话期间访问。这样,即使用户在不同页面...

    Servlet JSP Spring MVC初学指南(alin书签).pdf

    JSP有多种内置对象,如request、response、session等,方便进行数据传递和处理。 **Spring MVC** 是Spring框架的一个模块,专为构建Web应用程序而设计。Spring MVC采用模型-视图-控制器(MVC)架构模式,将应用程序...

Global site tag (gtag.js) - Google Analytics