jsp和servlet的问题收集.... 答案有部分是自己理解的,可能有点差异

时间:2021-08-04 21:48:35
如何创建一个动态工程?
  File ---->  New ---->other ---->Web ---->Dynamic Web Project  选择动态WEB 项目工程
  WebContent/WEB-INF/classes 设置class文件存放路径
  Generate web.xml deployment descriptor 是否自动生成XML文件
  配置tomcat
  如何引用第三方的jar包,步骤是什么?
工程: 放到工程下面的WEB-INF目录下的lib文件夹下 点击add path
  动态工程中如何引入tomcat的库文件?
Tomcat: lib下面, 或者到webapps\WebContent\WEB-INF\lib
  Tomcat的三种部署方式?
  Webapps server.xml中指定 Context文件
  Tomcat是什么?tomcat就是一个功能强大的tcp服务端你现在使用的tomcat版本是 多少,对应的JDK版本是多少?
  1.7.0 1.6.0
  Tomcat可以远程调试吗?如何做?
  打开startup.bat文件加入代码(4行)
  在eclipse【run】下拉下选择【debug configuration…】
  双击【remote java application】,点击【new….】加入地址,端口号等...
  启动服务
  页面的提交方式最常用的有几种?是什么?
  IE地址栏的提交。
  超链接的提交。
  form表单的直接提交。
  通过js提交。
  Get和post提交有什么优缺点?
Get提交:提交的内容不能有中文
提交的内容是有长度限制的(但是我们一般不会超过)
提交的信息安全性不高。
action的值不能带?后加数据。
Post提交:提交的内容可以有中文
提交的内容没有长度限制
提交的信息IE不能显示出来
安全性比get更高
Action的值可以带?后加数据。
  相对路劲和绝对路劲有什么区别?在网页开发中如何区别?
用绝对路径表示的完整路径公式 = http://+服务端地址:端口 + 绝对路径【建议用 绝对路径的方式】
  用相对路径表示的完整路径公式 = 当前目录 + 相对路径。../这个表示上一级目 录。./表示
  区别: 一种是以/开头,称为绝对路径。一种是不以/开头,称为相对路径。
  Jsp是什么?
  就是java代码和html代码写在一起的页面,属称动态网页。
  如何规定网页显示使用哪种编码格式?
  UTF-8 在JSP的文件头charset那设置编码字符,默认是:ISO-8859-1
  在一个页面中引入另一个页面如何做?
  切割
  Jsp可以引入第三方的包吗?
  可以, JSP是Java和html语言一起写的,但是Java语言需要用<%Java代码%>包着
  Servlet的开发步骤是什么?
  继承HttpServlet类,重写service方法
  编写XML配置文件
  说说jsp的原理?
  IE看似访问(IE地址)的是jsp页面,IE实际是访问的是编译后的Java的class文件。
  Jsp的代码tomcat服务器会编译成Java代码,存放在服务器的工作目录
  说说serlvet的原理?要简单从tomcat实现servlet的原理说起.
  tomcat启动的时候,servlet对象会加载到tomcat容器中,并调用init 初始化方法。
  服务器接收到IE的请求,服务器找的是XML的配置文件,根据对应的配置 寻找对应的servlet。
  每次请求的时候,servlet对象会调用service方法,从而调用doget或 者dopost方法。
  服务关闭以后才会销毁serlvet对象。
  Servlet的初始化如何做?
  servlet对象会加载到tomcat容器中,并调用init初始化方法。
  一个请求都调用哪些serlvet类?它的流程是什么?都调用过哪些方法?
  ServletRequst HttpServletRequst ServletResponse HttpServletResponse
doGet() get请求将调用此方法
doPost() post请求将调用此方法
service() 接收标准的http请求,有get,post请求,根据不同的请求调用doGet方法和doPost方法
service() 接收客户端请求。入口方法,每次请求都调用。调方法会调用service(HttpServletRequest req, HttpServletResponse resp)方法。
  Serlvet的生命周期是什么?
  tomcat启动的时候,servlet对象会加载到tomcat容器中,并调用init 初始化方法。
  每次请求的时候,servlet对象会调用service方法,从而调用doget或者 dopost方法。
  服务关闭以后才会销毁serlvet对象。Destroy()
  4.Servlet执行不是线程安全的。
  页面提交服务端的信息有哪些?
  IE提交过来的所有信息都封装在request对象中。所以我们要得到IE提交的数据,必须从request对象中获取。对象封装了浏览器请求的信息(自动生成的头信息 + 用户信息),通过调用该对象相应的方法可以获取封装的信息。
  服务端返回给页面的信息有哪些?
