自学内容网 自学内容网

javaweb学习

javaweb就是实现浏览器和服务器之间的交互

1、服务器配置

Run->Edit Configurations,点击右上角的+号,选择Tomcat Server的local:

选择server下的Configure...,在弹出的界面里点击有上角的+号,选择自己解压的合适的tomcat版本,选择apply,再选择Deployment,点击加号,添加第一个,点击apply后点击ok即可

2、导入servlet-api.jar

File-->Project Structure-->Libraries-->绿色的+图标-->Java-->选择自己上一步导入的Tomcat文件夹下面lib文件夹的servlet-api.jar

3、静态页面(.html)与服务器通过post交互

form表单提交的数据会通过action属性知道要将数据给哪个服务器处理

比如下面这个表单actioon的值是hello1

那么点击运行之后会自动跳转到浏览器,在地址栏后面接着输入hello1.html就会进入上述表单所在静态页面,提交表单后系统会自动将/hello1.html路径变成action中的 /hello1 ,然后到会到web配置文件里找<url-pattern>是/hello1的配置,按以下顺序找到服务器,将数据交给该服务器

只要前端路径发生变化(加了 /hello1)也就是说提交了表单就会将数据传递给相应服务器,执行服务器中的service方法

在找到的服务器中通过

request.getParameter("参数名")

接收前端传来的数据(注意参数名与前端name的对应)

通过输出流来将处理过的数据输出到浏览器页面,不过要先设置输出数据的类型

response.setContentType("text/html;charset=utf-8");

服务器接收数据的其他情况:

1)浏览器里有多选框,多选框里选择的数据通过数组传递

String[] mps = request.getParameterValues("mp");

2)希望接收的数据可以支持中文:

request.setCharacterEncoding("utf-8");

刚刚是地址变化为 /hello1 会触发服务器处理数据,/地址是准确地址,只有输入地址准确才会与服务器交互,如果<url-pattern>的值是以*开头的代表的是任何地址

意味着表单的action可以是A.do   或者ABC.do都没有关系

只要是.do结尾的地址都可以与该服务器交互

4、动态页面(.jsp)与服务器交互

在动态页面中html(css,js)可以直接写,但是java代码要通过

1)<% java语句 %>

2)<%=java表达式%>

来实现。

Servlet给静态页面传递东西直接通过输出流out.println(数据)即可

但是动态页面其实也是一个servlet,两个servlet之间传递数据需要用到转发

一个jsp页面:

5、Cookie

可以把Cookie比喻成一个充值卡,用户(浏览器)到商家(服务器)消费并充值,商家就会给一个充值卡交给用户,用户保存好商家给的卡,当用户下次来就可以通过充值卡来消费

当服务器添加Cookie到response,将其传送到浏览器时,浏览器存储Cookie,如果里面数据包含中文,因为浏览器识别中文就是识别ASII码,所以会将中文通过编码转换为ASII码才能存储起来,当下一次浏览器访问服务器,将Cookie传递过去,服务器要接收Cookie里的数据,接收到的中文也是ASII形式的,所以要解码成中文形式

添加Cookie:Cookie以name-value形式存储

在浏览器地址栏后面加上 /addCookie 就会执行AddCookieServlet 中的service方法,就可以将Cookie传递给浏览器了,

在浏览器的设置中可以找到叫local的Cookie,查看里面的cookie可以发现中文是以ASII码存储的

服务器读取Cookie:


原文地址:https://blog.csdn.net/weixin_69266073/article/details/140423790

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!