Java WEB 总结 JSP篇--源自技术

JSP实验报告:Java Web开发实战项目解析 JSP也许不再是主流框架,但它教会我们的东西却永远不会过时:HTTP请求生命周期MVC分层架构服务端渲染机制会话管理与状态保持字符编码与安全性处理这些底层认知,是你掌握Spring Boot、React SSR、微服务架构的基石。与其纠结“JSP要不要学”,不如问自己一句:“我能独立搭建一个可运行的Java Web环境吗?“我理解页面是如何从JSP变成HTML的吗?“我知道session和cookie的区别吗? 阅读详情

一、jsp是另类的servlet


编写index.jsp,然后放入到Tomcat中,然后启动Tomcat,使用浏览器访问jsp。
[java]  view plain  copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4.   <head>  
  5.     <title>My JSP 'index.jsp' starting page</title>  
  6.     <meta http-equiv="pragma" content="no-cache">  
  7.     <meta http-equiv="cache-control" content="no-cache">  
  8.     <meta http-equiv="expires" content="0">      
  9.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  10.     <meta http-equiv="description" content="This is my page">  
  11.   </head>  
  12.   <body>  
  13.     你好,世界!  
  14.   </body>  
  15. </html>  

在Tomcat的work目录下可以看到jsp编译生成的java和class文件
[Tomcat安装路径]/work/Catalina/localhost/_/org/apache/jsp/index_jsp.class
[Tomcat安装路径]/work/Catalina/localhost/_/org/apache/jsp/index_jsp.java
打开index_jsp.java,可以看到他就是一个servlet。
[java]  view plain  copy
  1. package org.apache.jsp;  
  2. import javax.servlet.*;  
  3. import javax.servlet.http.*;  
  4. import javax.servlet.jsp.*;  
  5. import java.util.*;  
  6.   
  7. public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase  
  8.     implements org.apache.jasper.runtime.JspSourceDependent {  
  9.   private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();  
  10.   private static java.util.List _jspx_dependants;  
  11.   private javax.el.ExpressionFactory _el_expressionfactory;  
  12.   private org.apache.AnnotationProcessor _jsp_annotationprocessor;  
  13.   public Object getDependants() {  
  14.     return _jspx_dependants;  
  15.   }  
  16.   public void _jspInit() {  
  17.     _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();  
  18.     _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());  
  19.   }  
  20.   public void _jspDestroy() {  
  21.   }  
  22.   public void _jspService(HttpServletRequest request, HttpServletResponse response)  
  23.         throws java.io.IOException, ServletException {  
  24.     PageContext pageContext = null;  
  25.     HttpSession session = null;  
  26.     ServletContext application = null;  
  27.     ServletConfig config = null;  
  28.     JspWriter out = null;  
  29.     Object page = this;  
  30.     JspWriter _jspx_out = null;  
  31.     PageContext _jspx_page_context = null;  
  32.     try {  
  33.       response.setContentType("text/html;charset=UTF-8");  
  34.       pageContext = _jspxFactory.getPageContext(this, request, response,  
  35.                 null, true, 8192, true);  
  36.       _jspx_page_context = pageContext;  
  37.       application = pageContext.getServletContext();  
  38.       config = pageContext.getServletConfig();  
  39.       session = pageContext.getSession();  
  40.       out = pageContext.getOut();  
  41.       _jspx_out = out;  
  42.       out.write("\r\n");  
  43.       out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");  
  44.       out.write("<html>\r\n");  
  45.       out.write("  <head>\r\n");  
  46.       out.write("    <title>My JSP 'index.jsp' starting page</title>\r\n");  
  47.       out.write("\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");  
  48.       out.write("\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");  
  49.       out.write("\t<meta http-equiv=\"expires\" content=\"0\">    \r\n");  
  50.       out.write("\t<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\r\n");  
  51.       out.write("\t<meta http-equiv=\"description\" content=\"This is my page\">\r\n");  
  52.       out.write("  </head>\r\n");  
  53.       out.write("  \r\n");  
  54.       out.write("  <body>\r\n");  
  55.       out.write("  \t你好,世界!\r\n");  
  56.       out.write("  </body>\r\n");  
  57.       out.write("</html>\r\n");  
  58.     } catch (Throwable t) {  
  59.       if (!(t instanceof SkipPageException)){  
  60.         out = _jspx_out;  
  61.         if (out != null && out.getBufferSize() != 0)  
  62.           try { out.clearBuffer(); } catch (java.io.IOException e) {}  
  63.         if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);  
  64.         else log(t.getMessage(), t);  
  65.       }  
  66.     } finally {  
  67.       _jspxFactory.releasePageContext(_jspx_page_context);  
  68.     }  
  69.   }  
  70. }  

