java-web阶段学习

        Java-web阶段的学习我自己的感受是还行,只是还需要代码的练习,对于有些知识点的联合运用的地方还需要做更多的理解。

一、servlet        

在这个阶段的第一天,主要学习了servlet相关项目的开发。我认识到了:

  • servlet是一种用于扩展web服务器的功能、用于处理动态数据的组件规范。
  • 组件:是符合一定规范,完成部分功能的软件模块。servlet、jsp就属于组件,tomcat属于容器。servlet必须放在tomcat容器中进行运行。必须先启动tomcat,然后才能访问到servlet、jsp。

servlet的开发步骤:

  • 新建符合java web项目的工程
  • servlet类继承HttpServlet
  • 打包
  • 部署

 maven项目的创建,创建步骤为

        1、选择项目的模板为:maven-archetype-webapp.

        2、增加java resources 文件夹;
        3、修改web.xml 的版本号

        4、导入项目所需要的jar包:mysql驱动, servlet-api jar包;

        5、 配置 tomcat, 部署项目;
        6、 创建 package : util , entity , dao , service , action。
        除此之外,还学习了servlet的生命周期,容器启动或者访问servlet时,会执行init方法,一个生命周期内只执行一次。

servlet的参数

  • servlet级的参数:servlet标签内部配置的参数,只在当前servlet有效。、
  • context级的参数:全局参数,任何servlet中都可以使用。
        经过三四个maven项目的训练,我已经熟悉掌握了一个可用的maven项目的创建方法。掌握了连接数据的方式,以及对数据库数据表的内容的添加,修改,删除,查询等基本操作的编程实现的步骤。

二、jsp+servlet

        在java web阶段的第四天,我们学习了如何使用jsp代码实现将数据的处理和数据的展示进行分离。因为servlet做数据显示的时候,编写和维护都特别不方便。实现数据展示在客户端,使用的方式还是较为复杂的html代码拼接。此时,整个代码文件看起来较为复杂,代码量很大。使用servlet+JSP时:servlet做数据处理部分(编码设置、获取参数、获取数据并处理数据<request请求得到的数据类型都是String类型的,必须进行数据的转换>、响应结果),jsp(嵌套Java使用)做数据展示。由此,不同部分的代码会被分离,便于编写和维护。
在学习这部分内容时,也是运用emp(员工管理系统),使用jsp+servlet 完成emp的增删改查。

        在第五天,学习使用了servlet的转发和重定向的功能。

  • 转发:转发的是一个请求处理了一部分功能,然后开始另一个请求处理剩下的功能。其本质就是一个请求。

/*转发到listEmp.jsp * --forward: 转发*/

RequestDispatcher requestDispatcher = req.getRequestDispatcher("emp/listEmp.jsp"); requestDispatcher.forward(req,resp);//转发,需要把当前的request,response对象传输到jsp页面

  • 重定向:重定向是一个请求的功能完成了,然后开启另一个请求,做另一个功能。 本质是两个请求。(第一 个请求是我们主动发的, 第二个请求是浏览器收到302代码和重定向的url地址, 然后浏览器主动发送的请求。)

/*响应结果:更新成功之后,重定向到查询的请求*/
//        resp.getWriter().println("更新成功!");
//        ---使用response的sendRedirect方法,实现重定向的功能
//        ---req.getContextPath(),项目的

    resp.sendRedirect(req.getContextPath()+"/list.do");

        为了解决有些获取数据的jsp代码量大的问题,我们学习了el表达式。

el表达式: 用于方便的获取到转发到jsp 页面上的数据的一种表达式语言。例:

<% -- $ { emp . eno } emp 对象的属性值的获取
***** 对象 . 属性名 , 要求,属性必须提供了正确的 get 方法。 ( 本质就是在调用 get 方法 )
-- %>
<h1> emp1:${emp1} </h1>
<h1> list:${emps} </h1>

三、cookie的使用

在服务器端代码中,创建 cookie 对象,在 response 中添加 cookie。

如:统计用户访问了多少次servlet

//获取cookie
Cookie [] cookies = req . getCookies ();
int count = Integer . parseInt ( value ) + 1 ;
//   修改 cookie 中的数据
c . setValue ( count + "" );
c . setMaxAge ( 30 );
resp . addCookie ( c ); // 修改浏览器中的 cookie 的数据

四、session的使用

 状态管理

  • cookie : 客户端状态管理的技术;
  • session:服务器端状态管理技术;

session中保存数据:

getSession(): 规则就是如果有就根据sessionid获取session对象,如果没有就直接创建一个session对象。

session常用于实现登录校验。把登录信息保存在session中。

五、过滤器

        在这个阶段末尾的学习内容是:过滤器,监听器,ajax的使用 。常用于解决不同servlet中总有实现相同功能的代码的代码冗余的问题。如:一个员工管理系统,要实现在做每一个操作之前都必须先登录的问题。如果没有登录,就访问增删改查等的任一操作,都重定向到登录界面,只有登录成功,才能请求。

        ajax: 异步请求, 用于网页的局部更新。使用jqueryajax 函数,实现异步请求的发送,获取到数据之后,使用jquery 将数据渲染到网页上。

        

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值