对客户的请求作出动态的响应,主要封装了返回报文的报文头信息。
  页面跳转有哪两种?方法是什么名字?他们的区别是什么?
  内部跳转和外部跳转
  内部:request.getRequestDispatcher(“url”).forward(req,reqs);
  外部: sendRedirect
  区别: 内部跳转:可以使用setAttribute的方式传值,但是只能在跳转到本工程 的其他地方。如果是内部跳转,效率更高。
  外部跳转:不可以使用setAttribute的方式传值。可以跳转到其他服 务器中。
  说说jsp有几大内置对象?
  九大内置对象
  Requst
  Response
  Session
  Application
  Exception
  Config
  Page
  pageContext
  out
  解析一下jsp的内置对象,他们都是什么对象,有什么作用?
  就是在jsp里面不用声明就可以直接使用的对象。
  对信息提交和请求的封装
  Jstl标签是什么?需要如何使用?
  Jsp标准标签函数库
  jstl.jar+standard.jar应该放到工程的lib目录下。
  在jsp页面头处导入包
  Jstl有哪些常用的标签?
  <c:out >
  <c:if test="表达式" var="flag"></c:if>
  <c:choose>
  <c:when test="条件1">1</c:when>
  <c:when test="条件2">2</c:when>
<c:otherwise>不然</c:otherwise>
  </c:choose>
  
  <c:forEach></c:forEach>
  <c:forTokens></c:forTokens>
  <fmt:formatDate/>
  什么是自定义标签,它实现的步骤是什么?
创建标签的处理类(Tag Handler Class): extends TagSupport
创建标签库描述文件(Tag Library Descrptor File). .tld文件
在web.xml文件中配置<tag>元素
在JSP文件中引人标签库
  什么是过滤器,他如何实现?
  过滤器就是每次请求到服务器之前都要通过的”一道坎”判断是否符合请求规则或者自定义规则. 如非法地址登录(没登录的时候就直接进入到业务层的页面)
  implements Filter (实现filter类)
  什么是监听器?监听哪些对象,它如何实现?
  监听器就是监视3大对象的生死存亡 实现ServletContextListener接口重写里面的方法
  <listener>
   <listener-class>com.kcit.luo.onlineSoul.OnlineSoulListener</listener-class>
   </listener>
  如何设置session的超时时间?
  在XML中配置
   <session-config>
   <session-timeout>30</session-timeout>
   </session-config>
  Session的原理。
  session是通过键值对存储的。
  Session每次浏览器请求都会自动生成 会话结束自动销毁(浏览器的请求到浏览器关闭)
  Session有默认存活形式,30分钟
  如何设置服务的首页显示?
  Cookie是什么?有什么作用,如何使用?
  是服务器存储在客户机上面的数据文件
  
  服务器可以将用户名密码等信息存储在客户机上面, 网页可以对应访问分析这个文件.从而实现网页版的用户名密码保存
  
  New一个新的cookie
String getName() 返回Cookie的名字
void setValue(String newValue) cookie创建后设置一个新的值。
  
  
  Application,session,request对象的生命周期是什么?
  Application: 服务器的启动到服务器的关闭, 全局都有效
  Session: 请求的开始到会话结束(如果非正常退出会话,按照默认的设置30分钟清除掉Session)
  Request: 每次请求及响应均会自动生成, 范围在两个页面之间
  如果你发现有信息传递有乱码,你如何解决?
  调用ServletRequest的setCharacterEncoding(String s)来设置编码字符
  2. 调用ServletResponse的setCharacterEncoding(String s)&setContentType("text/html; charset=utf-8")来设置编码字符
  如何调试servlet类?
  用debug方式运行, 在异常的代码地方打标记 按F5678对代码逐步查看, 变量,以及流程等等....
  动态工程中的.classpath文件有什么作用?
  存放编译后的class文件,比如servlet和jsp的class文件都存放在这目录下面, 启动web服务器之后,ie请求访问的是class文件
  如果你发现你的eclipse有无法解决的问题时?你要最快解决它,该如何做?
  用debug断点调试 问同学,老师 百度, 上论坛
  Eclipse如何关联tomcat服务?其他问题(答案可以将常规问题的组合):
  1.JDK配置java_home
  2.eclipse的window》preference》Server 》runtime environment下面
  增加服务器类型(选择和JDK对应的版本)
  配置路径, 这个tomcat的名称.以及使用JDK的版本
  再到工程下面配置运行环境,增加tomcat这个服务器
  jsp与servlet区别?
  * Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象, 或由HttpServletResponse对象生成。
  * 对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。
   Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内 容,至于Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet 则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
  jsp和servlet的实质是一样的,jsp最终还是编译成servlet
  一、jsp最终还是编译成servlet,所以jsp比servlet慢。
  二、jsp负责前台页面显示,servlet负责业务控制。