我们把index_jsp.java中输出的“您好,世界!”修改成“你好,明天!”。
然后用一下命令重新编译一下

[plain]  view plain  copy
  1. javac -encoding utf-8 -cp D:\developApps\apache-tomcat-6.0.37\lib\jsp-api.jar;D:\developApps\apache-tomcat-6.0.37\lib\servlet-api.jar;D:\developApps\apache-tomcat-6.0.37\lib\jasper.jar;D:\developApps\apache-tomcat-6.0.37\lib\el-api.jar; D:\developApps\apache-tomcat-6.0.37\work\Catalina\localhost\_\org\apache\jsp\index_jsp.java  

编译成功之后重启Tomcat,然后访问,可以发现我们没有修改jsp但是响应的结果由

“您好,世界!”变成了“你好,明天!”。

Tomcat在什么时候将jsp转换成servlet的呢?

1.清空work文件夹,然后启动Tomcat。
  》work文件夹下没有java和class文件。
2.通过浏览器访问index.jsp。
》work文件夹下生成java和class文件。
一般情况下,JSP引擎会检查JSP文件对应的servlet是否已经存在,并且检查JSP文件的修改日期是否早于servlet。如果JSP文件的修改日期早于对应的servlet,那么容器就可以确定JSP文件没有被修改过并且servlet有效。这使得整个流程与其他脚本语言(比如PHP)相比要高效快捷一些。总的来说,JSP网页就是用另一种方式来编写servlet而不用成为Java编程高手。除了解释阶段外,JSP网页几乎可以被当成一个普通的servlet来对待。

二、jsp标准动作

jsp:include 在页面被请求的时候引入一个文件。
jsp:useBean 寻找或者实例化一个JavaBean。
jsp:setProperty 设置JavaBean的属性。
jsp:getProperty 输出某个JavaBean的属性。
jsp:forward 把请求转到一个新的页面。
jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
jsp:element 定义动态XML元素
jsp:attribute 设置动态定义的XML元素属性。
jsp:body 设置动态定义的XML元素内容。
jsp:text 在JSP页面和文档中使用写入文本的模板

三、jsp指令

<%@ page ... %> 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %> 引入标签库的定义

page指令的属性

buffer 指定out对象使用缓冲区的大小
autoFlush 控制out对象的 缓存区
contentType 指定当前JSP页面的MIME类型和字符编码
errorPage 指定当JSP页面发生异常时需要转向的错误处理页面
isErrorPage 指定当前页面是否可以作为另一个JSP页面的错误处理页面
extends 指定servlet从哪一个类继承
import 导入要使用的Java类
info 定义JSP页面的描述信息
isThreadSafe 指定对JSP页面的访问是否为线程安全
language 定义JSP页面所用的脚本语言,默认是Java
session 指定JSP页面是否使用session
isELIgnored 指定是否执行EL表达式
isScriptingEnabled 确定脚本元素能否被使用

jsp指令与jsp标准动作的区别

JSP动作元素在请求处理阶段起作用,JSP指令是在编译期间起作用。
我们在index.jsp添加<%@ include ... %>引入page.jsp
page.jsp内容
[java]  view plain  copy
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. 我是一个小尾巴!  

生成的index_jsp.java中_jspService函数
[java]  view plain  copy
  1. out.write("我是一个小尾巴!");  
