java学习的第四十天: javaweb
获取前端传递的参数:
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.xiao.Servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<form action="${pageContext.request.contextPath}/login" method="post">
<span>账号:</span> <input type="text" name="username"> <br>
<span>密码</span> <input type="password" name="password"><br>
<span>爱好:</span>
<input type="checkbox" name="hobby" value="打球">打球
<input type="checkbox" name="hobby" value="游泳">游泳
<input type="checkbox" name="hobby" value="唱歌">唱歌
<input type="checkbox" name="hobby" value="跳舞">跳舞
<input type="checkbox" name="hobby" value="踢球">踢球
<input type="checkbox" name="hobby" value="跑步">跑步
<br>
<input type="submit" value="提交"><br>
</form>
package com.xiao.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
public class LoginServlet extends HttpServlet {
请求转发:
Cookie: Session
回话:
回话:用户打开一个浏览器,点击了很多的超链接,访问多个web资源器,关闭浏览器,这个过程可以称之为回话。
一个网站怎么证明你l来过?
服务端 客户端
1、服务端给客服端一个 信件,客服端下次访问服务端的时候带上信件就可以了, cookie
2、服务端登记你来过了,下次你来的时候我匹配你。 session
保存回话的两种技术:
Cookie: 客服端技术:(请求和响应)
session
服务器技术:利用这个技术,可以保存用户的回话信息。我们可以吧信息或者数据放在session中。
常见使用: 网站登陆之后,你下次不用在登陆了。第二次访问直接就上去了。
Cookie:
从请求中拿到cookie信息。
服务器响应给客服端1
cookie[] cookies=req.getCookies(); //获取cookie
cookie.getValue() //获取cookie里面的value
cookie.getName() //获取cookie里面的值。
new Cookie("lastLoginTime",System.currentTimeMillis()+""); //新建一个cookie。
cookie.setMaxAge(24*60*60);// 设置cookie的有效期。
addCookie(cookie);// 响应一个cookie给客服端。
cookie :
一般都会保存在本地的用户目录下appdata;
一个网站cookie是否存在上限,聊聊细节问题。
一个cookie只能保存一个信息。
一个web站点可以给浏览器发送多个cookie,最多存放20个cookie,
cookie大小有限制4kb
300个cookie浏览器上限。
删除Cookie
设置有限期,关闭浏览器,自动失效,;
设置有效期的时间为0;
编码以及解码:
Session(重点)
什么是session:
服务器会给每一个用户(浏览器)创建一个Session对象,
一个session独占一个浏览器,只要浏览器没有关闭,这个session就存在。
用户登陆之后,整个网站它都可以访问啊!-》 保存用户的信息,保存购物车的信息。。。。
Session与Cookie的区别:
Cookie 是吧用户的的数据写给用户的浏览器,浏览器保存,(可以保存多个)
Session 是把用户的数据写到哦能过户独占Session中,服务端保存。(保存重要的信息,减少服务器资源的浪费。)
Session对象是由服务器对象创建。
使用场景:
-
保存一个登陆用户的信息;
-
购物车信息;
-
在整个网站中经常会使用的数据,我们将他保存在Sessionz中;
使用Session
8、jsp
8.1、什么是jsp
java Server Pages:java服务端页面,也和Servlet一样,用于动态web技术!
最大的特点:
-
写jsp就像是在HTML:
-
区别:
-
HTML只给用户提供静态的数据:
-
Jsp页面中可以嵌入JAVA代码,为用户提供动态数据:
8.2、jsp原理:
思路:jsp到底怎么执行的:
-
代码层面没有任何问题
-
服务器内部工作
浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet !
==在jsp页面中==
只要是java代码就会原封不动的输出: 如果是HTML代码,就会被转换为:out。write()输出:
8.3、jsp基础语法:
任何语言都有自己恶的语法,Java中有,jsp作为Java技术的一种应用,它拥有一些自己扩充的语法(了解,知道,即可) java所有语法都支持:
jsp表达式:
<%--j's'p表达式:
作用:用于将程序输出,输出到客服端:
<% %>
--%>
<%= new java.util.Date() %>
jsp脚本片段:
<%-- jsp脚本片段:--%>
<%
int sum=0;
for (int i = 0; i <100 ; i++) {
sum+=i;
}
out.println("<h1>Sum="+sum+"<h1>");
%>
<%--在代码中嵌入HTMl元素:--%>
<%
for (int i = 0; i <5 ; i++) {
%>
<h1> 你好 下面的这句话,要输出五次哦,这是第:<%=i+1%>次!</h1>
<%
}
%>
<%!
这里面就是内容了
%>
jsp声明: 会被编到jsp生成java的类中,其他的,jji就会被ssh生成到_jspService方法中!
在jsp中嵌入java代码:
由于原本的Jjsp嵌入Java代码复杂,于是就有了生成的EL表达式!:
1
浙公网安备 33010602011771号