技术标签: 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流,
这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数
文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别
文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具
文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量
文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置
文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖
文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...
文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序
文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码
文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型
文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件
文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令
文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线