我们在index.jsp添加<jsp:include ... %>引入page.jsp
生成的index_jsp.java中_jspService函数,同时page.jsp也编译成相应的java和class
[java]  view plain  copy
  1. org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "page.jsp", out, false);  
从上我们可以看到<%@ include ... %>在编译期就就将page合并到index中。

四、EL表达式

1.语法结构

${}

2.运算符

  取值型:.和[],其中[]可以实现动态取值。
  算术型:+、-、*、/、%、div、mod、一元运算符(++、--、!)、三元运算符、()
  逻辑型:&&、||、!、and、or、not
  关系型:==、>、<、!=、<=、>=、eq、ne、neq、gt、lt、gte、ge、let、le
  其他:empty

3.隐式对象

pageContextJSP 页的上下文。它可以用于访问 JSP 隐式对象,如请求、响应、会话、输出、servletContext 等。例如,${pageContext.response} 为页面的响应对象赋值。
param将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter (String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 ${param . name}相当于 request.getParameter (name)。
paramValues将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues. name} 相当于 request.getParamterValues(name)。
header将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header. name} 相当于 request.getHeader(name)。
headerValues将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues. name} 相当于 request.getHeaderValues(name)。
cookie将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie. name .value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues. name} 表达式。
initParam将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。
pageScope将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope .objectName. attributeName}
requestScope将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope. objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope. objectName. attributeName} 访问对象的属性。
sessionScope将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:${sessionScope. name}
applicationScope将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。

五、JSTL(Apache的标准标签库)

核心标签

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out> 用于在JSP中显示数据,就像<%= ... >
<c:set> 用于保存数据
<c:remove> 用于删除数据
<c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if> 与我们在一般程序中用的if一样
<c:choose> 本身只当做<c:when>和<c:otherwise>的父标签
<c:when> <c:choose>的子标签,用来判断条件是否成立
<c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach> 基础迭代标签,接受多种集合类型
<c:forTokens> 根据指定的分隔符来分隔内容并迭代输出
<c:param> 用来给包含或重定向的页面传递参数
<c:redirect> 重定向至一个新的URL.
<c:url> 使用可选的查询参数来创造一个URL

格式化标签

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatNumber> 使用指定的格式或精度格式化数字
<fmt:parseNumber> 解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate> 使用指定的风格或模式格式化日期和时间
<fmt:parseDate> 解析一个代表着日期或时间的字符串
<fmt:bundle> 绑定资源
<fmt:setLocale> 指定地区
<fmt:setBundle> 绑定资源
<fmt:timeZone> 指定时区
<fmt:setTimeZone> 指定时区
<fmt:message> 显示资源配置文件信息
<fmt:requestEncoding> 设置request的字符编码

SQL标签

<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:setDataSource> 指定数据源
<sql:query> 运行SQL查询语句
<sql:update> 运行SQL更新语句
<sql:param> 将SQL语句中的参数设为指定值
<sql:dateParam> 将SQL语句中的日期参数设为指定的java.util.Date 对象值
<sql:transaction> 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

XML 标签

<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<x:out> 与<%= ... >,类似,不过只用于XPath表达式
<x:parse> 解析 XML 数据
<x:set> 设置XPath表达式
<x:if> 判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
<x:forEach> 迭代XML文档中的节点
<x:choose> <x:when>和<x:otherwise>的父标签
<x:when> <x:choose>的子标签,用来进行条件判断
<x:otherwise> <x:choose>的子标签,当<x:when>判断为false时被执行
<x:transform> 将XSL转换应用在XML文档中
<x:param> 与<x:transform>共同使用,用于设置XSL样式表

