java-web-j2e学习建议路线


明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。

J2SE:
    新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。
重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等
难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等
视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。

J2EE:
  在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是Struts2、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。
        当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括:
JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已
JNDI: Java 命名与目录接口,J2EE重要规范之一
EJBS: 上面已经提到过了
RMI: 提供远程调用方法的支持,主要用于程序分布式开发
JMS: Java消息服务,中间件技术
JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术
JTS: 组件事务监视器
JTA: 事务划分的一个技术
JAVAMAIL: Java中的邮件技术
JAF: Java启动框架,没研究过
Log4j,一款日志处理的框架应用
Junit:单元测试的好帮手
freemarker、velocity:两款不错的模板引擎
与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术
Web services:想知道我们论坛天气预报的效果是怎么做的吗?请关注这个技术
SOA:面向服务架构,未来技术发展的趋势之一
……
      
        不过前面介绍到得这些都不是J2EE的基础,是属于框架应用级别的.要真正把上面说到的知识掌握好,还是的学习J2EE最核心的东西:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH的基础(Struts\Spring\Hibernate的简称).鉴于J2EE的内容太过复杂,建议大家最初只学习: JSP,servlet和JavaBean,等这个基础掌握好再把SSH学习了,再对其他J2EE技术有个大致的了解就可以出去找工作了。当然,找工作的前提除了把Java学习好,还会有一些其他的技术也是必须要掌握的。

-_- 我很简单,Java却要求我学这么多复杂的东西。除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等。这些是升华大家编程思想的手段和途径。
数据库技术:

     数据库几乎是程序中不可或缺的一部分,在整个软件开发中更是占据了重要作用.数据库在整个软件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做软件,就要先设计好的数据库.目前数据库几乎都是关系型数据库,代表的有:
SQL Server/MySQL---不建议学这个没有多大意义。
ORACLE.甲骨文公司的产品,大型数据库,正版的一般公司买不起.只有看看了,不过现在Java开发60%都是会使用到这个数据库,再加上现在甲骨文已经把sun公司收购了,JAVA和ORACLE得关系更加暧昧,各位得多花些时间在这上面了.
除了这些,你还应该了解一些桌面应用软件开发用到的数据库,比如说sqlite。你在制作安装程序的时候可以把这个数据库打包进你的安装程序。
网页编程基础:
     网页编程基础要学的内容也比较多,但主要集中在以下这三个技术之上,大家每天看的各种样式的网页都是它们呈现的:
HTML:超文本标记语言
CSS:层叠样式表
Javascript:浏览器客户端脚本语言
现在更是流行各种JavaScript库,比如:Jquery、ExtJs等,你要是会其中的某一个库的使用,找工作so easy。
J2ME:
     如果你在学习了以上技术还不过瘾,可以再学习手机程序的开发,就我个人看来,开发手机程序技术其实蛮简单的,难点在于优化,比如怎么让你写的程序尽量的节约手机资源,“代码诚可贵,手机价更高“,所以不得不比PC机多考虑很多成本和实用性问题。J2ME的学习的话,切忌不要单纯的再模拟器上测试,一定要找真机测试,真机和模拟器的效果之间差别是很大的。更多手机开发技术,有兴趣的朋友可以和我一起探讨。
开发工具:
    开发工具的选择主要还是看大家的习惯,我个人比较喜欢使用eclispe,功能很强大,也很好拓展其他的功能。当让初学你也可以选择JCreator,或者最好就直接用记事本。等你熟悉了Java代码之后,就可以使用JBuilder、eclispe或者netbeans这一类的工具了。
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,需要设计数据库表来存储用户信息,例如: ```sql CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username_UNIQUE` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 然后,需要编写 Java 类来处理用户的注册和登录请求。以下是一个简单的示例: ```java import java.sql.*; public class UserDAO { private Connection connection; public UserDAO(String url, String username, String password) throws SQLException { connection = DriverManager.getConnection(url, username, password); } public boolean register(User user) throws SQLException { PreparedStatement statement = connection.prepareStatement("INSERT INTO user (username, password, email) VALUES (?, ?, ?)"); statement.setString(1, user.getUsername()); statement.setString(2, user.getPassword()); statement.setString(3, user.getEmail()); return statement.executeUpdate() == 1; } public boolean login(String username, String password) throws SQLException { PreparedStatement statement = connection.prepareStatement("SELECT * FROM user WHERE username = ?"); statement.setString(1, username); ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { String actualPassword = resultSet.getString("password"); return actualPassword.equals(password); } return false; } } ``` 在上面的代码中,`User` 是一个简单的 Java Bean,用于存储用户信息。`UserDAO` 类用于与数据库交互,实现用户注册和登录功能。`register` 方法将用户信息插入到数据库中,`login` 方法从数据库中查询用户信息并验证密码是否匹配。 最后,需要编写一个 Servlet 来处理用户的注册和登录请求。以下是一个简单的示例: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.sql.*; public class UserServlet extends HttpServlet { private UserDAO userDAO; public void init() throws ServletException { String url = getServletContext().getInitParameter("db.url"); String username = getServletContext().getInitParameter("db.username"); String password = getServletContext().getInitParameter("db.password"); try { userDAO = new UserDAO(url, username, password); } catch (SQLException e) { throw new ServletException("Unable to connect to database", e); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); if (action.equals("register")) { String username = request.getParameter("username"); String password = request.getParameter("password"); String email = request.getParameter("email"); User user = new User(username, password, email); try { if (userDAO.register(user)) { response.sendRedirect("login.jsp"); } else { response.sendRedirect("register.jsp?error=Username already exists"); } } catch (SQLException e) { throw new ServletException("Unable to register user", e); } } else if (action.equals("login")) { String username = request.getParameter("username"); String password = request.getParameter("password"); try { if (userDAO.login(username, password)) { HttpSession session = request.getSession(); session.setAttribute("username", username); response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("login.jsp?error=Invalid username or password"); } } catch (SQLException e) { throw new ServletException("Unable to login", e); } } } } ``` 在上面的代码中,`UserServlet` 类处理用户的注册和登录请求。`init` 方法初始化 `UserDAO` 对象,`doPost` 方法根据请求参数调用相应的方法进行处理,并将结果重定向到相应的页面。在登录成功后,将用户名保存在 `HttpSession` 中,以便在后续的页面中使用。需要注意的是,为了安全起见,密码应该使用哈希函数进行处理,而不是明文存储在数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值