第一篇:java web 流程
但是现在我想可能不行了,今天公司突然有变,哎说起来我也真够惨的,不讲这些不高兴的 事了.说点正经的,今天我所写的内容可以对每个有志从事JAVA WEB开发程序员都有很大的 帮助,今天我会详细地把学习JAVA WEB会用到的几乎所以的知识块,这些知识块比较多,主要是给大家指明以后你可能会学到的知识有哪些,不过比较多,但是你们也不用担心,慢慢的 学,也并不是所以的全部都要掌握,但是最起码要有所了解。就拿自己而言吧,学习JAVAWEB开发顺序是: 1.初学JAVA者学些C语言做基础 2.网页三剑客: DreamWeaver FireWorks(or PhotoShop)Flash ;
对于JAVA程序员来说上面的不一定非要学,但如果你想做一个JAVA WEB开发程序员你最少要会html语言,这是最基本的当然如果你会一些Div+Css样式更好
3.数据库(mysql,SQL Server,Oracle等等),这些数据库中你至少要会一种数据库,平时在学校的话一般都是用mysql or SQL Server,其原理基本相似,只要会一个其他的都差不多
4.linux操作系统,如果学校不教的话,可以不学,等工作用到了再学习,但是如果学校教授这门课程并且你想成为一句JAVA开发工程师的话 那这门讲你最好用心学一下,对以后的开发会起到一定的作用(如果你的公司是linux下开发java的话)
5.java这当然是相当重要的了,这是作为一个JAVAWEB开发程序员最基础的部分,也就是说WEB开发的动态代码都是用JAVA写的,即使是框架也不例外。这是一门核心知识。比较受大众喜欢的书籍:Thinking in Java(《JAVA 编程思想》)《,eclipse 从入门到精通》等等。(当然这两个本书我都没看过,嘿嘿...)
6.jsp包含内容较多1> jsp语法知识2> javabean比较简单些,不是很难学
3> servlet 主要是用来处理页面传递信息与数据库进行交互,可以返回一个页面(jsp页面编译后最终也转换成servlet)4> jdbc连接数据库: 用jsp和数据库连接5> jstl标签标签化页面,使jsp页面不再有动态代码嵌入
6> EL表达式结合jstl使用,更加方便的使页面标签化7.javascript,对于一个优秀的WEB开发程序员来讲,其javascript应该相当不错,javascript各种特效实在令人瞠目结舌
8.xml文件 其实这本不该拿出来单独作为一个知识,不过以后也能用的到,主要是能会编写简单的xml 就行了,一定要注意其格式是什么样子的 9.struts框架 View层 经典的MVC框架,这也是struts经久不衰的原因,现在很多人在使用的版本是1.x,不过现在已经有新的版本2.0,添加了不少新的功能初学者可以先学1.x版本,学习完后再转向2.0版本,其最主要的功能是页面转与参数传递2.0中增加了拦截器的功能
10.hibernate框架Model层 主要是对数据库的操作,作为一种持久层,在数据库使用方面相当优势
11.spring框架 Control 控制层,可以连接struts和hibernate,当然不用spring,struts也可以和hibernate,不管用了Spring更加方便管理
spring 是2006年刚推出的框架,相当红火,但学起来也不是那么容易,底层主要是用java的反射机制写的,还有什么动态代理
这些java的高级特性都是jdk 1.5以后才有的新特性,主要优点是控制反转和面向切面式编程,打破了一个类必须在实例化一个对象之后才能调用其方法和属性的JAVA定律,也就是讲想使用某个类的方法和属性可以不用new生成一个对象
直接使用
12.DWR框架 ,也就是著名的Ajxa,无动态刷新页面,全称 异步javascript和xml应用:Google自动搜索建议,Google地图,Gmail,等等等等太多了。。
目前我所学的知识已经总结的差不多了,还有一些比较偏听偏的知识我就不写了,免得给大家带来很多不必要的麻烦,如果你能掌握这些,用这些知识做两个比较像样的网站再加上你有大专或本科文凭,那么来讲找工作一定不会一件很难的事。当然想掌握上面那些也不是一件容易的事。呵呵。上面的那些我也只会用用,真正实在地掌握我也不精,毕竟学习时间也不是很长。需要在以后的学习过程中慢慢学习以致掌握,好了今天我之所以写这些是想给一些不明白JAVA WEB开发要学习什么知识的朋友指明一个方向,但愿你们能 有所收获,到网上去找些资料吧。网上很多,一个一个的来慢慢学,不要灰心。相信你们能够学好学透。。最后祝你们早日成功!以后有时间了我会再慢慢的详细讲一下每个部分有哪些重点要学。。如果还有什么问题的话也可以留言....我会抽时间来给你们解答的......
第二篇:javaweb课程设计
课程设计:基于Java Web的讨论区BBS系统的设计与实现
本系统要求实现以下主要功能:
(1)登录:提供用户登录系统的功能,需要输入用户名和密码
(2)注册:提供用户注册的功能,需要输入用户名、密码、密码确认、Email、QQ
(3)修改注册信息:提供用户修改注册信息的功能,可以修改密码、Email、QQ
(4)浏览讨论区:用户登录后就可以浏览系统中已存在的讨论区,用户可以查看某讨论
区的详细信息,也可以进入该讨论区浏览已发表的帖子,以及回帖
(5)创建讨论区:用户可以创建讨论区,每个讨论区包含一个名称和顺序号,每个讨论
区的名称在系统中是唯一的,顺序号表示讨论区在列表中的排序
(6)修改讨论区:提供讨论区名称和顺序号的修改功能
(7)删除讨论区:提供讨论区删除的功能,方便管理员进行讨论区管理
(8)浏览帖子:用户进入一个讨论区后,可以看到帖子列表,包含帖子主题、作者、创
建时间、回复次数,点击一个帖子,可以查看该帖子的内容和回帖
(9)创建帖子:用户进入一个讨论区后,可以选择创建一个新帖子,需要输入帖子标题
和内容
(10)修改帖子:提供给管理员使用,修改帖子标题和内容
(11)删除帖子:提供给管理员使用,方便管理员进行帖子整理
(12)回复帖子:用户在浏览帖子信息的时候,可以进行回复
第三篇:javaweb学习心得
学习心得
在写心得之前总结下中级部分学习的内容,我们的中级部分主要学习了html,css,javacript,xml,dtd/scheam,以及java ee 中的jsp,servlet,过滤器,监听器,JSTL,EL,jQuery,Ajax。
下面就各个模块进行总结:在学习html时,我是对这个没太在意的,因为里面全部是标签,没有需要理解的内容,全部是属于识记的,所以在学习时相对轻松,对于html常用的标签都是非常清楚的form中的十一种类型,常用的有text,password,hidden,submit,button,radio,checkbox,等其他的标签如div,table,span,select都是重要的标签.Css的学习:虽然说在标签中也可以定义样式,但是这么做看起来不是那么明智,我在学CSS时还是比较努力的,所有的样式效果都测试过,并且写了相应的案例,只是过了不到3个月就忘了一大半,很多时候都是查文档才能写出来的,虽然CSS对于我们来说不必要非常精通,但是我觉得掌握的东西越多,以后的工作就越轻松,所以在中级结束后也会去看看前面的笔记和案例。
Javascript:js 我认为是最重要的,甚至于超过servlet,jsp,在上课期间,讲的内容还是比较少的,就javascript中创建对象来说吧,应该只讲过3中方法,虽然在一般的情况下是用不上的,但是我觉得还是有必要学习的,这样有助于看懂别人写的框架,在javascript这部分学习中讲的最多的还是dom操作,不过我觉得用dom操作太繁琐了,写的代码太多,而且效率看起来也不高,后面就是讲的事件,事件也算是简单的,只是对触发的事件进行相应的响应。除了这些就是javascript流程控制,对象一些基本语法,这些和java类似,所以在上课时没有讲得太多。
Xml: Markup Language可扩展标记语言。它是由SGML(Standard Gerneralized Markup language)发展而来的,允许开发者自定标签,可以将标签和内容有效的分离。在XML技术里,可以编写一个文档来约束XML文档的书写规范,称之为XML约束。本文主要介绍DTD与Schema两种约束,在这里学习了dtd,scheama,定义XML约束,这部分的学习是我感觉最累的一部分,DTD还算好,SCheama里面的内容,现在都忘了,没有任何记忆,只知道在XML约束中有着两中方式,还好这些在刚开始工作时是用不上的,因此我也没有用很多时间来学习。
Servlet:我觉得是比较简单的,可能是因为它是java代码,容易理解。首先讲的是开发环境的配置,安装tomcat,了解tomcat下的目录,以及web工程下的目录。后来是讲了servlet的访问方式,post和get的区别,处理中文乱码是servlet中一个重要的知识点,几乎每个项目都会遇到这个问题。主要乱码有get,post乱码,是通过设置request或者response的编码方式来实现的。Servlet间的跳转方式有重定向和转发,对于重定向和转发的区别,现在理解的很透彻了,重定向是不能获取request中参数,是客户端的两次请求,而转发是服务器内部跳转,不过,两种在设置过滤器的情况下,都要通过过滤器才能跳转。Servlet的生命周期是笔试的必考题,其实这是很简单的,只需要理解,没必要死记硬背的,session算是重要的知识点,很多数据都是存储在内存中,如购物车,用户信息等,还可以对session设置生存时间。说到session就必须说说四种会话跟踪技术,cookie,URL重写,表单域隐藏和session。
JSP:JSP实际上和servlet是一样的,只不过两者侧重点不同,JSP的内置对象和作用域大致是一样的,JSP中还有动作,常用的有操作JavaBean的动作,页面跳转的动作,以及包含的动作。这里重点提到两种包含的区别。在JSP还讲过jstl和EL表达式,都是基础的应用,不过写自定义的标签还是要有一定的java基础的,我开始不太理解标签的解析过程,后来看了几个例子,发现自定义的已不是那么难。
jQuery:jQuery可以说是中级部分学的最好的,主要是它方便了,特别是选择器,而且避免了一些浏览器的差异,所以在学习jQuery后,就再也不想用javascript来获取元素了。不仅如此,jQuery中封装的Ajax操作也是非常简单,不需要自己封装一个类,$.get和$.post 能够省去很多麻烦,jQuery的监听事件也是很简单,不需要在标签中添加对应事件,可以动态的绑定事件。还有就是dom操作更是方便。我在学习完Ajax,json后就发现,即使是没有JSP,也能做出一个动态页面出来,只是会存在效率问题。
总结:虽然说这上面的知识大部分都掌握了,但是能否灵活运用才是重点,所以在今后的学习中多思考问题是否有多种解决方法。
第四篇:javaweb笔试题
(1)假设在helloapp应用中有一个hello.jsp,它的文件路径如下:
%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp c 那么在浏览器端访问hello.jsp的URL是什么? 选项:
(A)http://localhost:8080/hello.jsp(B)http://localhost:8080/helloapp/hello.jsp(C)http://localhost:8080/helloapp/hello/hello.jsp
(2)假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在什么目录下?(2)选项:
(A)helloapp/HelloServlet.class(B)helloapp/WEB-INF/HelloServlet.class(C)helloapp/WEB-INF/classes/HelloServlet.class(D)helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class
(3)假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
那么在浏览器端访问HelloServlet的URL是什么? 选项:
(A)http://localhost:8080/HelloServlet(B)http://localhost:8080/helloapp/HelloServlet(C)http://localhost:8080/helloapp/org/javathinker/hello(D)http://localhost:8080/helloapp/hello
(4)客户请求访问HTML页面与访问Servlet有什么异同? 选项:
(A)相同:都使用HTTP协议
(B)区别:前者Web服务器直接返回HTML页面,后者Web服务器调用Servlet的方法,由Servlet动态生成HTML页面
(C)相同:前者Web服务器直接返回HTML页面,后者Web服务器直接返回Servlet的源代码。(D)区别:后者需要在web.xml中配置URL路径。(E)区别:前者使用HTTP协议,后者使用RMI协议。
(5)HttpServletRequest对象是由谁创建的? 选项:
(A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个HttpServletRequest对象
(B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求时,先创建
HttpServletRequest对象
(6)从HTTP请求中,获得请求参数,应该调用哪个方法? 选项:
(A)调用HttpServletRequest对象的getAttribute()方法(B)调用ServletContext对象的getAttribute()方法(C)调用HttpServletRequest对象的getParameter()方法
(7)ServletContext对象是由谁创建的? 选项:
(A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个ServletContext对象(B)由JavaWeb应用本身负责为自己创建一个ServletContext对象
(C)由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
(8)jspForward1.jsp要把请求转发给jspForward2.jsp,应该在jspForward1.jsp中如何实现?选项:
(A)jspForward2.jsp (B)
(9)当浏览器第二次访问以下JSP网页时的输出结果是什么?
<% int b=0;a++;b++;%>
a:<%= a %>
b:<%= b %> 选项:
(A)a=0 b=0(B)a=1 b=1(c)a=2 b=1
(10)下面哪个说法是正确的? 选项:
(A)对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象(B)每个HttpSession对象都有惟一的ID。
(C)JavaWeb应用程序必须负责为HttpSession分配惟一的ID
(11)如果不希望JSP网页支持Session,应该如何办?(单选)选项:
(A)调用HttpSession的invalidate()方法(B)<%@ page session= “false“>
(12)在标签处理类中,如何访问session范围内的共享数据? 选项:
(A)在TagSupport类中定义了session成员变量,直接调用它的getAttribute()方法即可。
(B)在标签处理类TagSupport类中定义了pageContext成员变量,先通过它的getSession()方法获得当前的
HttpSession对象,再调用HttpSession对象的getAttribute()方法。
(C)pageContext.getAttribute(“attributename”,PageContext.SESSION_SCOPE)
(13)在下面的选项中,哪些是TagSupport类的doStartTag()方法的有效返回值? 选项:
(A)Tag.SKIP_BODY(B)Tag.SKIY_PAGE(C)Tag.EVAL_BODY_INCLUDE(D)Tag.EVAL_PAGE
(14)以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果? request.setAttribute(”count“,new Integer(0));Integer count = request.getAttribute(”count");选项:
A)不能编译通过 B)能编译通过,并正常运行 C)编译通过,但运行时抛出ClassCastException
第五篇:JavaWeb实习报告
武汉工程大学计算机科学与工程学院
生产实习报告
JavaWeb实习报告
一、实习目的与任务
为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作的意识,了解软件开发的过程和基本流程,以便于帮助我们能够在大四毕业时可找到一份客观的工作,我们在大四刚开学就开始了生产实习。
这次实习的主要任务是Java Web软件开发,学习Java开发中比较典型且经常用到的几个知识,其中包括Jsp、Servlet、Html、JDBC等等,另外,Java开发中也必须要用到数据库,因此实习中还加入了Mysql数据库的学习。掌握了这些基本知识之后,就开始真正的项目开发,而且此次我们所要开发的项目是有关博客页面的项目,并完成老师指定的功能。
二、实习地点
重庆足下科技有限公司
三、实习内容和要求
我们这次实习,在校外也就是软帝公司总共是十天,开始几天基本上是每天学习一个方面的内容,大概学习了六天其中包括Jsp、Servlet、Html、JDBC、Mysql等等,剩下几天就是项目时间,做出一个博客开发的项目。大致内容如下:
一、Java语言简介
Java语言Java是由Sun微系统公司所发展出来的程序语言,它是一种面向地向的语言,Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的代码,而是产生一种中间码叫作 ByteCode,这种代码必需在透过 Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,故与Java程序是在那种平台上被编译的,就完全没有干系了。
Java写出来的程序可分为两类,分别是Java Applet与一般的Application,而Application这一类就与一般的程序如C++的作用是比较类似的,是一个独立可执行的应用程序,像HotJava是一个浏览器,且就是使用Java程序所发展出来的。最常见的Java程序包括应用程序和applets。应用程序是单独的程序,诸如HotJava浏览器软件就是用Java语言编写的。
Applets类似于应用程序,但是它们不能单独运行,Applets可以在支持Java的浏览器中运行。Applet主要是内置于HTML网页中,在浏览时发挥作用。
Java的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。利用Java程序语言,可以进行网页开发,其中包括静态语言开发与动态网页开发,可以在网页中加入各式各样的动态效果,可以放上一段动画,加入声音,也可以建立交互式网页等。
二、Html语言
Html是超文本标记语言,它是一种非严格的标记语言,它是web开发的基础,也是制作网页的基础,纯html的页面是静态的。
Html它由head和body两部分组成,所写的内容一般都是放在body中,其中可以添加Form表单域,其中属性 Action表示提交的动作,也就是提交到那个页面,可表示为Action=“http://www.xiexiebang.com”;Method属性表示提交的方法,一般为设为post;在Form表单域中添加table表,table中的属性只有很多,常用的有width、height、align、colspan
武汉工程大学计算机科学与工程学院
生产实习报告
Mysql是一个关联数据库,它将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。Mysql的Sql指得是“结构化查询语言”,Sql是用于访问数据库的最常用标准化语言。同时,Mysql软件也是一种“开放源码”的软件,意味着任何人都能使用和改变软件。任何人都能从Internet下载Mysql软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。Mysql软件采用了GPL(GNU通用公共许可证),定义了在不同情况下可以用软件作的事和不可作的事。数据库服务器具有快速、可靠和易于使用。
Mysql服务器还有一套实用的特性集合,在基准测试主页上,给出了Mysql服务器和其他数据库管理器的比较结果。Mysql支持多种连接,包括TCP/IP、ODBC和JDBC等多种数据库连接途径,而我们此次实习用到的是JDBC数据库连接方法,这一点在下面会讲到。
此次实习我们主要学习了如何在Mysql数据库中建立表格,如何执行Sql语句等等。首先,打开Mysql编写框,执行语句show databases,即可查看Mysql中有哪些数据库,运用create+数据库名语句可建立想要的数据库,运用use+数据库名即可进入对应的数据库。
进入数据库之后,就可以执行数据库中的增、删、查、改等Sql语句了,运用create table +表名(表中所需要的元素),这样就可以建立一张表了,运用desc+表名就可以查看表,运用Sql语句“select * from +表名”就可以查看表中的所有数据,运用“insert into „„”语句可以向表中添加数据;运用“update +表 set „„ Where„„”可以更改表中指定的某项数据;运用“delete +表 where „„”语句可以删除表中的某项数据„„
四、JDBC数据库连接
Java中的JDBC,JDBC是Java Data Base Connectivity的缩写,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
连接数据库的方法有一个模板,代码如下: public class DBManager { private static final String URL=“jdbc:mysql://localhost:3306/test”;private static final String USER=“root”;private static final String PASSWORD=“123”;private static Connection conn=null;
public static Connection getConn(){ try {
if(conn==null){
//注册驱动
Class.forName(“com.mysql.jdbc.Driver”);
conn=DriverManager.getConnection(URL,USER,PASSWORD);
} } catch(ClassNotFoundException e){
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();}
return conn;} } 以后运用数据库连接基本上都是用这个模板,方便又有效,而且在其他地方连接数据
武汉工程大学计算机科学与工程学院
生产实习报告
六、Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet生成响应内容并将其传给Server,响应内容动态生成,通常取决于客户端的请求。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法,用的比较普遍的是doPost()方法。举例如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
1、获取id
String sid=request.getParameter(“id”);
int id=Integer.parseInt(sid);
//
2、根据id查询到对应的学生信息
StuDAO sdao=new StuDAO();
StuDTO stu=sdao.queryStu(id);
//
3、将stu传递到studentModify.jsp页面显示
request.setAttribute(“stu”,stu);request.getRequestDispatcher(“studentModify.jsp”).forward(request,response);我们同样是以学习建立学生信息管理系统为例来学习Servlet的,Servlet与JSP差不多,最主要的差别是JSP是实现普通静态HTML和动态HTML混合编码的技术,Servlet则是web页面和服务器之间的连接物,而这基本上没什么区别。
在编写学生信息管理系统的时候,只不过在昨天编写的基础上,将某些JSP文件运用Servlet表示,像那些只做显示用的JSP页面不做变化,而中间有调用StuDAO中的方法的JSP页面,它们不做显示用,而是要与数据库联系起来,像这些JSP页面就可以转换成相应的Servlet,其中的代码与JSP中的几乎一样,这样处理之后,减少了页面,不过功能没有变化,更加方便了!
四、实习总结及分析
这次实习主要是学习Java Web开发方面的相关知识,主要的有JSP、Servlet、HTML,另外还有JDBC,Mysql数据库等等。
首先是JSP,它是Java Web开发的基础,需要的页面都是用JSP来建立的,它是一种