A. jsp页面嵌入java代码怎么写(jsp页面中java代码无效)
如何在jsp里面写java代码%!%是在service方法的外面定义变量和写入语句的,也就是在servlet中定义变量,而我们知道servlet在被container加载后只生成一个对象而已,然后所有的请求都在service方法里面被处理。所以如果你在servlet中定义了变量,那么所有的请求可以共用这一个变量了。
最简单的应用就是,你要计算有多少人访问了这一个JSP页面,那么就可以把变量i定义在servlet中,然后在JSP文件里面加一句i++;,这样就可以统计有多少人访问了你这个页面了。
至于%%这个嘛,就是在service方法里啦。
怎么在JSP中引入JAVA代码
JSP中,嵌入的JAVA代码,可以直接引用JAVA的类
%
out.println(newjava.util.Date());
%
~
jsp页面中javascript嵌套java代码段关键是%p.delpinfo(sfzh);%这里。
这句在页面加载成功就已经执行了,不受js代码段控制的。(java代码优先执行,并且输出动态内容,生成静态页面后,js才开始执行)
如果要让js控制操作逻辑,去判断是否发送新的请求,可以用ajax、或用js去操作一个form提交,或者用js去操作一个iframe去进行指定url跳转。
总的来说就是用js去发送http请求。
1、写一个新的action或xxx.jsp,专门执行p.delpinfo(sfzh);
2、用ajax,或form,或隐藏的iframe去请求这个xxx.jsp
jstl标签中怎么嵌入Java代码要怎么嵌入java代码呢?
jsp页面中嵌入java代码叫做小脚本,如:
%
String
str
=
"java";
out.print(str);
%
但是jstl本来就是用来取代小脚本的,因此没有必要再jstl中嵌入java代码
如果要在jstl中使用java代码的值的话,可以通过表达式%=str
%或者jstl的core标签,如:c:set
var="set"
value="%=str
%"
/等等
具体用法有些不太记得了,好长时间没有用过jstl了。
在jsp页面如何输出java代码怎么写jsp的组成:jsp=html+java脚本+jsp标签(指令)
jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。例如:request对象、out对象
3种java脚本:
%...%:java代码片段
%=...%:java表达式
%!...%:声明,用来创建类的成员变量和成员方法
jsp其实是一种特殊的Servlet,在html中通过java脚本就可以嵌入java代码,输出一些内容。
jsp页面怎么使用java方法在jsp中使用java类举例如下:
1.新建一个项目,在src文件夹下添加一个包:如:tianaoweb.com;
2.再在包中添加一个类:如
packagecom;
publicclasstest{
publicStringsd(){
return"sd";
}
}
3.在默认的首页index.jsp(当然也可以自己新建一个jsp文件)的开头引入
%@pageimport="tianaoweb.com.*"%
4.在body/body中添加相应的java代码片:
如:
%
Stringstr;
testte=newtest();
%
%=te.sd()%
B. 怎么使用JAVA连接数据库
1、首先我们先建好数据库,然后建立好程序的目录,因为是适用于初内学者的,容所以就建立一个简单的java project,如图。
C. java学习中的重点有哪些
Java学习中的重点为:
第一阶段:
1. JAVA语法和基础,包括循环。。和类的相关内容,如实现,继承什么的
2. 你需要掌握几个重点的集合,List接口的两个子类LinkedList,ArrayList;然后是Map几口的两个子类HashMap,HashTable;Set接口 掌握List后学Set就容易了;掌握Collection和Collections的区别
3. 掌握IO一章,重点的几个流 InputStream,OuputStream;BufferedReader,BufferedWrite;
ObjectInputStream, ObjectOutputStream,,PrintWriter,FileReader,FileWriter了解JAVA的序列化,掌握JAVA的File类
4.JDBC非常重要,重点掌握Connection,PreparedStatement, Statement,ResultSet,
其他的可以在学习或项目中如果碰到再学,但早期重点掌握前面几个,其他了解足够,
数据库建议新手用MySql,下载Navicat for MySQL管理工具
5.如果你想快速上手的话,那么你需要跳过这些,
包括:线程,网络编程,GUI编程
第二阶段:
1. HTML+JAVASCRIPT不必说了,掌握多少看自己把握了,CSS做了解
2. JSP+Servlet,你需要重点掌握几个,Request,Response,Session,其次是Application.
另外你需要知道Redirect,ForWard的区别,Servlet的生命周期等
3. 标签方面:(1)掌握EL表达式;(2)最好掌握JSTL标签,不会也可,但如果掌握了JSP标签,学JSTL也十分简单,重点是迭代标签和格式化标签,
4. 学习AJAX,简单点就行了,无需深入研究。
5. 掌握了上面的,你可以继续学习框架:Struts2.0;Hibernate3;Spring 2.0。
6. 如果上面你都做到的话,并且在期间做了2到3个项目的话,就可以参加工作了。
Java学习中的重点为:
第一阶段:
1. JAVA语法和基础,包括循环。。和类的相关内容,如实现,继承什么的
2. 你需要掌握几个重点的集合,List接口的两个子类LinkedList,ArrayList;然后是Map几口的两个子类HashMap,HashTable;Set接口 掌握List后学Set就容易了;掌握Collection和Collections的区别
3. 掌握IO一章,重点的几个流 InputStream,OuputStream;BufferedReader,BufferedWrite;
ObjectInputStream, ObjectOutputStream,,PrintWriter,FileReader,FileWriter了解JAVA的序列化,掌握JAVA的File类
4.JDBC非常重要,重点掌握Connection,PreparedStatement, Statement,ResultSet,
其他的可以在学习或项目中如果碰到再学,但早期重点掌握前面几个,其他了解足够,
数据库建议新手用MySql,下载Navicat for MySQL管理工具
5.如果你想快速上手的话,那么你需要跳过这些,
包括:线程,网络编程,GUI编程
第二阶段:
1. HTML+JAVASCRIPT不必说了,掌握多少看自己把握了,CSS做了解
2. JSP+Servlet,你需要重点掌握几个,Request,Response,Session,其次是Application.
另外你需要知道Redirect,ForWard的区别,Servlet的生命周期等
3. 标签方面:(1)掌握EL表达式;(2)最好掌握JSTL标签,不会也可,但如果掌握了JSP标签,学JSTL也十分简单,重点是迭代标签和格式化标签,
4. 学习AJAX,简单点就行了,无需深入研究。
5. 掌握了上面的,你可以继续学习框架:Struts2.0;Hibernate3;Spring 2.0。
6. 如果上面你都做到的话,并且在期间做了2到3个项目的话,就可以参加工作了。
D. 如何将jsp页面转换成静态页面
将jsp页面转换成静态页面的步骤:
1、在jsp页面中加入servlet.代码如下:
public class ToHtml extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = "";
String name = "";
ServletContext sc = getServletContext();
String file_name = request.getParameter("file_name");// 你要访问的jsp文件名,如index,不包括扩展名
// 则你访问这个servlet时加参数.如http://localhost/test/toHtml?file_name=index
url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf .
name = ConfConstants.CONTEXT_PATH+"\"+ file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm
//ConfConstants.CONTEXT_PATH为你的应用的上下文路径。
RequestDispatcher rd = sc.getRequestDispatcher(url);
final ByteArrayOutputStream ōs = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
os.write(data, offset, length);
}
public void write(int b) throws IOException {
os.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
rd.include(request, rep);
pw.flush();
FileOutputStream fos = new FileOutputStream(name); // 把jsp输出的内容写到xxx.htm
os.writeTo(fos);
fos.close();
PrintWriter ōut = response.getWriter();
out
.print("<p align=center><font size=3 color=red>页面已经成功生成!single<br>http://www.agilejava.org/space/? 233</font></p>");
}
}
2、配置web.xml
<servlet>
<servlet-name>toHtml</servlet-name>
<servlet-class>mj.util.html.ToHtml</servlet-class>//你的servlet的类。
</servlet>
<servlet-mapping>
<servlet-name>toHtml</servlet-name>
<url-pattern>/toHtml</url-pattern>
</servlet-mapping>
3、运行servlet。如:http://localhost:8080/test/toHtml?file_name=index
在test项目的根目录下,生成了一个index.htm的静态文件。
E. 学习java需要什么基础
在编程的世界里,Java一直是企业级别开发最喜欢选择的编程语言,从java目前的就业形势来看还是相当不错的,由于手机安卓开发的需要,许多人也开始转战Java的学习,极客营觉得虽然java开发人员的需求量变得越来越大,但这并不代表做java开发人员的技术就可以一成不变,java技术更新的很快,而且在现在中国的培训机构里java学员都是批量生产的,那么竞争压力也是很大的。对于新开始学的学生来说,主要主要掌握什么基础比较好。
一、掌握静态方法和属性
静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
二、重视接口
在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。
三、学好集合框架
Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。
由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。
四、例外捕捉
Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。
Java的初学者应该充分学习好这种例外捕捉机制,养成良好的编程习惯。
F. jstl 跟freemarker 有什么区别
jstl 跟freemarker 的区别如下:
一、jstl
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。
1、使用条件
jstl带来的优雅编程体验人所皆知,在java社区蒸蒸日上的今天使用jstl已无需考虑很多问题,我们可以用myeclipse等java集成开发环境轻松搭建一个jstl的web项目。即便有了myeclipse这么得力的工具帮我们快速开发web项目,但是有一些知识我们必须了解的 ---- 那就是jstl与servlet版本,以及jsp版本之间的依赖关系。
2、优点
在应用程序服务器之间提供了一致的接口,最大程度地提高了WEB应用在各应用服务器之间的移植。
简化了JSP和WEB应用程序的开发。
二、freemarker
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
1、特性
——通用
能够生成各种文本:HTML、XML、RTF、Java源代码等等。
易于嵌入到产品中:轻量级;不需要Servlet环境。
插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等。
可以按所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器。
——强大的模板语言
所有常用的指令:include、if/elseif/else、循环结构。
在模板中创建和改变变量。
几乎在任何地方都可以使用复杂表达式来指定值。
命名的宏,可以具有位置参数和嵌套内容。
名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突。
输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;可以定义自己的转换。
——通用数据模型
FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示。
可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用。方法,使其不受技术细节的打扰。
为Web准备
在模板语言中内建处理典型Web相关任务(如HTML转义)的结构。
能够集成到Model2 Web应用框架中作为JSP的替代。
支持JSP标记库。
为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员。
2、简介
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。