jsp和servlet的问题收集.... 答案有部分是自己理解的,可能有点差异
如何创建一个动态工程? 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负责业务控制。