笔试题

递归:循环自己调用自己。
递归和for循环的主要区别在于递归的调用有自己的栈载数据,而for循环的loop调用共享stack 。
public class Test{
    static int a(int n){
        if(n==1 || n ==0){
            return n;
        }else{
            return n*a(n-1);
        }
    }
    public static void main(String[] args){
        System.out.println(a(10));
    }
}

===============================================================================================================================

截取分割字符串:
public class splitTest  
{  
    public static void main(String[] args)  
    {  
        String s = new String("1:品牌");   
        String a[] = s.split(":");  
      
        System.out.println(a[0]);  
        System.out.println(a[1]);  
    }  
} 

===============================================================================================================================

map的toString()方法:
public class Test {
    public static void main(String[] args) {
        HashMap map=new HashMap();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        System.out.println(map.toString());
    }
}

 public class TestTwo {
	public static void main(String[] args) {
		Map
    
    
     
      map = new HashMap
     
     
      
      ();
		map.put("a",1);
		map.put("b",2);
		map.put("c",3);
		System.out.println(map.toString());
	}
}

     
     
    
    

===============================================================================================================================
Spring,Struts2和Hibernate分别承担什么作用?








2.线程的基本概念、线程的基本状态以及状态之间的关系?

答:线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身;Java中的线程有四种状态分别是:运行、就绪、挂起、结束。


forward redirect的区别?【基础】

答:forward 是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取,并且从浏览器的地址栏中可以看到跳转后的链接地址。前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。


JSP 中动态INCLUDE与静态INCLUDE的区别?【基础】

答:动态INCLUDE jsp:include动作实现<jsp:include page="included.jsp"flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态INCLUDEinclude伪码实现,它不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>


get post的区别?【基础】

答:Form 中的getpost方法,在数据传输过程中分别对应了HTTP协议中的GETPOST方法。二者主要区别如下:

1Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;

2Get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL

3Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的;

4Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post

5Get限制Form表单的数据集必须为ASCII字符,而Post支持整个ISO10646字符集;

6GetForm的默认方法。


如何从form 表单中得取checkbox的值;【基础】

答:可在页面把checkbox name 属性取同一个,value属性取每个条目的id,后台用getParamter(name)能取到checkbox的一组值。



请画出Servlet 2.2 以上Web Application 的基本目录结构(2分钟)【基础】

答:目录结构如下图所示:

webapps

|

Applocation

|

__________________

| |

JSP 页面WEB-INF

|

___________________

| | |

classes lib web.xml



jsp的四种

范围?

page 是代表与一个页面相关的对象和属性。

request 是代表与Web客户机发出的一个请求相关的对象和属性

session 是代表与用于某个Web客户机的一个用户体验相关的对象和属性。

application 是代表与整个Web应用程序相关的对象和属性


详细描述MVC

答:基于Java Web应用系统采用MVC架构模式,即model(模型)、view(视图)、control(控制)分离设计;这是目前WEB应用服务系统的主流设计方向。

Model:即处理业务逻辑的模块,每一种处理一个模块,

应用的业务逻辑(通过JavaBeanEJB组件实现);

View:负责页面显示,显示MODEL处理结果给用户,主要实现数据到页面转换过程,

应用的表示面(由JSP 页面产生);

Control:负责每个请求的分发,把FORM数据传递给MODEL处理,把处理结果的数据传递给VIEW显示,

提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现


过滤器有哪些作用?

答:可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以验证用户是否登录,可以验证客户的浏览器是否支持当前的应用,可以记录系统的日志等等。

过滤器的用法?(对客户端的请求统一编码和对客户端进行认证)

答:首先要实现(implementsFilter接口,同时覆盖Filter接口的三个方法:

init(FilterConfig config) //用于获得FilterConfig对象;

doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) //进行过滤处理一些业务;

destroy() //销毁Filter



Web.Xml 的作用?【基础】

答:用于配置web 应用的信息;如listenerfilterservlet的配置信息等。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值