后端服务器一般是指servlet容器用于執行java源程序
前两个常用于静态网页,后面几个常用于动态网页
这里前端网页以比较常见的 xx.html 和 xx.jsp 网页作为介绍,其它类似
- 先来看一个最简单嘚登陆界面源代码
- 这是一个表单我们看到里面都是纯html内容,这是一个静态页面当我们点击submit按钮时候,浏览器会提交表单内的数据到服務器的loginServlet这个相对地址我们看看浏览器的地址变成啥了:
- 这不就是我们的后台servlet的地址嘛,然后这个地址指向的是loginServlet这个servlet然后在web.xml文件中找到這个servlet关联的java类,从而执行了服务器端的程序(第一次执行那么会实例化,然后执行里面init()函数然后执行service()函数,如果是第二次调用那么不用实例化了,直接执行service()函数)我们来看看服务器端的源程序:
-
由于页面路径已经跳转到servlet了,但是servlet不是一个.html文件啊那岂不是沒有内容供浏览器显示了,不是的我们看到返回的参数response中的对象PrintWriter out用于动态生成html内容的字符串"Hello",所以这时候相当于servlet这个路径也有了html内容了浏览器的页面就会显示上述字符串了
-
,当我们访问.jsp网页文件时候服务器提前已经知道这个页面内含有java代码,那么服务器这边就得先执荇一下这些代码(就跟执行servlet的java源代码一样)同时把执行的结果嵌入在当前这个.jsp页面内,我们看看源代码:
-
上面红色代码就是java代码刚刚說过对象PrintWriter out用于动态生成html内容的字符串,所以服务器执行完嵌入在里面的java代码后就是动态生成了一串html代码,然后一起传给客户端浏览器进荇显示
-
当然这种情况.jsp里面没有按钮表单这样的控件,现在再来看看有表单这种.jsp如何跟后端交互:
-
这时候如果我们直接访问这儿view.jsp文件应該是没有数据的,因为对象s无法从request对象获取必须得先给这个request对象赋值才行,即应该从如下servlet路径跳转来view.jsp文件路径才行