JSP

HttpServletRequest对象:
带着浏览器的数据到服务器,把浏览器的数据封装在一个request请求中,如果服务器需要获取浏览器的相关数据就需要到这个对象中去获取,相同页面的不同次的请求是不一样的请求对象.
servlet的职责:
获取请求参数,封装成对象
调用业务方法,处理请求
控制页面跳转
编码设置:
解码格式:服务器默认的解码格式是iso-8859-1.
所以需要设置为UTF-8
HttpServletResponse:
**响应对象,**服务器向浏览器请求进行回应,将数据返回给浏览器
线程安全问题:
不使用成员变量
注解配置:
xml和注解的优缺点:
xml: 解决硬编码.可能会比较臃肿.
注解:很简单很方便去配置servlet,但是硬编码又回来了.
如果对于一个servlet仅仅只配置url-pattern,更喜欢使用注解方式.
web.xml如果都使用注解,其实不是必须的.有可能会使用到,所以一般还是都会保留.
注意:
不要忽略扫描注解.
什么是JSP?
本质上是一个servlet,服务器会把jsp翻译成servlet的java文件,服务器在该servlet中,帮助我们输出一个html界面.
jsp是对html的拓展,jsp中可以写java代码,它擅长绘制界面,是动态页面的标准技术,可以与服务器进行数据的交互
一般不在jsp页面写java代码,因为不能体现责任分离的思想,获取数据使用EL表达式

跳转和信息共享:
跳转有两种方式:
1.请求转发:

    request.getRequestDispatcher(" XXX ").forward(request, response);

地址栏不会发生变化.
只会有目标资源s2的响应,s1的响应不生效.
请求转发只会发出一次请求.可以在请求转发中,在多个组件中进行共享数据.
请求转发可以访问WEB-INF中的资源,访问WEB-INF也只能使用请求转发.
请求转发不可以访问别人(域外)的资源.
2.重定向:
response.sendRedirect(“WEB-INF/views/loginFail.jsp”);
地址栏会发生变化.是s2.
只会有目标资源s2的响应,s1的响应不生效.
重定向会发送两次请求.在多个组件不能共享数据.
重定向,不能访问WEB-INF中的资源,相当于是把目标资源放在浏览器的地址栏敲回车.
重定向可以访问别人(域外)的资源.
请求转发和重定向的选用:
1.如果想在一次请求的多个组件之间可以共享数据,使用请求转发.
2.如果想请求到WEB-INF中的资源,使用请求转发.
3.如果想要访问到域外的资源,使用重定向.
其他的,可以使用请求转发和重定向的,都使用重定向.

作用域对象的作用和基本使用:
request
在一次请求过程中可以共享数据.如果想要在一次请求中,多个组件都共享数据,需要使用请求转发.
request在service方法中,tomcat在调用这个生命周期方法的时候,就会创建.

session
在一次会话过程中,不同的多个请求都可以共享数据.(会话过程:浏览器打开开始访问站点到浏览器关闭) .
HttpSession session = request.getSession(); 使用请求对象获取session对象
//设置值

      req.getSession().setAttribute("stulist", stulist);

application
在服务器启动过程中,都可以共享的数据.关闭服务器,application消失.
ServletContext application = getServletContext();
ServletContext application = request.getServletContext();

EL表达式的作用和javaBean属性的获取:

EL表达式:${属性名.属性值}

JSTL:
forech
if

     //获取值
        <c:forEach items="${stulist}" var="ele" varStatus="vs">
    			<tr style='background-color:${vs.count % 2==0 ?"#00FFFF":"pink"}' align="center">
    				<td>${ele.id}</td>
    				<td>${ele.name}</td>
    				<td>${ele.age}</td>
    			</tr>
    			<br />
    		</c:forEach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值