目录
实验复习
代码模板
课后巩固习题
课件精简版
GDPUJavaWeb程序设计复习,习题集,重点知识总结,一篇就够了。
实验复习
JavaWeb代码复习,在专栏也可查阅。留意一下登陆界面的操作及mvc的那些重复的代码。大小写要注意。一般来说很多方法都是两个单词拼的,后一个单词的首字母要大写,如doGet、getParameter等。
代码模板
这里的注释用//
jsp部分
1.表单、常用的登陆界面
2.请求参数显示在界面上、会话获取、jsp的使用
<%= request.getParameter("username") %>
<%
String m=(String) session.getAttribute("message"); //返回类型object类,记得要转换类型
out.print(m);
%>
3.javabean中标签
<jsp:setProperty property = “属性名称” name="bean对象名" value="常量"/ >
<jsp:setProperty property = “属性名称” name="bean对象名" param="参数名"/ >
<jsp:setProperty property = “*” name="bean对象名" / >
<jsp:getProperty property="属性名称" name="bean对象名"/>
<jsp:useBean id="bean对象名" class="实例化bean对象的类名" scope="page|request|session、application">
4.EL与JSTL
servlet部分
//注解指向响应路径,对应jsp的action,可以跟类名不同,别弄混
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //看清楚题目是get还是post
response.setContentType("text/html;charset=utf-8");
//获取参数跟会话很重要,注意request.getParameter()要找准表单的name属性
//注:
//getParameter(String name) 方法获取请求参数,返回值是字符串类型。
//如果需要其他类型(如整数或浮点数),需要手动转换。
//setAttribute(String name, Object value) 可以存储任何类型的对象。
//getAttribute(String name) 返回一个 Object 类型,需要进行类型转换。
String username = request.getParameter("username");
double d = Double.parseDouble(request.getParameter("edge"));
HttpSession session = request.getSession();//这句不能忽略,servlet中要实例化这个对象才能用
session.setAttribute("message", "123");
session().setAttribute("user", user);//可以存实例化的对象类型
request.getSession().setAttribute("user", user);
//请求转发forward跟重定向sendRedirect是servlet的大重点
if (username != null && password != null && username.equals(password)) {
request.getRequestDispatcher("loginSuccess.jsp" ).forward(request, response);
} else {
response.sendRedirect("loginFail.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //get跟post的重新调用
doGet(request, response);
}
JavaBean部分
1.jdbc数据库访问
加载驱动程序:Class.forName
建立连接对象:Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbjsp","root","root");
创建语句对象:String sql = "SELECT * FROM student WHERE id=? and name like ?";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, studentId );
pst.setString(2, "%"+stuname+"%");
ResultSet rs = pst.executeQuery();
获取结果集:while(rs.next()){ stuid=rs.getInt("stu_id");System.out.println(stuid); }
关闭建立的对象
try {
if (rs != null) {
rs.close();
}
if (statement != null) {
statement.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
2.VO
//公共类,私有变量、读写
public class Book {
private int bookId;
public Book(int bookId) {
this.bookId = bookId;
}
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
课后巩固习题
1
【单选题】下列说法正确的是( D ) 错的把B/S跟C/S换一下即可
A、在B/S结构中,结果应用软件发生了改变,就必须通知所有的客户端重新安装
B、在C/S结构中,即使应用软件发生了改变,也不用通知客户机升级该软件
C、在C/S结构中,客户机上不需要安装应用软件,只需要使用浏览器即可
D、B/S结构相较于C/S结构服务器负担比较重,快速响应不如C/S结构
答案解析: C/S是胖客户端,B/S是瘦客户端
网络应用程序有C/S(客户机/服务器)与B/S(浏览器/服务器)两种结构,例,QQ就是C/S结构。
1、C/S分为客户机和服务器两层,将应用软件安装在客户机端,通过网络与服务器端相互通信,如果应用软件改动了,必须通知所有的客户端重新安装;
2、B/S也分为客户机和服务器两层,但是客户机上不用安装软件,只需要安装浏览器即可,如,百度查询就是B/S结构应用形式之一。
2
【单选题】
Tomcat安装目录中bin文件夹下存放的文件为( D )
A、系统日志文件
B、Tomcat系统的一些配置文件
C、网站资源文件
D、支持Tomcat运行的常用.exe文件
答案解析:
Tomcat安装目录中重要文件夹或文件内容
(1)bin:支持Tomcat运行的常用.exe文件
(2)conf:Tomcat系统的一些配置文件
(3)logs:系统日志文件
(4)webapps:网站资源文件
3
【单选题】
JSP的全称为( C )
A、Java Script Pages
B、Java Script Page
C、Java Server Pages
D、Java Server Programme
答案解析:
JSP(Java Server Pages)
4
【单选题】
下面关于JSP的说法错误的是( B )
A、JSP是由Sun公司提出的、其他许多公司一起参与建立的一种动态网页技术标准
B、JSP开发的Web应用不能跨平台
C、JSP具备了Java技术面向对象、与平台无关性且安全可靠的优点
D、利用JSP可以很方便地在页面中生成动态的内容
答案解析:
JSP是由Sun公司提出的、其他许多公司一起参与建立的一种动态网页技术标准。和PHP一样,使用JSP开发的Web应用也是跨平台的。JSP还支持自定义标签。JSP具备了Java技术面向对象、与平台无关性且安全可靠的优点。
5
【单选题】
关于Web项目的目录结构,下面说法错误的是( A )
A、web.xml是Web应用的配置文件,可以随意修改
B、lib文件夹中包含了Web应用所需要的.jar和.zip文件
C、META-INF是系统自动生成、用于存放系统描述信息的文件夹
D、WebRoot目录是Web应用的顶层目录,也称为文档的根目录
答案解析:
Web项目的目录结构:
1、src目录:用来存放Java源文件
2、WebRoot目录:Web项目的顶层目录,又称为文档根目录,包括以下部分
(1)META-INF目录:系统自动生成,存放系统描述信息,一般情况使用较少
(2)WEB-INF目录:存在于文档根目录,该目录不能被引用,即该目录下的文件无法对外发布,由以下几部分组成
①lib目录:包含Web项目所需的.jar或.zip文件,例,数据库驱动程序
②web.xml:Web项目的配置文件,不能删除或随意改动
③classes目录:包含src目录下的Java源文件所编译的.class文件
(3)其他目录:网站中的一些用户文件,包括下列文件
①静态文件:包括所有的HTML网页、CSS文件、图像文件等,按功能形式分类;
②JSP文件:
6
【单选题】Tomcat服务器运行的端口号默认为( B )。
A、8000
B、8080
C、8800
D、8081
7
【单选题】Tomcat安装目录中( B )文件夹中的内容是网站资源文件。
A、src
B、webapps
C、webroot
D、conf
8
【单选题】在Web项目的目录结构中,( A )目录用来存放Java源文件
A、src
B、webroot
C、web-inf
D、lib
9
【单选题】
下列选项中,启动Tomcat的命令startup.bat,放在哪个目录中(A)
A、bin
B、lib
C、webapps
D、work
答案解析:
URL(Uniform Resource Locator):统一资源定位符
1、URL即网址,是唯一能够识别Internet上具体计算机、目录、文件位置的命名约定。
2、URL由以下3部分组成:
(1)协议:例,http
(2)主机IP地址(有时含端口号):例:localhost:8080
(3)主机资源的具体地址:例,目录和文件名等
3、说明:第1部分与第2部分用“://”隔开,第2部分与第3部分用“/"隔开。
10
【单选题】
在Web程序结构中,浏览器端与应用服务器端采用请求/响应模式进行交互的过程为( A )
(1)用户输入 (2)访问数据库 (3)发送响应
(4)发送请求 (5)返回结果 (6)显示
A、(1)(4)(2)(5)(3)(6)
B、(1)(2)(3)(4)(5)(6)
C、(1)(4)(2)(3)(5)(6)
D、 (4)(1)(2)(5)(6)(3)
1
【单选题】
JSP页面在第一次运行的时候被JSP引擎转换为(D)。
A、CSS文件
B、JSP文件
C、HTML文件
D、Java文件
2
【单选题】
下列关于JSP表达式的说法错误的是( B )。
A、JSP表达式的作用是将其里面的内容所运算的结果输出到客户端
B、在JSP表达式中能用“;”结束
C、在 JSP 表达式中不能出现多条语句
D、JSP表达式中的内容一定是字符串类型,或者能通过toString()函数转换成字符串的形式
注意这里有个“一定”是对的,不要选这个
答案解析:
JSP 表达式的作用是定义 JSP 的一些输出。表达式基本语法如下所示:
<%=变量/返回值/表达式%>
JSP 表达式的作用:将其里面内容所运算的结果输出到客户端;
例:“<%=msg%>”是JSP表达式,即将msg内容输出给客户端。
等价于“<%out.print(msg);%>”。
使用 JSP 表达式,需要注意几个细节:
1、JSP 表达式中不能用";"结束
2、在 JSP 表达式中不能出现多条语句
3、JSP表达式的内容一定是字符串类型,或者能通过 toString()函数转换成字符串的形式
3
【单选题】
使用( A )属性可以设置JSP的MIME类型和可选字符编码。
A、contentType
B、Type
C、pageEncoding
D、charset
4
【单选题】
用于将请求跳转到另一个页面的JSP动作是( C )。
A、
B、
C、
D、
答案解析:
jsp:forward:可以实现跳转。
5
【单选题】不是JSP运行必须的是( D )
A、操作系统
B、Java JDK
C、支持Jsp的Web服务器
D、数据库
6
【判断题】
JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)等都是JSP元素。
对
7
【判断题】
在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。
对
8
【判断题】
在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。
错
1
【单选题】下列关于表单的说法不正确的是( A )。
A、表单的method属性默认是post 应该是get
B、在表单中一般有一个按钮负责提交
C、单击“提交”按钮,表单元素中的内容会提交给服务器端
D、在表单中可以输入一些内容,这些输入功能由表单元素提供
答案解析:
表单是用户和服务器之间进行信息交互的重要手段,有了表单,JSP程序才可以更加丰富多彩。 表单是一种可以由用户输入,并提交给服务器端的一个图形界面。
2
【单选题】有下面两段代码
<%
//获得表单中name=account的表单元素中输入的值,赋值给str
String str1=request.getParameter("account");
String str2=request.getParameter("zhanghu");
%>
若不输入数据,直接单击“登录”按钮,则str1和str2的值分别是( D )。
A、null、null
B、null
C、""、""
D、""、null
答案解析:
表单是提交给服务器的,如何确定到底提交给哪一个界面?用
表示该表单中输入的内容,提交给page.jsp去运行。page.jsp如何获取提交过来的值?用request对象。
如:<%
//获得表单中name=account的表单元素中输入的值,赋值给str
String str = request.getParameter("account");
%>
注意:如果表单中没有name=account的表单元素,str为null;如果在表单元素account中没有输入任何内容就提交,str为""。
3
【单选题】要想在浏览器的地址栏上的URL中隐藏传输的参数,需要将