JSTL函数

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
函数
fn:contains() 测试输入的字符串是否包含指定的子串
fn:containsIgnoreCase() 测试输入的字符串是否包含指定的子串,大小写不敏感
fn:endsWith() 测试输入的字符串是否以指定的后缀结尾
fn:escapeXml() 跳过可以作为XML标记的字符
fn:indexOf() 返回指定字符串在输入字符串中出现的位置
fn:join() 将数组中的元素合成一个字符串然后输出
fn:length() 返回字符串长度
fn:replace() 将输入字符串中指定的位置替换为指定的字符串然后返回
fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
fn:startsWith() 测试输入字符串是否以指定的前缀开始
fn:substring() 返回字符串的子集
fn:substringAfter() 返回字符串在指定子串之后的子集
fn:substringBefore() 返回字符串在指定子串之前的子集
fn:toLowerCase() 将字符串中的字符转为小写
fn:toUpperCase() 将字符串中的字符转为大写
fn:trim() 移除首位的空白符
JSP基于Web的助学贷款管理系统 本文还有配套的精品资源,点击获取 简介:该系统是一个基于Java和JSP技术构建的在线助学贷款管理网站,用于帮助学生申请和管理助学贷款。它结合了Java编程语言的面向对象特性和MySQL数据库的存储功能,包括了项目说明和源代码,适合用作教学或实践项目,帮助学生理解Web开发的全过程。 1. Java技术核心 1.1 Java语言概述 Java是一种广泛使用... 阅读详情

相关推荐

深入解析AutoConfigURL劫持:从注册表权限到一键修复

本文深入解析了AutoConfigURL劫持的原理,揭示其通过篡改注册表权限锁定浏览器设置的机制。文章提供了从手动修复注册表权限到使用一键修复工具的详细解决方案,并指导用户进行DNS检查与病毒查杀,以彻底根除此类顽固劫持问题。

weixin_29229989的博客 770

JAVA WEB 总结 JSP篇

一、jsp是另类的servlet 编写index.jsp,然后放入到Tomcat中,然后启动Tomcat。 My JSP 'index.jsp' starting page 你好,世界! 在Tomcat的work目录下可以看到jsp编译后端java和class文件 [Tomcat安装路径]/work/Catali

王文强 929

SAP PP工艺路线Routing保姆级配置指南:从CA01创建到替代/并行顺序实战

本文详细解析SAP PP模块中工艺路线(Routing)的配置与应用,从基础创建(CA01)到高级功能如替代顺序和并行顺序的实战操作。通过真实案例演示,帮助用户掌握SAP PP工艺路线的精细化管理,提升生产流程效率。

weixin_30898555的博客 389

JavaWeb_JSP

JSP和MVC三层架构

qq_57689612的博客 3230

TI理想二极管在冗余电源中应用实例

深入探讨理想二极管如何提升冗余电源系统的效率与可靠性,通过实际应用案例展示其在电流隔离和自动切换中的优势,帮助工程师优化电源架构设计。

weixin_30653091的博客 992

基于云平台的ATS系统微服务架构方案研究

在当前智慧地铁的升级转型过程中,城市轨道交通ATS系统面临着稳定性差、运维方 式繁琐和故障应急处理效率低等问题。为此,提出一种基于云平台的ATS系统微服务架构方案; 研究了ATS系统在云平台上的微服务总体架构、ATS应用的微服务划分和设计、容器部署方式 及通信交互模式,可实现系统松耦合和易扩展,达到节约计算资源、提高系统稳定性和运营效 率的目的

mi_lan1的博客 966

JSP简明记录

分别讲解了JSP的page指令、9大内置对象、jsp动作标签、jsp的BeanUtils工具类、JSTL标签库的使用,并都给出了简单实例。

蜕变的快乐 5054

Halcon一维测量实战:从measure_pos与measure_pairs的底层原理到精准应用

本文深入解析Halcon中measure_pos与measure_pairs算子的底层原理与精准应用,涵盖参数调优、测量矩形方向设置及典型工业场景实战。通过对比分析,揭示两者在一维测量中的核心差异与适用场景,提供从基础到高级的完整解决方案,助力工业视觉检测精度提升。

weixin_42525551的博客 426

jsp内置对象实现登录

jsp内置对象实现登录

爸爸去哪了2之熊猫三胞胎的博客 1169

cesium 实时轨迹

运用cesium中model和polyline添加模型和轨迹线,用CallbackProperty方法来实时改变经纬度。

