java期末考试题库及答案(java语言程序设计期末试题)
其实java期末考试题库及答案的问题并不复杂,但是又很多的朋友都不太了解java语言程序设计期末试题,因此呢,今天小编就来为大家分享java期末考试题库及答案的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
《J2EE架构与开发》期末考试简答题,求问题完整答案
1、将服务器的资源通过标准的HTTP响应发送给浏览器,浏览器接收到响应后将
HTML文档显示出来。
2、action:当提交表单时,向何处发送表单数据。
get:浏览器使用 method属性设置的方法将表单中的数据传送给服务器进行处理。共有两种方法:POST方法和 GET方法。
type:类型,可以是button,submit等
name:对象的名字
3、JSP共有以下9种基本内置组件
1)、request对象客户端请求,此请求会包含来自GET/POST请求的参数通过它才能了解到客户的需求,然后做出响应。
2)、response对象响应客户请求的有关信息
3)、session对象它指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
4)、out对象它是JspWriter类的实例,是向客户端输出内容常用的对象
5)、page对象它是指向当前JSP页面本身,有点象类中的this指针,它是 java.lang.Object类的实例
6)、application对象它实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭
7)、exception对象它是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。
8)、pageContext对象它提供了对JSP页面内所有的对象及名字空间的访问
9)、config对象它是在一个Servlet初始化时,JSP引擎向它传递信息用的
4、5、Model层:实现系统的业务逻辑,即javaBean部分
View层:负责与用户交互,即在界面上展示数据对象给用户,即html,jsp
Control层:Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作,当然就是Servlet的职责了
6、JSP动作包括:
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
7、不是很清楚
8、struts中提供两种校验方法:硬编码和校验框架;
硬编码就是直接写validate()进行验证,validate()方法对应execute()方法。
9、第一步:导入hibernate的jar包到WEB-INF的lib下
第二步:在src目录下写一个hibernate.cfg.xml配置文件
第三步:在src目录下写出对应的类,实现处理数据库的功能。
10、DAO访问数据库
java与数据库连接的问题
给你一个我的例子:这是连接数据库的类:
package mypackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class ConnectionData{
Connection myCon;
Statement myStatement;
public ConnectionData(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("成功加载驱动");
}catch(ClassNotFoundException e1){
e1.printStackTrace();
JOptionPane.showMessageDialog(null,"加载数据库驱动失败!","提示",JOptionPane.YES_OPTION);
}
try{
myCon=DriverManager.getConnection("jdbc:odbc:MyPhoneDataSource");
myStatement=myCon.createStatement();
System.out.println("成功连接数据源");
}catch(SQLException sqe){
JOptionPane.showMessageDialog(null,"连接数据源失败!","提示",JOptionPane.YES_OPTION);
sqe.printStackTrace();
}
}
public int UpdateData(String sql){
int result= 0;
try{
result=myStatement.executeUpdate(sql);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public ResultSet QueryData(String sql){
ResultSet result= null;
try{
result=myStatement.executeQuery(sql);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public void closeData()
{
try{
myStatement.close();
myCon.close();
} catch(SQLException e){
e.printStackTrace();
}
}
}
这是用户注册的类,里面有插入语句:
package mypackage;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserLogin extends JDialog implements ActionListener{
private static final long serialVersionUID= 1L;
JLabel label1,label2;
JTextField textfield1,textfield2;
JButton button1,button2;
int myResultSet1=0;
ResultSet result;
public UserLogin(){
setTitle("用户注册");
this.setLayout(null);
label1=new JLabel("请输入用户名");
label1.setBounds(20,5,180,20);
textfield1=new JTextField(30);
textfield1.setBounds(110,5,100,25);
textfield1.addActionListener(this);
label2=new JLabel("请输入密码");
label2.setBounds(20,40,80,20);
textfield2=new JTextField(30);
textfield2.setBounds(110,40,100,25);
textfield2.addActionListener(this);
button1=new JButton("确定");
button1.setBounds(40,80,80,30);
button1.addActionListener(this);
button2=new JButton("取消");
button2.setBounds(130,80,80,30);
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
add(label1);
add(textfield1);
add(label2);
add(textfield2);
add(button1);
add(button2);
this.getContentPane().setBackground(Color.cyan);
this.setModal(true);
this.setLocation(440,280);
this.setSize(260,180);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0){
String inusername,inpassword;
inusername=textfield1.getText();
inpassword=textfield2.getText();
String sqllogin="insert into usertable values('"+inusername+"','"+inpassword+"')";
String sqlfind="select* from usertable where username='"+inusername+"'";
if(inusername.equals(""))
{
JOptionPane.showMessageDialog(null,"用户名为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
}
else if(inpassword.equals(""))
{
JOptionPane.showMessageDialog(null,"密码为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
}
else{
ConnectionData object=new ConnectionData();//建立连接
result=object.QueryData(sqlfind);
try{
if(result.next()){
JOptionPane.showMessageDialog(null,"用户名已存在,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
textfield1.setText("");
textfield2.setText("");
}
else{
myResultSet1=object.UpdateData(sqllogin);
if(myResultSet1!=0){
JOptionPane.showMessageDialog(null,"用户注册成功!","提示",JOptionPane.INFORMATION_MESSAGE);
dispose();
}
}
} catch(SQLException e){
e.printStackTrace();
}
object.closeData();//断开连接
}
}
}
插入语句是:String sqllogin="insert into usertable values('"+inusername+"','"+inpassword+"')";
这个例子连接的是ACCESS数据库,希望能帮上你的忙。
java 递归数据库生成 树形结构问题
1、准备表结构及对应的表数据
a、表结构:
create table TB_TREE
(
CID NUMBER not null,
CNAME VARCHAR2(50),
PID NUMBER//父节点
)
b、表数据:
insert into tb_tree(CID, CNAME, PID) values(1,'中国', 0);
insert into tb_tree(CID, CNAME, PID) values(2,'北京市', 1);
insert into tb_tree(CID, CNAME, PID) values(3,'广东省', 1);
insert into tb_tree(CID, CNAME, PID) values(4,'上海市', 1);
insert into tb_tree(CID, CNAME, PID) values(5,'广州市', 3);
insert into tb_tree(CID, CNAME, PID) values(6,'深圳市', 3);
insert into tb_tree(CID, CNAME, PID) values(7,'海珠区', 5);
insert into tb_tree(CID, CNAME, PID) values(8,'天河区', 5);
insert into tb_tree(CID, CNAME, PID) values(9,'福田区', 6);
insert into tb_tree(CID, CNAME, PID) values(10,'南山区', 6);
insert into tb_tree(CID, CNAME, PID) values(11,'密云县', 2);
insert into tb_tree(CID, CNAME, PID) values(12,'浦东', 4);
2、TreeNode对象,对应tb_tree
public class TreeNode implements Serializable{
private Integer cid;
private String cname;
private Integer pid;
private List nodes= new ArrayList();
public TreeNode(){
}
//getter、setter省略
}
3、测试数据
public class TreeNodeTest{
@Test
public void loadTree() throws Exception{
System.out.println(JsonUtils.javaToJson(recursiveTree(1)));
}
/**
*递归算法解析成树形结构
*
*@param cid
*@return
*@author jiqinlin
*/
public TreeNode recursiveTree(int cid){
//根据cid获取节点对象(SELECT* FROM tb_tree t WHERE t.cid=?)
TreeNode node= personService.getreeNode(cid);
//查询cid下的所有子节点(SELECT* FROM tb_tree t WHERE t.pid=?)
List childTreeNodes= personService.queryTreeNode(cid);
//遍历子节点
for(TreeNode child: childTreeNodes){
TreeNode n= recursiveTree(child.getCid());//递归
node.getNodes().add(n);
}
return node;
}
}
输出的json格式如下:
{
"cid": 1,
"nodes": [
{
"cid": 2,
"nodes": [
{
"cid": 11,
"nodes": [
],
"cname":"密云县",
"pid": 2
}
],
"cname":"北京市",
"pid": 1
},
{
"cid": 3,
"nodes": [
{
"cid": 5,
"nodes": [
{
"cid": 7,
"nodes": [
],
"cname":"海珠区",
"pid": 5
},
{
"cid": 8,
"nodes": [
],
"cname":"天河区",
"pid": 5
}
],
"cname":"广州市",
"pid": 3
},
{
"cid": 6,
"nodes": [
{
"cid": 9,
"nodes": [
],
"cname":"福田区",
"pid": 6
},
{
"cid": 10,
"nodes": [
],
"cname":"南山区",
"pid": 6
}
],
"cname":"深圳市",
"pid": 3
}
],
"cname":"广东省",
"pid": 1
},
{
"cid": 4,
"nodes": [
{
"cid": 12,
"nodes": [
],
"cname":"浦东",
"pid": 4
}
],
"cname":"上海市",
"pid": 1
}
],
"cname":"中国",
"pid": 0
}
java期末考试题库及答案和java语言程序设计期末试题的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!