看到了一篇Java后端路线的博客:https://blog.csdn.net/love20165104027/article/details/81271556
都说java后端学完web之后再看框架如鱼得水,咱也不知道,就先研究研究吧。
JSP简单点可以这样说:
所谓JSP意思就是动态网页,这里的动态可不是动画的意思,而是指一些登录,访问数据库显示等的一些操作。但归根结底还是前端网页的一些操作。
实际上也没什么操作,就是在HTML中嵌套一些Java代码 -.-。
网页的跳转:请求转发和重定向
如果我们现在要完成一个登陆操作,当手指按下 登录 按钮时,可以跳转到另一个网页(这里用到的可不是粗暴超链接,而是带有登录信息的跳转)
重定向: 页面跳转重定向、页面地址改变,数据丢失
请求转发: 可以获取数据,地址栏仍然保留转发时的地址
空口无凭,现在打开服务器试一下
源码(部分摘录)
//login.jsp 输入信息
<body>
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname"><br/>
密码:<input type="password" name="upwd"><br/>
<input type="submit" value="登陆"><br/>
</form>
</body>
——————————————这是两个文件之间无敌的分界线——————————————————
//check.jsp 核对信息
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("uname");
String pwd=request.getParameter("upwd");
if(name.equals("九二六四") && pwd.equals("abc")){
//页面跳转重定向、页面地址改变,数据丢失
//response.sendRedirect("success.jsp");
//请求转发、可以获取数据,地址栏仍然保留转发时的地址
request.getRequestDispatcher("success.jsp").forward(request, response);
}else{
//登陆失败
out.print("用户名或密码错误");
}
%>
</body>
——————————————这是两个文件之间无敌的分界线——————————————————
//success.jsp 登陆成功页
<body>
登陆成功!<br/>
欢迎您:
<%
String name=request.getParameter("uname");
out.print(name);
%>
</body>
我们在浏览器上看到了什么呢?(login页和密码错误页省略)
重定向
请求转发
Cookie令牌的引入
之前写爬虫牵扯到登录时就遇见过cookie,一直不知道是什么,到这才知道是当我们执行登陆操作时,颁发的一个浏览器通行令牌,在令牌消失前再次进入可省略登录。
web中的cookie:是JSP九大内置对象之一,不需要导入直接就可以使用。
源码(带有cookie的部分)
<body>
<%
request.setCharacterEncoding("utf-8");
//请求中捕获信息
String name=request.getParameter("uname");
String pwd=request.getParameter("upwd");
//将用户名放到Cookie中
Cookie cookie =new Cookie("uname", name);
//设置生命为10秒
cookie.setMaxAge(10);
//响应中添加cookie
response.addCookie(cookie);
//带有cookie的响应进行请求转发
response.sendRedirect("aaa.jsp");
%>
</body>
session的使用
当我们登录某东、某宝之后,再用某Q浏览器新开一个窗口同样打开某宝,会发现不需要我们再次登录,这种操作就可以使用同样作为内置对象的session去保留本次会话
源码(session部分)
____这是吴迪的标注线____session也有很多方法,就不说了自己查去
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("uname");
String pwd=request.getParameter("upwd");
if(name.equals("九二六四") && pwd.equals("abc")){
//登陆成功
session.setAttribute("uname", name);
session.setAttribute("upwd", pwd);
//session.setMaxInactiveInterval(10); //设置生命时间
request.getRequestDispatcher("welcome.jsp").forward(request, response);
}else{
//登陆失败
response.sendRedirect("login.jsp");
}
%>
</body>
这是最后吴迪的注释
这篇到这无了,下篇研究 JDBC和web访问数据库
广告之后,更加精彩!
前端的不太感兴趣额这里只是学了表面,发现错误,欢迎指正哈(\手动滑稽)