jsp基础语法,jsp语法对象

*1.GenericServlet与HttpServlet有什么区别?
HttpServlet是GenericServlet的子类。

GenericServlet是个抽象类,必须给出子类才能实例化。它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说你有可能用非http协议实现它(其实目前Java Servlet还是只有Http一种)。

HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。

一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。
HttpServlet 继承了GenericServlet,GenericServlet实现了servlet和servletConfig接口;
GenericServlet实现了普通的和http无关的servlet方法,如get(),post(),put(),delete()方法;
而httpservlet则提供了和http协议相关的方法doget(),doPost(),doput(),dodelete()方法;
*2.Servlet中的doGet()方法的有什么作用?
根据请求的类型(就是你form表单中method属性下面的那请求类型,默认为doget().)HTTPServlet类的excute方法会选择调用对应的方法。
dopost()是比较安全的,在你的浏览器上不会出现发送的参数,比如你如果提交带有密码的表单发请求时一定要是dopost(),否则密码会这样被显示在浏览器上…….jsp?pwd=kkk

*3.在运行Servlet之前容器会加哪个配置文件?
web.xml;
*4.在请求提交时请求通过哪个入口标签找到相应的Servlet实现类?
*5.Servlet在生命周期中,由哪三个方法来实现?
init(),service(),detroy();
*6.如何设置get提交方式的编码?
如果是tomcat的话 server.xml文件里
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
后边的URIEncoding就是设置get方法编码的如果没有指定URL接收的编码类型,自动会用ISO-885

==============================基础知识================================
理解
JSP基本语法
<% %>和转义字符使用
JSP脚本元素
<%! %>   <%= %>   <% %>
JSP指令元素
<%@page %> <%@include%> <%@taglib %>
JSP动作元素
<jsp:include><jsp:param>
<jsp:forward>
掌握
<%!%>   <%= %>   <% %>
<%@include%>  <jsp:include>
 <jsp:forward><jsp:param>


jsp元素指令
指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP网页的相关属性,例如:网页的编码方法、语法、信息等等
起止符号为:<%@...%>
内文部分为一些指令和一连串的属性设定:
<%@ directive  attr1=“value1”attr2=“value2”…   %>
包含三种指令:
page:  页面属性指令
include:包含指令
taglib: 自定义标签指令


page元素指令
page指令:设定整个JSP网页的属性和相关功能。
<%@page  attri1=“” attri2=“”  ....  %>
attribute可选值:
import=“” 指明该JSP可以使用那些JAVA API
session=“true/false”  指明该JSP是否可以用session对象
pageEncoding=“”     指明该JSP网页的编码方式
contentType   =“ ”    表示MIME类型和JSP的编码方式
buffer=“none/sizekb”    设置缓冲区,默认8KB
autoFlush=“true/false”  是否自动清楚缓冲
langugae=指明小脚本片断使用的语言,默认java
extends  =“”  指明生成的servlet继承那个父类
errorPage=“”   异常后的重定向UTL
isThreadSafe=“true|false”

指令元素–include指令
include指令:在JSP编译时插入一个包含文本或代码的文件,这个包含过程是静态的
<%@include file=“relativeURLspec”   %>
包含的文件类型:jsp,html,文本,java程序段。
relativeURLspec值不能是变量URL
<%@include file=“<%=URL%>”  %>
relativeURLspec后不能加任何参数。
relativeURLspec所指的路径必须是相对于此JSP的网页的路径。
文件中要避免有<html></html><body></body>

动态指令

1

<jsp:include>

包含指令,用来动态包含另一个JSP页面

2

<jsp:forward>   

转发指令,用来将请求转发至一个新的页面

3

<jsp:param>

参数标签,一般与其它动作指令搭配使用



<jsp:include>与<%@include >的区别
动态包含使用<jsp:include> 标签来实现
<jsp:includepage=“included.jsp” flush=“true” />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
动态包含可以给被包含的页面传递参数

静态包含使用include伪码实现
不会检查所含文件的变化,适用于包含静态页面
静态包含不能给被包含的页面传递参数

<jsp:forward>
<jsp:forward>操作将客户端所发出的请求从当前页面转交到另一个HTML或JSP页面。
<jsp:forward>标签之后的程序将不会在执行。
语法格式:
<jsp:forwardpage={“relativeURL ” | “<%=urlExpress%>”}” />
<jsp:forwardpage={“relativeURL ” | “<%=urlExpress%>”}”  >

                <jsp:param name=“pn”value=“{ pv |<%=expression %>}”/>*

</jsp:forward >


<jsp:param>用来提供key/value值,常与<jsp:include><jsp:forward>一起使用。
<jsp:paramname=“pname”value=“pvalue”/>
当与<jsp:include>和<jsp:forward>一起用时,被包含的网页或转向后的网页会先看看request对象里面除原来的参数值之外,是否有新的参数值,如果有,则新参数值会替换原来的参数值

=================================面试题=====================

jsp乱码如何解决,给出三种以上的对应解决方案,并给出对应的程序案例;

 

一、JSP页面显示乱码
<%@ page contentType=”text/html; charset=gb2312″%>

二、表单提交中文时出现乱码

request.seCharacterEncoding(̶gb2312″)对请求进行统一编码

三、数据库连接出现乱码
要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。

四、通过过滤器完成

五、在server.xml中的设置编码格式



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值