JS和JSP

JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了Html语法中的Java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

jsp 要先翻译,注意是翻译成servlet才能执行:比如 test.jsp 要变成 test_jsp.java 然后编译成 test_jsp.class而 test_jsp.java 本身就是一个servlet.所以 jsp只是servlet的一个变种,方便书写html内容才出现的。servlet是根本,所有jsp能做的,servlet全能做。servlet的运行机制和Applet类似,只不过它运行在服务器端。

JS是Java Script 的缩写,是一种基于对象的客户端脚本语言。主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JS可以直接嵌入到html代码中进行解析执行,非常简单易学,可以产生很多动态的效果。扩展阅读:http://www.w3school.com.cn/js/

简单地说——JS是在客户端执行的,需要浏览器支持JavaScript。JSP是在服务器端执行的,需要服务器上部署支持Servlet的服务器程序。JS代码是能够直接从服务器上download得到,对外是可见的,jsp(和翻译后的servlet)代码是对外不可见的。

JS与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。JSP在HTML中用<%%>里面实现。JS在html中用<Script></Script>实现

### JavaScript JSP 的定义 JavaScript 是一种广泛用于前端开发的脚本语言,主要用于实现网页上的交互功能。通过嵌入到HTML页面中,在客户端浏览器执行,可以动态更新内容、响应用户操作以及与服务器通信。 JSP(JavaServer Pages)是一种基于 Java 技术的服务器端技术,允许开发者创建动态Web应用程序。它将业务逻辑封装在Java类里,并且可以在页面内编写Java代码片段来处理请求并生成HTML或其他类型的文档发送给客户端[^1]。 ### 执行环境对比 - **JavaScript**: 主要在用户的浏览器环境中运行,属于客户端编程语言。 - **JSP**: 运行于支持Servlet/JSP规范的应用程序容器(如Tomcat)之上,负责接收HTTP请求,经过加工后返回相应的响应数据给客户端。 ### 功能侧重点不同 #### 客户端交互 对于增强用户体验的任务来说,比如表单验证、AJAX调用等即时反馈的操作更适合由JavaScript完成: ```javascript function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Name must be filled out"); return false; } } ``` #### 服务端渲染 当涉及到复杂的商业逻辑计算或者数据库查询时,则交给了更擅长这方面工作的JSP来做: ```jsp <%@ page import="java.sql.*" %> <html> <body> <h3>Employee Details</h3> <table border=1 cellpadding=5 cellspacing=0> <tr><th>ID<th>Name<th>Salary <% Connection conn=null; Statement stmt=null; try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/test","root",""); stmt = conn.createStatement(); String sql ="SELECT * FROM employee"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ %> <tr> <td><%=rs.getInt("id") %></td> <td><%=rs.getString("name") %></td> <td><%=rs.getDouble("salary") %></td> </tr> <% } }catch(Exception e){ e.printStackTrace(); }finally{ if(stmt!=null){stmt.close();} if(conn!=null){conn.close();} } %> </table> </body> </html> ``` ### 协作方式 两者通常会协同工作以构建完整的Web应用。例如,JSP 页面可以通过 `<script>` 标签引入外部JS文件或直接写入内联 JS 脚本来控制页面行为;而 AJAX 请求则可以让 JavaScript 向 JSP 提供的数据接口发起异步调用来获取最新信息而不必刷新整个页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值