God's asylum的博客 1964

【72】【OpenCV C++ & C#】 将cv::Mat 图像转换成imgINFO 传给c#在winform上显示,OpenCV C++如何将处理后的图像传给C#呢? 如何获取图像信息呢?

本文介绍了通过OpenCV C++处理图像后传递给C#的方法。首先定义了一个结构体imgINFO存储图像信息(数据指针、宽高、通道数等),然后通过getImgInfo函数将cv::Mat转换为该结构体。文章特别指出当图像宽度不能被4整除时可能出现失真问题,并给出了两种解决方案:调整输入图像或创建新的对齐图像。此外还解释了img.step和img.cols*img.elemSize()的关系,说明它们在大多数情况下是相等的。最后提到需要通过DLL将结构体传递给C#(具体方法参见其他文章)。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 697

jsp邮箱登录页面及response对象的转发和重定向

转发和重定向这不简简单单咯φ(゜▽゜*)♪

psh073014的博客 906

把 LLM 编排能力塞进 ABAP 系统里,ZLLM 仓库的工程价值与 SAP 落地场景

ZLLM项目将LLM应用开发中的常见工程问题引入ABAP原生环境,为SAP系统提供AI工作流构建能力。它类似ABAP版的LangChain,支持Chain组合、Prompt模板、状态传递等核心功能,强调纯ABAP实现、延迟执行以及与ABAP数据结构的深度集成。项目包含工厂类、LLM客户端、负载均衡器等模块,特别设计了能处理ABAP内表和结构的模板引擎,使业务数据可直接用于Prompt生成。通过Step和Flow机制支持复杂业务过程编排,并采用延迟执行和并行处理优化批量任务性能。该项目为ABAP开发者提供了在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 61

Spring3MVC 在JSP中使用@ModelAttribute--源自技术

在教程中,我们将创建一个简单的Spring3MVC simple CRUD应用程序.  什么是@ModelAttribute  Spring3关于@ModelAttribute的文档 (http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-modelattrib)

MyJava_Dx的博客 5364

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jsp第一课-jsp简介

声明:本课件内容大部分来自《jsp实用教程(第2版)》耿祥义 张跃平 1.什么是JSP   JSP(Java Server Pages)是基于Java 语言的一种Web应用开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。如今,许多著名的Web网站都使用了JSP技术。 2.Tomcat服务器的安装与配置    将安装JSP引擎的计算机称作一个支持JSP的Web服务器

flyuniverse_shell的专栏 963

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java Servlet JSP使用Gson 输出JSON格式数据

在现代 Web 应用程序中,我们以 JSON 格式从服务器获取数据,并使用前端库或 Angular、React 等框架在 jsp 或 html 页面中显示数据。这与移动应用程序开发类似。在这里,我们将看到如何从 servlet 获取 JSON 响应并在 jsp 中显示。Java S cript Object Notation ( JSON ) 是一种用于交换数据的轻量级格式。这些是 JSON 的特性。JSON 可用于在不同平台之间交换数据。由于轻量级,在不同应用程序(即基于 Web 的应用程序)之间交换信息

allway2的博客 1642

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java Web表示层技术(Java Web工作原理)

8Servlet概貌: (此为引用) 8Servlet主要任务:       1 读取客户端发送的显式和隐式数据          2生成结果          3向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据) 9Servlet规范 :       规范只定义了一个容器必须实现的标准功能       Servlet容器有很多不同的实现  

零壹 980

jsp中删除_什么是JSP,JSP的运行原理是什么?

在动态Web项目的开发中,经常需要动态生成HTML。内容(如系统中的当前在线人数需要动态生成)。如果使用Servlet实现HTML页面数据的统计,则需要使用大量的输出语句。同时,如果静态内容和动态内容混合在一起,那么也将导致程序非常臃肿。为了克服Servlet的这些缺点,Oracle( Sun)公司推出了JSP技术。JSP(Java Server Pages)是建立在Servlet规范之...

weixin_39711721的博客 175

java jsp网页新闻_JSP新闻显示

