网站建设需要的资质,公司备案号在哪里查询,如何做网站竞品分析,教资报名网站设置一、入门
在webapp里面必须先创建一个文件夹#xff0c;文件夹里面放的内容#xff0c;才会被访问到。 创建一个javaweb项目后 二、servlet
1.概述 2.servlet生命周期 3.servlet实例的创建时机 4.Servlet实例的初始化参数 5.HTTP状态码 6.servelet返回JSON数据 7.服务端设置…一、入门
在webapp里面必须先创建一个文件夹文件夹里面放的内容才会被访问到。 创建一个javaweb项目后 二、servlet
1.概述 2.servlet生命周期 3.servlet实例的创建时机 4.Servlet实例的初始化参数 5.HTTP状态码 6.servelet返回JSON数据 7.服务端设置跨域访问 8.HttpServletRequest常用api 9、HttpServletResponce常用api 还有一个
req.getParameterMap() 可以获得一个map, Servelet问题
1.其中Webservelet的urlPatterns 和 value有什么区别 2.关于servlet生命周期的困惑
当我第一次访问一个网址时servelet会实例化并调用init()和service()
当我重复访问该网址servlet会反复调用service()
当关闭服务器后或Tomcat容器决定销毁一个servlet时会调用destroy方法 3.实际开发中跨域问题的解决 三、 过滤器 设置 utf_8 监听器 session监听
mvc 三、Servlet会话跟踪基础
1.会话跟踪技术
1.1 什么是会话
客户端访问服务端发生的一系列请求和响应过程称之为会话。 通俗的说从打开浏览器向服务器端发送请求开始到客户端关闭浏览器结束访问为止就是一个会话。 1.2 会话跟踪技术
HTTP 是一种“无状态”协议。也就是说当一个请求响应结束后不会留下任何痕迹。或者说下一次请求响应不会获得上一次请求响应的任何信息。
但是从开发角度考虑我们希望上一次请求所传递的数据能够维持状态到下一次请求并且辨认出是否相同的客户端所发送出来的。也就是说服务器端业务是需要有状态的。比如登陆一次后在一个会话范围内就不用再重复登陆了。
那么会话跟踪技术就是一种在客户端与服务器间保持HTTP状态的解决方案管理浏览器客户端和服务器端之间会话过程中产生的会话数据。
会话跟踪技术解决方案有
CookieSessionURL重写隐藏表单域... ... 1.3 Cookie
Cookie由服务器生成然后发送给客户端浏览器浏览器会将 Cookie保存到客户端内存中或者保存到客户端某个目录下的文本文件内。下次请求同一网站时就发送该 Cookie给 服务器(前提是浏览器设置为启用 Cookie)。
Cookie较为典型的应用就是保存已成功登录过的用户的用户名信息以便在 下一次登录此网站时不需输入用户名简化登录手续完成自动登录等功能。
注意 如果是通过ajax 访问那么sevlet会使用out.print()向客户端响应数据并且在Cookie中写入sessionid返回给客户端。但是这样一来这样就会将cookie中原有的值覆盖掉。也就是说通过ajax的请求方式服务器端将无法为客户端设置cookie。
所以下面使用表单提交来演示Cookie。 前端index.html文件
h3登陆/h3
form actionhttp://localhost:8080/demo/login methodpost用户名input typetext nameuserNamebr密码input typepassword namepasswordbrinput typesubmit
/form
a hrefhttp://localhost:8080/demo/login自动登陆/a
服务器端LoginServlet.java文件
package servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
WebServlet(/login)public class LoginServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setHeader(Access-Control-Allow-Origin, *); boolean isLogin false;//获取从客户端发送过来的Cookie获取的是一个Cookie数组Cookie[] cookieArr request.getCookies();if(cookieArr!null) {//遍历每一个cookie的名称使用getName()方法for(Cookie cookie : cookieArr) {if(cookie.getName().equals(user)) {System.out.println(自动登陆成功);isLogin true;}}}if(!isLogin) {String userName request.getParameter(userName);String password request.getParameter(password);if(userName.equals(test)password.equals(111)) {System.out.println(登陆成功);//创建用户信息CookieCookie userCookie new Cookie(user,ok);//设置Cookie过期时间为一周userCookie.setMaxAge(24*60*60); //向客户端发生Cookieresponse.addCookie(userCookie);}else {System.out.println(登陆失败);}}}Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}} cookie的缺点 1.4 session
Cookie虽然在持久保存可以设置过期时间客户端数据提供了方便但在一个会话范围内维持状态却并无优势。所以在基于Cookie的基础上出现了Session技术。
Session较为典型的应用就是当第一次登陆成功后一个会话开始。在这个会话范围内可以依靠Session维护登陆状态直到此会话结束。 1.4.1 session原理
使用Session维护一个会话的登陆状态
当第一次请求时在服务器端创建一个Session对象并且为此对象生成一个sessionId。同时使用Cookie将此sessionId返回给客户端并存储在客户端的Cookie中。当客户端发起下一次请求时必须携带此sessionId发送给服务器端。服务器端根据接收的sessionId就能找回Session对象从而获取了上一次请求的信息。
1.4.2 Session实例 填个坑等看完黑马javaweb再来补充。 四、过滤器和监听器。
在学习过滤器时比较困惑它是怎样按过滤链进行传递机器人给了我答案。 执行的顺序的怎样的是执行完本函数