??xml version="1.0" encoding="utf-8" standalone="yes"?>
Q汗Q一?张CDQ这不是费资源Q浪费精力嘛。那选择DVD版本吧,可是我没d盘,汗,那就选择盘安装吧?/font>
要用Grub启动Q先得配|一下,叛_我的电脑->属?>高->启动和故障恢?>~辑
是在Windows启动的后面加一?font color="#ff0000">C:\grldr="Grub"C:\grldr="CentOS" Q在安装好之后删除这一即?/font>
现在我把q个镜像文g和isolinux文g多w攑֜了F盘(FAT32格式Q?/font>
解压到C盘的文g中有一个menu.lst文gQ现在需要打开配置一下,在最后一行加?/p>
title CentOS
kernel (hd0,6)/isolinux/vmlinuz
initrd (hd0,6)/isolinux/initrd.img
boot
因ؓ我的isolinux文g夹在F盘,所以应当是W?个分区,q是很重要的?
OK重启pȝ可以安装了Q安装的时候选择盘安装Q其他都一栗?/p>
如果不会可以再次参考一下三文章啰
一、本周主要学习情?/font> ?32出来Q我曾想q?条\。首先,.NETq一块是不能搞了Q我不能把团队积累的东西拿出ȝl做我的目Q我现在的可以从PHP和JSP入手Q通过PHPd些小的CMSQ以后通过J2EE做比较大型的目。在此过E中Q我搭PHP环境有了2天,搭JSP环境用了2天,我体会到?NET实是比较容易入手的Q适合初学者。第二条路是Q接下来的日子,没有班主ȝ帮助Q我可能很难ȝ正的做项目,我的唯一\是考研Q我一直没有选择q条路的原因是因为我觉得q很可能是从一个火坑蟩C另一个火坑(我觉得本校的学习气氛M上还是不怎么LQ。思烦后,觉得q条路是可以试的,也是值得试的?/font> 有一U思想很重要。在q去232的日子,我学到最受益的应当是沈老师教导的一U思想?NET中的三次架构通过把系l分成UI、BLL、DAL实现了“高内聚、低耦合”的思想Q这U东西其实对以以后的扩展时很方便的,我在Java中也扑ֈ了UI、BIZ、DAO的分层结构,q当中的思想几乎是无变化的?NET中通过代码生成器徏立一些ModelQ或者说是NHibernateQ这个东西当初只知道什么ORM思想的,不过通过Java中的HibernateQ我有了重新的认识?/font> 有的东西q是需要知道的。沈老师说过Q我们做的不是实验室产品Q我们应当不仅知道怎么用这些东西,q要知道q些东西是怎么实现的?NET通过装一些东西,使得~程变的是一件极其容易的事(有些控g的实玎ͼ其效率可能是很低的)Q我觉得q是.NET一个好的方面,也是一个坏的方面,我们无法L其具体实现。在Java中,我是可以接触低层~码的,我JSP的页面其实是建立在Servlet的基之上Q而Servlet其实是一个Javac,只是q个cL较特D。Q何页面,通过~译之后Q就是一?class文gQ这个就昑־很直白了QQ何一张页面就是一个类。然后,q有一Ҏ较感慨,?NET中我到现在ؓ止无法知道哪个方法对Post或Get表单p处理Q而Java中可以通过重蝲一个Servletcd现对表单不同提交方式的处理。还有就是,接触Java后,我对于HTTP传输有了更进一步的认识Q我完全可以~写一个报_搞个cM于cotent="test/html;charset=GBK"的东西,其传输协议的报头和控制信息我是完全可以操控的Q整张页面可以通过一个ServletcM写(q里我也认识C沈老师Z么会把一些HTML代码装在C#cM的原因,我当初还以ؓq是一U不爱好的行为,他把UI和BLL混了Q?/font> 其实q_无所谓。如果真的做目Q我l不会选择去重新构建form提交的一些方法,有些东西应当是封装的Q这里就是一个积累的问题了,而且q是一个非帔R要的斚wQ必认真切实的做。实际开发中Q我们应该选择比较高的东西,不过Q我始终觉得对于一些低层东西的了解q是蛮重要的。做项目,LAMP是一U不错的选择Q主^台还是属?NET和J2EE吧?/font> 有的时候把道理讲清楚很重要。我曑֝定的认ؓ数据程囑֒数据图q类q程化得东西是不可以随便抛弃的,不能_我们现在用了面向对象的方法,一切过E化的东西就要全部抛弃。后来我逐渐理解Q现实中Q类q种东西实是极其稳定的Q而对象是可变的,面向对象的方法是合适的Q还有很多方面有优势呢)。然后,我觉得一个数据流E图同样可以把一个东西的操作q程全部描述清楚Q我有何必舍弃这个而去用UML中的zd囑֑Q后来,沈老师提到了一个用户交互的问题Q我l于发现数据程囄实无法实玎ͼq有很多优点{待我去发现Q。我d232重要是和沈老师思想上有些冲H,我绝无理由去怀疑沈老师技术上是NB的,不过有些x实和我想的不一P可能我比较怪吧Q我觉得有些东西是要商量的,有些东西也是要看个h意愿的)?/font> |
二、下周学习计?/font> 现在我已l把一个OJ的系l搭h了,我也{应了王老师把这个OJ完善一下,下一步我会把OJ的有些东西反~译一下,然后我想把这个OJ的内核提出来也不是很困难的事Q我会把q个OJ的内核提出来Q最后我也会整一个Discuz PHP的论坛,最后把q一套系l作为我的毕业设计(如果考研的话Q这也是我唯一的选择了)。另外有一个还是比较重要的东西Q可能对我来说也无所谓,是要好好准备一下Y考(零星地看q,貌似我想好好复习Q。有的时候想x谓的证书是没用的Q大胆的喊一声“我的能力不需要Q何证书来体现”?/font> |
三?/font>学习中有何徏议,q有何困N要解x支持?/font> 困难Q?/font>HTML最基础Q我需要。我以前认ؓq种东西是界面设计h员的事情Q我是挺不情愿的dq种事的Q尽沈老师说过多次Q,要运用ServletQ你必须掌握HTML界面布局?/font> Q?/font>作ؓ一个团队,团结是很重要的,所谓的要做团队贡献q不是谁说了,q种东西应当更多的是从责d发,Q给我的感觉是大家都是出来LQ我们现在在同一个团队,Z么我们不团结在一起做一番事业呢Q)。还有一点,我觉得团队成员之间的交流时很重要的,不仅仅是技术上的(我们的定位绝不是E序员,我们需要的是工E师Q?/font> |
然后扑ֈpathQ选择~辑Q添加内?%java_home%\bin;%java_home%\jre\bin
q里?java_home%其实是上面java_home的一个替代品Q当然也可以自己?/p>
C:\Java\JDK\bin{东西啦
最后还要添加一个很重要的classpath变量Q其gؓ
.;%java_home%\lib;%java_home%\lib\tools.jar
q个.代表当前目录
配置完成之后用测试一?/p>
如果说我~译得到一个Servlet的class文gQ?font color="#000000">其内容书写如?/font>
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.omg.CORBA.Request; public class MyServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter out = resp.getWriter(); out.println("<font color=red>I'm a Servlet</font>"); out.flush(); out.close(); /*通过TomcatQ不需要徏立Socket * */ } /** * */ private static final long serialVersionUID = 1L; }
其攑֜Tomcat 6.0\webapps\MyJSP\WEB-INF\classes文g下,
现在的Q务是q样通过览器访问到q个ServletE序呢,查看WebRoot下的web.xml文g
web.xml文g内容如下
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee >
。。。。?/p>
</web-app>
现在Z与其兌我需要添?条语?/span>
<servlet> <servlet-name>MyServletxx</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet>
W一行可以选一个名字,不过接下来一D늚名称必须与其相同Q第二行卌个ServletcȝcdQ在加以下内?/font>
<servlet-mapping> <servlet-name>MyServletxx</servlet-name> <!-- ervlet --> <url-pattern>/MyServlet</url-pattern> </servlet-mapping>
q个名字必须与前面的相同Q第二个指明了访问\径,如果我这样写了,可以在浏览器中输入以下内容访?/span>
http://localhost:8080/MyJSP/MyServlet
OK
import java.net.Socket; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws Exception { //建立一个到服务器的Socketq接 Socket s = new Socket("127.0.0.1", 80); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); bw.write("GET/HTTP/1.1"); bw.newLine(); bw.write("Host:127.0.0.1:80"); bw.write("Content-Type:text/html"); bw.newLine(); bw.newLine(); bw.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); String str = null; while((str = br.readLine()) != null) { System.out.println(str); } bw.close(); br.close(); s.close(); } }
首先下蝲安装文g Q安装之后在Windows Live Writer中将昄如下图标Q?a href="http://www.aygfsteel.com/images/blogjava_net/XfoxKing/WindowsLiveWriter/WindowsLiveWriter_8411/image_5.png">
Q?/p>
插入效果如下Q?/p>
插g2Q?a >CodePaste-v1.0.3345.rar
先下载该文g的dllQ?a href="http://www.aygfsteel.com/images/blogjava_net/XfoxKing/WindowsLiveWriter/WindowsLiveWriter_8411/image_9.png"> 然后复制到Live Writer安装目录的Plugins文g夹下卛_Q效果如?/p>
插g3Q?a >SyntaxHighlight.rar
下蝲插gQ同栯压到Plugins目录下即可,效果如下Q?/p>
public static void main(String[] args) throws SQLException { //1.注册MySql驱动 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }
插g4Q?a target="_blank">Paste from Visual Studio
专门用于VS代码的粘?/p>
Z以后能独立运行,修改一下JAE Library Installation
Hibernate有全局的配|文件hibernate.cfg.xmlQ现在需要做一下配|?/p>
下一步需要注意的是对&字符q行转义
jdbc:mysql://localhost:3306/studio?useUnicode=true&characterEncoding=GBK
OkQ创建完成,看一下配|的东西?/p>
接下来是Hibernate的具体用,看一下所谓的反向工程吧。。。?/p>
单击右键在需要用Hibernate的表|选择Hibernate Reverse EngineeringQ?/p>
现在对其做一下设|,最l如?/p>
下一?/p>
再下一?/p>
看一下生成的文g?/p>
现在用Hibernateq行一些编E测试吧
import java.util.*; import java.sql.*; import org.hibernate.Transaction; public class Main { /** * * @param args */ public static void main(String[] args) { //插入数据 //1.实例化DAO EchoUserLoginDAO dao = new EchoUserLoginDAO(); //2.打开transaction Transaction tran = dao.getSession().beginTransaction(); //3.生Javac?/span> EchoUserLogin userlogin = new EchoUserLogin(); //4.讄属?/span> userlogin.setPassWord("xx"); userlogin.setUserName("yy"); //5.保存 dao.save(userlogin); //6.提交事务 tran.commit(); //7.d数据 java.util.List<EchoUserLogin> result = dao.findAll(); //8.列出列表中的所有数?/span> for(EchoUserLogin o:result){ System.out.println(o.getUserName()); System.out.println(o.getPassWord()); } dao.getSession().close(); } }
新徏一个数据库q接驱动
OKQ测试一下,q接成功
可以下蝲不同版本Q也可以直接从我的网盘中下蝲Q?a >mysql-connector-java-3.1.11-bin.jar
接下来将jar包加载上d。。?/p>
具体实现的代码很Ҏ看懂Q不再多费话了,以下是我的代码实?/p>
import java.util.*; import java.sql.*; public class Main { /** * * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { //1.注册MySql驱动 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //2.获取数据库的链接 java.sql.Connection conn = java.sql.DriverManager.getConnection( "jdbc:mysql://localhost/studio?useUnicode=true&characterEncoding=GBK", "root", "admin"); //3.获取表达?/span> java.sql.Statement stmt = conn.createStatement(); //4.执行SQL java.sql.ResultSet rs = stmt.executeQuery("select * from UserLogin"); //5.昄l果集里的数?/span> while(rs.next()){ System.out.println(rs.getInt(1)); System.out.println(rs.getString("UserName")); System.out.println(rs.getString("Password")); } //6.释放资源 rs.close(); stmt.close(); conn.close(); } }