JAVA WEB研学笔记.docx
- 文档编号:18016509
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:38
- 大小:290.81KB
JAVA WEB研学笔记.docx
《JAVA WEB研学笔记.docx》由会员分享,可在线阅读,更多相关《JAVA WEB研学笔记.docx(38页珍藏版)》请在冰点文库上搜索。
JAVAWEB研学笔记
Java-Web研学笔记
JAVAWEB研学笔记内容
一、JAVAWEB学习与上机操作的详细过程
1、阅读了教材或参考资料上的哪些内容?
1)在Tomcat中发布JavaWeb应用
主要内容有:
Tomcat简介、安装、环境变量设置,在webapps目录下创建JavaWeb应用:
在Tomcat中发布JavaWeb应用的最快捷的方式,就是直接把JavaWeb应用的所有文件复制到Tomcat安装目录下的webapps目录下。
在默认情况下,Tomcat安装目录下的webapps目录下所有Web应用运行在名为“localhost”的虚拟主机中,在发布应用时,就不需要再在配置文件中做相应的配置了。
2)javaWeb开发之四种数据库连接——Acess、MySQL、sqlserver2005、oracle
Acess连接方法:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);
String.url=“jdbc:
odbc:
Driver={MicroSoftAccessDriver(*.mdb)};
DBQ=“+application.getRealPath(“/Data/ReportDemo.mdb“);
Connection.conn=DriverManager.getConnection(url,““,“”);
Statement.stmtNew=conn.createStatement();
MySql连接方法
Class.forName(“org.gjt.mm.mysql.Driver“).newInstance();
Stringurl=“jdbc:
mysql:
//localhost/myDB?
user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1“;
//myDB为数据库名
Connection.conn=DriverManager.getConnection(url);
sqlserver2005连接方法
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();
String.url=“jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=mydb“;
//mydb为数据库
String.user=“sa“;
String.password=““;
Connection.conn=DriverManager.getConnection(url,user,password);
Oracle连接方法
Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance();
String.url=“jdbc:
oracle:
thin:
@localhost:
1521:
orcl“;//orcl为数据库的SID
String.user=“system“;
String.password=“system“;
Connection.conn=DriverManager.getConnection(url,user,password);
3)struts1、struts2简介
Struts的起源
Struts最早是作为ApacheJakarta项目的组成部分问世运做。
它的目的是为了帮助你减少在运用MVC设计模型来开发Web应用的时间。
Struts工作原理
MVC即Model-View-Controller的缩写,是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts2体系结构
Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。
Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。
浏览器发送一个请求。
核心控制器FilterDispatcher根据请求决定调用合适的Action。
WebWork的拦截器链自动对请求应用通用功能,如验证等。
回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。
Action的execute方法处理结果信息将被输出到浏览器中,支持多种形式的视图。
2、上机操作了哪些语句和程序?
上机语句程序主要为数据库连接内容如下:
Acess连接:
importjava.sql.*;
publicclassConnectAcess
{
publicstaticvoidmain(Stringargs[])
{
Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";//jdbc-odbc桥驱动程序
Stringurl="jdbc:
odbc:
jxgl"; //定义JDBCURL,jxgl是ODBC数据源
Stringuser="system";//用户名
Stringpassword="system";//口令
try
{
//得到与数据库的连接
Connectioncon=DriverManager.getConnection(url,user,password);
if(!
con.isClosed())//isClose方法用于判断连接的状态
System.out.println("数据库连接成功!
");
con.close();
}
catch(SQLExceptionee)
{
//如果连接失败,则输出""信息
System.out.println("数据库连接失败!
");
}
}
}
MySql连接
importjava.sql.*;
publicclassSampleIntro
{
publicstaticvoidmain(String[]args)
{
try
{
Connectionconn;
Statementstmt;
ResultSetres;
//加载Connector/J驱动
//这一句也可写为:
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
//建立到MySQL的连接
conn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
8080/test","system","system");
//执行SQL语句
stmt=conn.createStatement();
res=stmt.executeQuery("select*frompet");
//处理结果集
while(res.next())
{
Stringname=res.getString("name");
System.out.println(name);
}
res.close();
}
catch(Exceptionex)
{
System.out.println("Error:
"+ex.toString());
}
}
}
sqlserver2005连接
importjava.sql.*;
publicclassUseDriver{
publicstaticvoidmain(String[]args){
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=tempdb";
StringuserName="sa";
Stringpassword="mingyang";
Stringsql=null;
Connectionc;
Statementstmt=null;
try{
System.out.println("beforeloaddriver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("afterloaddriversucessful");
}catch(ClassNotFoundExceptione){
System.err.print("failtoloaddriver");
}
try{
System.out.println("beforeconnecttodatabase");
conn.getConnection(url,userName,password);
System.out.println("connectdatabasesucessfull");
}catch(SQLExceptione){
System.out.println("failtoconnectdatabase");
}
}
}
Oracle连接
importjava.sql.*;
publicclassOracleTest{
privatefinalStringoracleDriverName="oracle.jdbc.driver.OracleDriver";
//以下使用的Test就是Oracle里的表空间
privatefinalStringoracleUrlToConnect="jdbc:
oracle:
thin:
@192.168.0.36:
1521:
Test";
privateConnectionmyConnection=null;
/**
*Toloadthejdbcdriver
*
*/
publicOracleTest()
{
try
{
Class.forName(oracleDriverName);
}catch(ClassNotFoundExceptionex)
{
System.out.println(getErrorMessage(ex,"TheDriverloadederror,pleasecontacttoyourSoftwareDesigner!
").toString());
}
}
publicStringBuffergetErrorMessage(Exceptionex,StringalarmMessage)
{
StringBuffererrorStringBuffer=newStringBuffer();
errorStringBuffer.append(alarmMessage);
errorStringBuffer.append(ex.getMessage());
returnerrorStringBuffer;
}
/**
*getConnectionmethod
*@returnConnection
*/
publicConnectiongetConnection()
{
try
{
this.myConnection=DriverManager.getConnection(oracleUrlToConnect,"Fane","201");
}catch(Exceptionex)
{
System.out.println(getErrorMessage(ex,"Cannotgetconnection,pleasecontacttoyourSoftwareDesigner!
").toString());
}
returnthis.myConnection;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
OracleTestmyOracleTest=newOracleTest();
try
{
ConnectionmyConnection=myOracleTest.getConnection();
System.out.println("Nowbegintoexcute.............");
PreparedStatementmyPreparedStatement=myConnection.prepareStatement("selectarea_id,area_name,ip_address,tel,area_type,pc_idfromc_area_info");
ResultSetmyResultSet=myPreparedStatement.executeQuery();
StringBuffermyStringBuffer=newStringBuffer();
while(myResultSet.next())
{
myStringBuffer.append(myResultSet.getInt("area_id")+"");
myStringBuffer.append(myResultSet.getString("area_name")+"");
myStringBuffer.append(myResultSet.getString("ip_address")+"");
myStringBuffer.append(myResultSet.getString("tel")+"");
myStringBuffer.append(myResultSet.getInt("area_type")+"");
myStringBuffer.append(myResultSet.getInt("pc_id")+"\n");
}
System.out.println(myStringBuffer.toString());
}catch(Exceptionex)
{
System.out.println(myOracleTest.getErrorMessage(ex,"Applicationror,pleasecontacttoyourSoftwareDesigner!
").toString());
}
}
}
3、仿照教材或参考资料的内容编写了哪些网页?
网页如下:
Test.jsp
<%@pagecontenType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>
JSP测试页面---HelloWorld!
</TITLE>
</HEAD>
<BODY>
<%="<h1>HelloWorld!
<br>世界,你好!
</h1>"%>
</BODY>
</HTML>
login.html
hello.jsp
Hello:
<%=request.getAttribute("user")%>
4、操作与调试过程中出现了哪些意想不到的问题与错误,最后通过什么方式解决问题的?
1)常见的一个问题是连接数据库语句没有错误,服务器也打开了但是就是没连上数据库,最后通过上网搜索才发现原来是忘了把数据库连接驱动的jar包导入工程。
2)乱改文件配置文件server.xml,导致最终的访问页面失败。
一般只需配置url参数,并牢记以便在访问时不会出错。
5、程序运行后得到了哪些结果或效果?
1)test.jsp主要用于测试tomcat下网页是否发布成功,运行后显示效果:
HelloWorld!
世界,你好!
2)login.html页面显示登陆所需填写信息的一个table;hello.jsp则是显示从数据库里的信息。
二、具体做了一个什么项目?
网上书店管理系统
1、如何分析问题的
Bookstore应用是一个javaweb应用,从一下三层软件结构进行分析:
客户层:
提供基于浏览器的客户界面,客户可以浏览web服务器传过来的静态或者动态的html页面,客户可以通过动态html页面和web服务器交互;
web服务层:
Servlet、JSp和javabean组建运行在web服务器上,jsp负责生成动态HTML页面,javabean负责访问数据库和事务处理。
在web服务器层还包括一些提供jsp和javabean组件访问的使用类;
存放和维护web应用的数据信息
分析结构图如下:
2、要用到哪些专业知识(如数学、数据库等)
需用到数据库建表相关知识,比如sql语句。
3、所编写的程序与代码
Java相关程序:
BookDB、BookDetails、ShoppingCart、ShoppingCartItem
/**accessmysqldatabasethroughJDBCDriver*/
packagemypack;
importjava.sql.*;
importjavax.naming.*;
importjavax.sql.*;
importjava.util.*;
publicclassBookDB{
privateArrayListbooks;
privateStringdbUrl="jdbc:
mysql:
//localhost:
3306/BookDB";
privateStringdbUser="dbuser";
privateStringdbPwd="1234";
publicBookDB()throwsException{
Class.forName("com.mysql.jdbc.Driver");
}
publicConnectiongetConnection()throwsException{
returnjava.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
}
publicvoidcloseConnection(Connectioncon){
try{
if(con!
=null)con.close();
}catch(Exceptione){
e.printStackTrace();
}
}
publicvoidclosePrepStmt(PreparedStatementprepStmt){
try{
if(prepStmt!
=null)prepStmt.close();
}catch(Exceptione){
e.printStackTrace();
}
}
publicvoidcloseResultSet(ResultSetrs){
try{
if(rs!
=null)rs.close();
}catch(Exceptione){
e.printStackTrace();
}
}
publicintgetNumberOfBooks()throwsException{
Connectioncon=null;
PreparedStatementprepStmt=null;
ResultSetrs=null;
books=newArrayList();
try{
con=getConnection();
StringselectStatement="select*"+"frombooks";
prepStmt=con.prepareStatement(selectStatement);
rs=prepStmt.executeQuery();
while(rs.next()){
BookDetailsbd=newBookDetails(rs.getString
(1),rs.getString
(2),rs.getString(3),
rs.getFloat(4),rs.getInt(5),rs.getString(6),rs.getInt(7));
books.add(bd);
}
}finally{
closeResultSet(rs);
closePrepStmt(prepStmt);
closeConnection(con);
}
returnbooks.size();
}
publicCollectiongetBooks()throwsException{
Connectioncon=null;
PreparedStatementprepStmt=null;
ResultSetrs=null;
books=newArrayList();
try{
con=getConnection();
StringselectStatement="select*"+"frombooks";
prepStmt=con.prepareStatement(selectStatement);
rs=prepStmt.executeQuery();
while(rs.next()){
BookDetailsbd=newBookDetails(rs.getString
(1),rs.getString
(2),rs.ge
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA WEB研学笔记 WEB 笔记