MYSQL数据库创建新闻表,用户登陆时使用SERVLET获取用户名,效验通过后直接跳转新闻列表页面,JSP使用EL显示新闻列表1.首先创建数据库及用户、新闻表CREATE DATABASE /*!32312 IF NOT EXISTS*/`NewsDB` /*!40100 DEFAULT CHARACTER SET utf8 */;USE`NewsDB`;/*Table structure for...

weixin_39751453的博客 936

浅谈一款古老技术 动态页面jsp

文章目录0. 前言:1. jsp的使用2. jsp的本质及编译过程3. jsp语法4. jsp九大内置对象与四大域对象5. 服务器创建的三大域对象(Servlet三大域对象)6. jsp的常用标签7. EL 表达式8. JSTL 标签库 0. 前言: Jsp作为一个后端渲染技术,已经不符合现在前后端严格分离的主流设计思路。“Jsp是严重过时的技术,行将进入坟墓。” 那么jsp被什么替代了? 要么前后端分离,后端只需要返回JSON给前端,页面完全不需要后端管。 要么就是用常见的模板引擎『freemarker』

weixin_43741711的博客 919

简单Java Web学生信息管理系统

简单Java Web学生信息管理系统 去发现同类优质开源项目:https://gitcode.com/ 本项目是一个简单的Java Web学生信息管理系统,适用于初学者了解和实践Java Web开发。该系统基于JSP和Servlet技术,并使用了MySQL数据库进行数据存储。 项目描述 本项目来源于网络上的一篇教程,作者在学习Java Web的过程中,以此项目作为练手。项目原使用Oracle数据库...

gitblog_06740的博客 438

【问题解决】IDEA右键选择new新文件的时候没有JSP文件选项解决

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 本人接触IDEA没多久,使用过程中遇到很多问题。特别是这个问题网上没找到很好的解决办法。 所以我以前创建的时候都是创建文件,然后自己打后缀,拷贝jsp的模板,实在麻烦。 经过差不多半天的逛论坛,谷歌百度,整合了下...

weixin_34054866的博客 3932

ajax在 jsp中的应用

Ajax技术概要复习及使用Ajax调用jsp或servlet进行异步验证 分类: html/div+css/JS/Ajax/Flex 2011-02-13 12:45 198人阅读 评论(5) 收藏 举报 在注册用户等情况下会需要Ajax进行异步验证用户是否存在,而这个验证信息在JAVA中可以放到JSP中,也可以放到servlet类中,而两者的差异就如果我们使用

zxl0016的专栏 4712

jsp out java_jsp文件中的out无法使用

源自:3-4 out对象jsp文件中的out无法使用我的jar包也导过了,位置是对的在lib目录下,但运行就会报这样的错Stacktrace:] with root causeorg.apache.jasper.JasperException: Unable to compile class for JSP:An error occurred at line: [31] in the genera...

weixin_42349469的博客 906

Servlet和JSP的区别于联系

区别: 1.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。.Servlet的实现方法是在Java语言中嵌入HTML代码,编写和修改不方便,所以适合做流程控制和业务逻辑。JSP的实现方式是在HTML中嵌入Java代码比较适合页面显示。 2.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。 联系: JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

qq_44239380的博客 561

Java杂谈(八)--Servlet/Jsp

念是组件和容器。曾经有的人问笔者Servlet的Class文件是哪里来的?他认为是J2ee官方提供的,我举了一个简单的反例:稍微检查了一下Tomcat5.0里面的Servlet.jar文件和JBoss里面的Servlet.jar文件大小,很明显是不一样的,至少已经说明了它们不是源自同根的吧。其实Servlet是由容器根据J2ee的接口定义自己来实现的,实现的方式当然可以不同,只要都遵守J2ee规范和指南。 上述只是一个常见的误区罢了,告诉我们要编译运行Servlet,是要依赖于

liangjw1018的专栏 229
上一篇: MySQL 学习笔记--源自技术
下一篇: JavaScript 原生和JQuery 的Ajax--源自技术
MyJava_Dx
博客等级 码龄11年 1粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值