Java Web

第一课

java web 课堂记录:
B/S 表示:浏览器和客户端
C/S 比 B/S界面更加的友好
ASP(属于微软公司) 上手简单 方便 但是改起来很麻烦 运行速度没有JSP快

1 在JSP中嵌套java代码,使用<% java代码放在里面 %>
在JSP中取变量(表达式) 的值 使用<% =变量名 (表达式)%>
request session 都是isp的内置对象
在浏览器中输出,使用out对象(out.println)
2 GET 和 POST 的使用
用get或者post发送请求到服务器 请求网页的时候使用
get 传输数据有限不能超过2KB 不安全 明码发送能够看见密码等隐私问题
post传输数据没有限制 post比get请求方式更加的安全

<form action = ""></form> action=“ ws.jsp”点击提交之后跳转到ws.jsp这个页面

整个jsp代码 和java代码 都是在tomcat容器里面运行的!

Servlet:
接口:servlet是一个接口
功能:接受请求 响应
实现:Tomcat

Servlet生命周期
request:用于获得客户端(浏览器)的信息
response:用户向客户端(浏览器)返回信息

第二次课:

    1 //解决乱码问题
    response.setContentType("text/html;charSet=utf-8");
    request.setCharacterEncoding("UTF-8");
    2 //接受Form表单中标签的内容
    String username =  request.getParameter("user");
    String password  = request.getParameter("password");
    3 //向浏览器输出信息
    PrintWriter out = response.getWriter();
    4 //页面跳转方法: 重定向方法  代入名字的值到新的界面
    response.sendRedirect("Welcome?username="+username+"&password="+password) 不安全
   重定向:指的是页面重新定位到某个新地址(意思是多个页面共享数据)

第三次课:

1.重定向时:代入值到新的界面
2.到数据库中来找登录时的用户
3.建一个model包, 所有有关操作数据库的都放在里面
建库uhlg 表user
在model中添加User类
在model中添加userDao类
在model中添加它的实现接口userDao类 user

在同一用户不同页面之间如何共享数据
Cookie技术(小甜饼)
Sendredirect()转向
隐藏表单
Session技术

第四次课:

同一用户的不同界面之间如何共享数据
1,cookie:cookie怎么用?

占用:用户自己的空间
2,session 会话:当用户打开浏览器,访问某个网站时,服务器就会在服务器内存为浏览器分配一个空间
servlet,sessionTest1 sessionTest2
创建:HTTPSession hs = request.getSession(true);

3,地址重定向 response.sendRirect("Welcome?username="+username+"&password="+password)

servletContext :不同用户之间来共享空间
创建:ServletContext sc= this.getServletContext();
赋值:sc.setAttribute("username","you")
取值:sc.getAttribute(String name);
移除:sc.removeAttribbute(String name);
ServletContext中的属性的生命周期从创建开始,到服务器结束而关闭。


image.png

4,隐藏域:隐藏域在页面中对于用户是不可见的,在表单插入中隐藏域的目的在于收集和发送信息,以利于被处理表单的程序所使用
注:隐藏只是在网页页面上不显示输入框,但是虽然隐藏了,还是具有form传值功能。一般用来传值,而不必让用户看到。
基本语法:
<input type="hidden" name="field_name" value="value" />

隐藏域作用:

1、隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者点击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
2、有些时候我们要给用户信息,让他在提交表单时提交上来以确认身份,如:sessionkey,etc,当然这些东西也能用cookie实现,但使用隐藏域就简单的多了,而且不会有浏览器不支持,用户禁用cookie的烦恼。
3、有些时候一个form里有多个提交按钮,怎样使程序能够分清到底用户是按哪一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx"",然后我们接到数据后先检查command的值就会知道用户是按哪个按钮提交上来的。
4、有些时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时候form确实互相作用,我们就可以在form中添加隐藏域来使它们联系起来。
5、JavaScript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
6、还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。

缺点:占服务器的空间
应用:网上商场购物车 保存用户登录信息 将某些数据保存到session中 防止非法登录

语法:
image.png
image.png

添加两个servlet,sessionTest1 sessionTest2

第五次课

MVC:模型-视图-控制器
M:model 所有操作数据库的
C:Controllen处理业务逻辑的
V:View 视图 就是通常的页面(jsp,h5)

UserManaSys
1 把数据库连接上
2 先建MOdel包
3 在建Controllen 包
4 在Login.jsp action
5 建Welcome.jsp
在浏览器上显示 登录成功,欢迎某某(两中方法session 直接从登入页面的表单中获取其标签上的信息在welcome 页面中,要防止实现 非法登入的功能)
6 在controllen 包中建立LoginClservlet 完成用户登入

分页:

显示你的表的信息:UserDaoSQLImpl 取出要显示的表中的信息,放入list中
SELECT * FROM users LIMIT 2,4:数据库从0开始 从数据库的第二条开始显示 一共显示四条数据 2表示从第二条语句开始 4 表示一共显示四条数据

一页显示多少 记录呢?
我当前要显示的页面是第几页呢?
一共要显示多少页呢?

网页点击量(被访问的次数的统计)做法:
1用文件:为了避免频繁地操作数据库。

配置数据源和连接池

过滤器

image.png

输入过滤器名称,跟创建Servlet一样,这里我们直接使用@WebFilter注解,不再去web,xml中进行配置了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Servlet Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web ...
    千淘萬漉阅读 13,259评论 1 9
  • 1原生态 Ajax 执行流程? 创建 XMLHttpRequest 对象; 注册回调函数; 设置连接信息; 发送数...
    玄林阅读 284评论 0 0
  • 1.Servlet和jsp页面过滤器Filter的作用及配置 【参考答案】 过滤器是一个驻留在服务器端的Web组件...
    码记阅读 470评论 0 0
  • 1. 请说明一下JSP中的静态包含和动态包含的有哪些区别? 静态包含是通过JSP的include指令包含页面,动态...
    弹钢琴的崽崽阅读 295评论 0 5
  • 人不都是善良的。人都是善变的。 2016年10月,我在这里。 每个人都有一段也可能很多不愿为人所知的过去。从出...
    余生荒唐阅读 299评论 0 0