技术标签: jsp
1. 安装 Tomcat引擎的计算机需要事先安装 JDK 吗?
答:需要
2. 怎样启动和关闭 Tomcat服务器 ?
答:bin 目录下使用 startup.bat启动 Tomcat服务器。bin 目录下使用 shutdown.bat关闭 Tomcat服务
3. Boy.jsp和 boy.jsp是否是相同的 JSP 文件名字?答:
答:不是
4. 请在 下建立一个名字为 water 的目录,并将该目录设置成一个 Web 服务
目录,然后编写一个简单 JSP 页面保存到该目录中,让用户使用虚拟目录 fish
来访问该 JSP页面。
答:设置方法 :
① 建立 D:\ water 目录;
② 修改 server.xml 文件,在</host>上一行添加 :
<Context path="/fish" docBase="D:\ water" debug="0" reloadable="true"/>
③ 使用 http://localhost:8080/ fish /example1_1.jsp访问 example1_1.jsp页面.
5. 假设 Dalian 是一个 Web 服务目录,其虚拟目录为 moon。A.jsp 保存在 Dalian的子目录 sea中。那么在 Tomcat服务器(端口号 8080)所在计算机的浏览器键入下列哪种方式是访问 A.jsp 的正确方式?
A.http://127.0.0.1:8080/A.jsp
B. http://127.0.0.1:8080/Dalian/A.jsp
C. http://127.0.0.1:8080/moon/A.jsp
D. http://127.0.0.1:8080/moon/sea/A.jsp
答:D
6.如果想修改 Tomcat 服务器的端口号,应当修改哪个文件?能否将端口号修改为 80?
答:修改 Tomcat服务器的 conf 目录下的主配置文件 server.xml 可以更改端口号
若 Tomcat 服务器上没有其它占有 80 端口号的程序,可以将其修改为 80,否则不
1. "<%!"和" %>"之间声明的变量与" <%"和" %>"声明的变量有何不同 ?
答:
"<%!"和" %>"声明的变量为类的成员变量 , 其所占的内存直到 Tomcat 服务器关闭才释放
"<%"和" %>"为类方法中声明的局部变量 , 仅在 JSP页面后继的程序片及表达
式中有效 .
2. 如果有 2 个用户访问一个 JSP页面, 该页面中的 Java 程序片将被执行几次 ?
答:2 次( 当有一个用户访问 JSP页面,JAVA 程序片就被访问一次 ).
- 假设有两个不同用户访问下列 JSP页面 hello.jsp, 请问第一个访问和第二个访问 hello.jsp 页面的用户看到的页面的效果有何不同 ?
hello.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page isThreadSafe="false" %>
<BODY><HTML>
<%! int sum=1;
void add(int m){
sum = sum +m; }
%>
<% int n =100;
add(n);
%>
<%=sum%>
</BODY></HTML>
答:第一个客户看到结果是 101;
第二个客户看到结果是 201;
6. 请编写一个简单的 JSP页面,显示英文字母表。
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY>
<%
for(char c='A';c<='Z';c++)
{
out.println(" "+c);
}
%>
</BODY></HTML>
7. 请简单叙述 include指令标记和 include动作标记的不同 .
答:
include指令标记 :
是把被包含的文件的内容放于包含文件中 ,组成一个文件后编译运行.
include 动作标记 :
是把被包含的文件的运行结果放于包含文件运行产生的结果中,这 2 个文件各自编译运行 .
- 编写三个 JSP页面 :main.jsp、circle.jsp、ladder.jsp,将三个 JSP页面保存同一 web服务目录中。main.jsp使用 include动作标记加载 circle.jsp和 ladder页面。 circle.jsp页面可以计算并显示圆的面积。 ladder.jsp页面可以计算并显示梯形的面积。当 circle.jsp和 ladder.jsp被加载时获取 main.jsp 页面 include动标记的 param 子标记提供的圆的半径以及梯形的上底、下底和高的值。
ladder.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%! public String getArea(double a,double b,double c)
{
if(a>0&&b>0&&c>0) {
double area=((a+b)*c)/2.0;
return ""+area;
}
else
return (""+c+" 传递的参数小于零,出现错误! " ); }
}
%>
<% String sideA=request.getParameter("sideA");
String sideB=request.getParameter("sideB");
String sideC=request.getParameter("sideC");
double a=Double.parseDouble(sideA);
double b=Double.parseDouble(sideB);
double c=Double.parseDouble(sideC);
%>
<font color=red size=4>
我是被加载的文件,负责计算梯形的面积 <br>
给我传递的上底,下底,高分别是 :<%=sideA%>,<%=sideB%>,<%=sideC%> <br>圆形的面积 :<%=getArea(a,b,c) %> </font>
答:
main.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY bgcolor=yellow> <% double r=3,a=2,b=5,c=2; %>
<br>加载 circle.jsp 计算半径为 <%=r%>的圆的面积:<jsp:include page="circle.jsp">
<jsp:param name="sideR" value="<%=r%>"/>
</jsp:include>
<br>加载 ladder.jsp 计算上底,下底,高为 <%=a%>,<%=b%>,<%=c%>的梯形积:<jsp:include page="ladder.jsp">
<jsp:param name="sideA" value="<%=a%>"/> <jsp:param name="sideB" value="<%=b%>"/> <jsp:param name="sideC" value="<%=c%>"/> </jsp:include>
</BODY>
</HTML>
circle.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%!public String getArea(double r)
{
if(r>0)
{
double area=3.14*r*r;
return ""+area;
}
else
{
return (""+r+" 传递的参数小于零,出现错误!请重新检查 r 的数值}
}
%>
<% String sideR=request.getParameter("sideR");
double r=Double.parseDouble(sideR);
%>
<font color=blue size=4>
我是被加载的文件,负责计算圆的面积 <br>
给我传递的半径是 :<%=sideR%>
<br>圆形的面积 :<%=getArea(r) %>
</font
1.假设 JSP使用的表单中有如下的 GUI( 复选框 )
<input type="checkbox" name="item" value="bird"> 鸟
<input type="checkbox" name="item" value="apple">苹果
<input type="checkbox" name="item" value="cat">猫
<input type="checkbox" name="item" value="moon">月亮
该表单所请求的 JSP可以使用内置对象 request获取该表单提交的数据
,那么,下列哪些是 request获取该表单提交的值的正确语句 ?
A. String a=request.getParameter("item");
B. String b=request.getParameter("checkbox");
C. String c[]=request.getParameterValues("item");
D. String d[]=request.getParameterValues("checkbox");
答: C.
2. 如果表单提交的信息中有汉字 ,接收该信息的页面应做怎样的处理 ?
答:处理方法有 2 种:
第 1 种:
<%@ page contentType="text/html;Charset=GB2312" %>指令中的 Charset 首字母”C”大写.
第 2 种:
<% String str1=request.getParameter("number");
byte c[]=str1.getBytes("ISO-8859-1");
str1=new String(c);
%>
- 编 写 两 个 JSP 页 面 inputString.jsp 和 computer.jsp,用 户 可 以 使 用inputString.jsp提供的表单输入一个字符串,并提交给 computer.jsp页面,该页面通过内置对象获取 inputString.jsp页面提交的字符串, 计算并显示该字符串的长度
inputString.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY><Font size=5>
<FORM action="computer.jsp" method=post name=form>
<BR>请输入字符串 :<INPUT type="text" name="string" value=""></BR>
<INPUT TYPE="submit" value=" 提交" name="submit">
<INPUT TYPE="reset" value="重置" >
</FORM>
</FONT></BODY></HTML>
computer.jsp
<%@ page contentType="text/html;Charset=GB2312" %>
<HTML><BODY><Font size=5>
<% String yourString=request.getParameter("string"); %>
<P> 您输入的字符串是 :<%=yourString %></P>
<p>字符串的长度是 :<%=yourString.length() %></p> <a href = "inputString.jsp">return</a>
</FONT></BODY></HTML>
4. response调用 sendRedirect(URL: url)方法的作用是什么 ?
答:从一个页面跳转到 sendRedirect(URL: url)中 url 指定的页面 ,并且这种跳转是客户端跳转.
6. 一个用户在不同 Web 服务目录中的 session对象相同吗 ?
答:不相同 .
7. 一个用户在同一 Web 服务目录的不同子目录的 session对象相同吗 ?
答:相同
1. 假设 Web 服务目录 mymoon中的 JSP页面要使用一个 bean,该 bean的包名为 blue.sky。请说明 ,应当怎样保存 bean的字节码文件?
答:
(1)在当前 Web服务目录下建立如下目录结构:
(2)Web服务目录 \WEB-INF\classes
(3)根据类的包名,在目录 classes下建立相应的子目录 .即: Web服务目录 \WEB-INF\classes\blue\sky
(4)将获得的字节码文件保存在其中 .
2. tom.jiafei.Circle是创建 bean的类,下列哪个标记是正确创建 session周期 bean的标记 ?
<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="page"/>
<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="request"/>
<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/>
<jsp:useBean id="circle" type="tom.jiafei.Circle" scope="session"/>
答: <jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/>
3. 假设创建 bean的类有一个 int 型的属性 number,下列哪个方法是设置该属性值的正确方法 ?
A. public void setNumber(int n)
B. void setNumber(int n) {
number=n; {
number =n; } }
C. public void SetNumber(int n)
D. public void Setnumber(int n) {
number =n; {
number =n; } }
答: A.
- 编写一个 JSP页面,该页面提供一个表单, 用户可以通过表单输入梯形的上
底,下底和高的值,并提交给本 JSP 页面,该 JSP 页面将计算梯形的面积之任
务交给一个 bean去完成。 JSP 页面使用 getProperty动作标记显示梯形的面积
ladder.jsp:
<%@ page pageEncoding="GBk" %>
<jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/>
<HTML><BODY bgcolor=yellow><Font size=3>
<FORM action="" Method="post" >
输入梯形上底、下底和高:
上底:<Input type=text name="top" value=0>
下底:<Input type=text name="bottom" value=0>
高:<Input type=text name="height" value=0>
<BR>面积是: <jsp:getProperty name="ladder" property="area"/> </FONT></BODY></HTML>
Ladder.java:
package pfc;
public class Ladder {
double top=0,bottom=0,height=0,area=-1;
public double getArea()
{
area=(top+bottom)*height/2;
return area;
}
public double getBottom() {
return bottom;
}
public void setBottom(double bottom) {
this.bottom = bottom; }
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getTop() {
return top;
}
public void setTop(double top) {
this.top = top;
}
}
- 编写两个 JSP 页面 a.jsp 和 b.jsp,a.jsp 页面提供一个表单,用户可以通过表单输入矩形的两个边长提交给 b.jsp页面, b.jsp调用一个 bean去完成计算矩形面积的任务。 b.jsp页面使用 getProperty动作标记显示矩形的面积
a.jsp:
<%@ page pageEncoding="GBk" %> <jsp:useBean id="ladder" class="pfc.Ladder" scope="page"<HTML><BODY bgcolor=yellow><Font size=3> <FORM action="b.jsp" Method="post" >
输入矩形的长和宽:
长:<Input type=text name="longside" value=0>
宽:<Input type=text name="width" value=0>
<Input type=submit value="提交">
</FORM>
</FONT></BODY></HTML>
b.jsp:
<%@ page pageEncoding="GBk" %> <jsp:useBean id="rectangle" class="pfc.Rectangle" scope="request"/>
<HTML><BODY bgcolor=yellow><Font size=3>
<jsp:setProperty name="rectangle" property="*"/>
矩形的长和宽:
长:<jsp:getProperty name="rectangle" property="longside"/>,
宽:<jsp:getProperty name="rectangle" property="width"/>,
<BR>面积是: <jsp:getProperty name="rectangle" property="area>
</FONT></BODY></HTML>
Rectangle.java:
package pfc;
public class Rectangle
{
double longside=0,width=0,area=-1;
public double getArea()
{
area=longside*width; return area;
}
public double getLongside() {
return longside; }
public void setLongside(double longside) {
this.longside = longside;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
1. servlet对象是在服务器端还是在客户端创建的 ?
答:服务器端 .
2. servlet对象被创建后首选调用 init 方法还是 service方法?
答:init 方法.
3. “servlet第一次被请求加载时调用 init 方法,当后续的客户请求 servlet对象时 ,
servlet对象不再调用 init 方法”
这样的说法是否正确 ?
答:正确.
- 假设创建 servlet 的类是 tom.jiafei.Dalian,创建的 servlet 对象的名字是myservlet,应当怎样配置 web.xml文件?
<?xml version= “1.0 ” e ncoding="ISO -8859-1"?>
<web-app>
<servlet> <!--创建一个 servlet对象 -->
<servlet-name>myservlet</servlet-name> <!--对象名 -->
<servlet-class>tom.jiafei.Dalian</servlet-class><!--指定创建对象的 servlet -->
</servlet>
<servlet-mapping> <!--为 Servlet 进行 映射地址 --><!-- 必须与 Servlet 标记中的 servlet-name指定的名称相同 -->
<servlet-name>myservlet</servlet-name><!--具体的映射路径, 前面必须有一个/ -->
<url-pattern>/lookHello</url-pattern>
</servlet-mapping>
…..</web-app>
5. 如果 Servlet 类不重写 service方法,那么应当重写哪两个方法?
答:doGet方法或 doPost
6. HttpServletResponse 类的 sendRedirect 方 法和 RequestDispatcher 类的forward 方法有何不同 ?
答:
javax.servlet.http .HttpServletResponse提供的方法void
sendRedirect(String location) throws IOException
客户端跳转 .即当前页面可用 request 对象获取用户提交参数 ,而目标页面都不可用
request对象获取用户提交参数 .
转发javax.servlet .RequestDispatcher接口提供的void
forward(ServletRequest request, ServletResponse response)
// Forwards a request from a servlet to another resource (servlet, JSP file, or
HTML file) on the server. 服务器跳转 .即当前页面和目标页面都可用 request对象获取用户提交参数
7. Servlet对象怎样获得用户的会话对象 ?
答:
在 doGet()或 doPost()方法中使用获取当前会话对象
. HttpSession session=request.getSession(true);
一个用户在不同的 Servlet 中获取的 session 对象是完全相同的,不同的用户的session对象互不相
1. 在 JSP中,MVC 模式中的数据模型之角色由谁担当 ?
答:
由 Java Bean或 EJB 充当.
2. 在 JSP中,MVC 模式中的控制器之角色由谁担当 ?
答:
一个或多个 Servlet 对象充当 .
3. 在 JSP中,MVC 模式中的视图之角色由谁担当 ?
答:
由一个或多个 JSP页面或 HTML 页面充当 .
4. MVC 的好处是什么 ?
答:
MVC 模式的核心思想是有效地组合“视图” 、“模型”和“控制器”。
在 JSP技术中,视图是一个或多个 JSP页面,其作用主要是向控制器提交必要的数据和为模型提供数据显示;
模型是一个或多个 Javabean对象,用于存储数据;
控制器是一个或多个 servlet 对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到 Javabean中,然后 servlet 使用重定向方式请求视图中的某个 JSP页面更新显示
5. MVC 模式中用到的 Javabean是由 JSP页面还是 servlet负责创建 ?
答:
是 servlet
1. 加载 MySQL 的 JDBC 数据库驱动程序代码是什么 ?
答:try{
Class.forName("com.mysql.jdbc.Driver"); }
catch(Exception e){
}
2. 加载 SQL server的 JDBC 数据库驱动程序代码是什么?
答:try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e){
}
4. 使用预处理语句的好处是什么?
答:预处理语句 PreparedStatement会将传入的 SQL 命令封装在 PreparedStatement对象中 ,
事先进行预编译处理等待使用。
当有单一的 SQL 语句多次执行时, 用 PreparedStatement类会比 Statement类更有效
1. File 对象能读写文件吗?
答:不
2. File 对象怎样获取文件的长度?
答:调用 public long length()方
3. 准备读取文件“ A.java”,下列哪些是正确创建输入流的代码?
4. A.try{
FileInputStream in=new FileInputStream(“A.java ); ”}
catch(IOException e){
}
B. try{
InputStream in=new InputStream(“A.java ); ”}
catch(IOException e){
}
C. try{
FileReader in=new FileInputStream(new File(“A.java )); ”}
catch(IOException e){
}
D. try{
FileReader in=new FileReader (new File(“A.java )); ”}
catch(IOException e){
}
答:A 和 D
4. RandomAccessFile类创建的流在读写文件时有什么特点?
答:RandomAccessFile类既不是输入流类 InputStream类的子类,
也不是输出流类 Outputstream类的子类。 想对一个文件进行读写操作时,
可以创建一个指向该文件的 RandomAccessFile流,
这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数
文章浏览阅读1k次。数据导入到Access有人说用事务,我在开发中用了事务还是特别慢,可能是因为Access数据库不支持批量执行SQL语句的原因吧,虽然微软建议使用ADO.NET操作数据库,但对于Access来说效率太差了,可有时候又迫不得已只能用Access,那么我们只用换一种操作数据库的方式了,这次用到了ADODB,虽然ADODB已经过时了,但它对数据库的直接操作还是要比封装好的ADO.NET快很多。下面是代码。..._excel向access追加记录 很慢 vb.net
文章浏览阅读2.1k次。ffmpeg下载安装教程_ffmpeg官网下载
文章浏览阅读92次。root@zhangbin-desktop-ubuntu:/usr/src/linux-headers-2.6.32-27# make menuconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash HOSTCC scripts/kconfig..._make menuconfig' requires the ncurses libraries.
文章浏览阅读688次。本文介绍如何使用ditaa与PlantUML与dot进行绘制流程图。ditaa与PlantUML都依赖java环境,所以事先需要有Java环境(不管我们使用的是何种OS)。Java环境的设置很简单,如果本地没有Java环境,请到Oracle官网下载之,这里就省略了。而dot绘图语言需要安装graphviz软件。本文作者使用的Windows环境..._ditaa图 plantuml
文章浏览阅读93次。使用Ajax框架1. 简化JavaScript的开发难度2. 解决浏览器的兼容性问题3. 简化开发流程经常使用Ajax框架Prototype一个纯粹的JavaScript函数库,对Ajax提供良好支持jQuery1.很优秀的JavaScript库,对Ajax提供了良好的支持2.与Prototype设计思想不同的是在使用jQuery之后,开..._dwr ajax简单介绍
文章浏览阅读4k次。先贴html代码<template> <div class="box-wrap"> <div class="box" id="box"></div> <div class="drag-btn" id="dragBtn" @mousedown.stop.prevent="mouseDownLeft"></div>..._vue 侧边栏拉伸宽度
文章浏览阅读476次。java根据IP获取当前区域天气信息大致思路是客户端发起请求,我们首先根据请求获取到外网IP,然后再根据外网IP获取到用户所在城市,最后根据城市获取到天气信息获取外网IP万网获取外网IP地址: http://www.net.cn/static/customercare/yourip.asp/** * @Description:获取客户端外网ip 此方法要接入互联网才行,内网不行 **/public static String getPublicIp() { try {
文章浏览阅读1k次。#!/usr/bin/python# -*- coding: utf-8 -*-import reclass PhoneBook(object):'''这是一个电话簿脚本。该脚本能够实现AddContact:添加联系人信息ShowContact:查找姓名显示联系人SaveContacts:存储联系人到 TXT 文档(存储格式——姓名:号码/号码)LoadContacts:从 txt 文档中载入联系..._python输入电话号码按列显示
文章浏览阅读3.8k次。mysql添加列 alter table to_o2o_point_record add COLUMN channel VARCHAR(64) NULL DEFAULT NULL COMMENT ‘积分渠道’; alter table to_o2o_point_record add COLUMN channel VARCHAR(64) NULL DEFAULT NULL COMMENT ‘积分渠_添加列且甚索引
文章浏览阅读1.9k次,点赞4次,收藏9次。初识函数-----函数的定义及用法_程序设计函数的定义是
文章浏览阅读492次。《Python程序设计与应用》在线课程使用说明网页版链接 20200223 更新一、简介本课程内容包括Python基础语法与Python应用(数据处理、可视化等)。具体章节:Python基础、内置基本数据类型、程序结构、函数、异常处理、集合与字典类型、文件操作、Python应用(科学计算numpy、pandas、matplotlib、seaborn、网络信息安全基础)。主要资源:超星MOOC平台:..._python语言程序设计与医学实践
文章浏览阅读2.5k次。#include <iostream>#include <assert.h>using namespace std;int writestr(const char *p){ assert(0!=p);//如果p等于0,则报错误 cout<<p<<endl;}int _tmain(int argc, _TCHAR* argv[]){ char *str="hello"; writestr(str); ..._c++ assert头文件