JAVA必背面试题2(JavaWeb+Ajax)

三 Java Web

1. Jsp页面便利集合?

(1)List<String> names = new LinkedList<String>();

(2)Set<String> set = new TreeSet<String>();

(3)Map<String, String> map = new HashMap<String, String>();

2. tomcat核心项目:tomacate出现乱码如何解决?如何增加tomcat和jdk的内存?jdk的版本?

(1)Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。

(2)更改 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文;方法是找到 server.xml
中的:<Connector port="8080" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />

(3)另一种方法:更该 Java 程序,我的程序是这样的:public class ThreeParams extends
HttpServlet {   public void doGet(HttpServletRequest request,
HttpServletResponse response)    throws ServletException,
IOException {
      response.setContentType("text/html; charset=GBK");

(4)增加tomcat内存的方法:linux下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:SET
JAVA_OPTS=-Xms512m
-Xmx1024m;表示初始化内存为512MB,可以使用的最大内存为1024MB;windows下,在tomcat_home}/bin/catalina.bat的前面,增加如下设置:SET
JAVA_OPTS=-Xms512m -Xmx1024m;

(5)Jdk的版本:JDK分为三种不同的版本 JAVA SE(标准版)Java EE(企业版)Java ME(微型版)。

Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java
SE是基础包,但是也包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise
Edition(Java EE)提供基础。

JavaEE:这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE
是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信
API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0
应用程序。

JavaME:这个版本以前称为 J2ME。Java ME
为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME
包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME
规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

3. 谈谈对MVC的理解以及它的工作流程;

(1)MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务;

jsp+Servlet+JavaBean
就是一种基础的基于mvc的开发模式;在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business
rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。

当模型发生改变时,它会通知视(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。

一个视(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。

控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。

工作流程:一个请求发送到action(作用:MVC中的C),action控制它发送到哪个biz处理,如果用到数据库,那么biz在连接dao,然后返回要的数据,最后action在返回响应的页面(比如jsp),因为是面向对象,所以实体domain在中间传递数据。

4. post和get以及get和load的区别?使用get应注意什么?

(1)Get 方法通过 URL
请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在servlet/jsp中就无法处理发挥java的比如vector之类的功能,输的数据量非常小,一般限制在
2 KB 左右);

Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由
action
属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理post方式:就传输方式讲参数会被打包在数据报中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响。接收的最大数据有限制,IIS
4 中为 80 KB 字节,IIS 5 中为 100 KB 字节

(1)建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法;Get 方式提交数据,会带来安全问题;通过 Get
方式提交数据时,用户名和密码将出现在 URL 上;所以表单提交建议使用 Post 方法;Post
方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框;

(2)Get与load的区别:总之对于get和load的根本区别,一句话,hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null;

5. java的九大内置对象和四大作用域;

(1)request 用户端请求,一次请求.此请求会包含来自GET/POST请求的参数

    response 网页传回用户端的回应

    pageContext 网页的属性是在这里管理

session 与请求有关的会话期 

application servlet 正在执行的内容

out 用来传送回应的输出 

config servlet的构架部件

page JSP网页本身 

exception 针对错误网页,未捕捉的例外

四大作用域:page对象表示当前一个JSP页面,可以理解为一个对象本身,是代表与一个页面相关的对象和属性;一个页面由一个编译好的
Java servlet 类表示,

request是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于
forward 指令和 include 动作的关系);用户端请求

session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
与请求有关的会话期 

application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web
应用程序,包括多个页面、请求和会话的一个全局作用域 正在执行的内容

四 Ajax

1. js里面的button方法,提交的时候,如何将数据传递到数据库?

(1)单击button的时候,先执行客户端的javascript代码,将JavaScript里面的值赋值到form表单里,然后通过表单提交的方式将数据提交到后台,交给java方法处理,然后调用业务层和数据库交互;

2. Ajax与jquery区别?ajax和servelet生命周期?

(1)区别:Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。jQuery是一个框架,它对JS(JS是一门前端语言。)进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便

jsp负责客户端显示

servlet负责控制,转向等

(2)生命周期:Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁;

init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。

service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法
就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在
HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。

destroy():
仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个
Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

Ajax:ajax负责客户端与服务器直接联系,而不用jsp提交表单。一般ajax与servlet联系,也可直接与javabean联系

3. Jquery的常用标签,常用选择器。

(1)标签: jquery常用标签 (document)//选择整个文档对象; ('#myId') //选择ID为myId的网页元素;
(′div.myClass′)//选择class为myClass的div元素;

('input[name=first]') // 选择name属性等于first的input元素;

(2)常用函数:val() 用来获得value属性的值;html()
获得元素标签内的所有信息;包裹标签和文本,相当于DOM中的innerHTML;size()获得集合/数组的长度;

(2)常用选择器: 基本选择器; 层次选择器; 过滤选择器; 表单选择器;

(2)#id : 根据给定的id匹配一个元素,返回单个匹配的元素:

(3).class:根据给定的类名匹配元素,返回集合元素

(4)*:匹配所有的元素,返回集合元素

(5)elements:根据给定的元素名匹配元素,返回集合元素

(6)Selector1选择器匹配:将每一个选择器匹配到的元素合并后一起返回

4. JQ(封装ajax;异步通讯;从前台传过去jason,后台如何解析?

(1)method:请求方式(GET/POST)

*  url:目标URL

*  content:用POST方式发出请求时想传给服务器的数据,

*         数据以查询字串的方式列出,如:name=value&anothername=othervalue。

*      若用GET方式:请传null

*  responseType:响应内容的格式(text/xml)

*  callback:要回调的函数

(2)异步通讯:  

I:初始化对象并发送XMLHttpRequest请求(针对IE7.0、8.0、firefox、mozillar、opera、safari浏览器;var
xmlhr=new XMLHttpRequest;针对IE5.0、5.5、6.0,var xmlhr=new
ActiveXObject( );)

II:指定响应处理函数(onreadystatechange)

III:发出HTTP请求(send)

IIII:处理服务器返回的数据(responseXML)

(3)解析:首先,我们要在前台引入json的脚本,以便于把js对象序列化

<script type="text/javascript"
src="/js/jquery.json-2.4.min.js"></script>

然后我们在前台声明一个类,将你要保存的值放到类里面,最后序列化

然后我们在后台,进行反序列化,并使用值.因为我们使用ajax所以要在后台的方法上加上[Ajax.AjaxMethod]特性,并且在你前台所在页面的cs里面也要加上Ajax的注册;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于JavaWeb的网上商城系统是一个通过Java编写的,使用JSP、Servlet、MySQL和Ajax等技术来构建的在线购物平台。该系统通过网络连接用户和商家,帮助用户浏览、选择和购买商品,同时也为商家提供了一个方便的销售平台。 该系统的主要功能包括商品展示、用户注册与登录、购物车管理、订单管理、支付和物流跟踪等。用户可以在系统中浏览各类商品,通过搜索或分类查找自己想要的产品,并将其加入购物车。用户还可以注册账号并登录系统,以便享受个性化的购物服务和更好的体验。 购物车管理模块允许用户对已选商品进行编辑、删除和结算操作,在结算时系统会自动计算商品的总价,并生成相应的订单。订单管理模块为用户提供查看订单、取消订单和评价订单等功能,同时商家也可以在系统中查看订单并进行发货操作。 为了保证交易的安全性,系统使用了支付和物流跟踪两个关键技术。支付模块允许用户选择不同的支付方式,并提供了安全的支付接口来完成交易。物流跟踪模块则通过整合物流公司的接口,让用户和商家可以实时追踪订单的配送状态。 总的来说,基于JavaWeb的网上商城系统提供了一套完整的购物解决方案,通过结合各种技术和模块,实现了商品展示、购物车管理、订单管理、支付和物流跟踪等功能,为用户和商家提供了一个便捷、安全的在线购物平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值