Web工程阶段性总结
2015-11-06 12:57
211 查看
学习web有接近一个多月的时间了吧。我从最简单的HTML静态网页到JSP与Servlet动态网页。当然这三者也是有区别的:jsp是html包含java;servlet是java包含html;jsp请求到tomcat---tomcat封装了jsp到servlet实现。所以jsp请求时候,会自动创建session而不用在servlet中request.getSession(true),servlet是服务器端的程序,动态生成html页面发到客户端,但是这样 程序里有许多out.println(),java和html语言混在一起很乱。所以 后来推出了jsp。其实jsp就是servlet,每一个jsp在第一次运行时被
,转换成servlet文件,再编译成.class来运行。 有了jsp,因此在MVC模式中servlet不再负责生成html页面,转而担任 控制程序逻辑的作用,控制jsp和javabean之间的流转。
我们在这个阶段里,主要学习了El表达式、C标签、ajax技术等主要知识点;在我们后期练习的项目中需要我们充分运用这些知识点。目的也就是达到一个熟练。El表达式:为了使JSP写起来更加简单,它提供了在 JSP 中简化表达式的方法。使我们在做项目的时候,前台很方便的取到后台数据,适用于取少量数据。格式:${expression}
C标签:它是 中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。前台要展示大量数据,就要用C标签。格式:<c:if></c:if>
如果要使用JSTL,则必须将jstl.jar和 standard.jar文件加入到classpath中,还有下面三行jsp代码
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
ajax技术:在做练习的过程中,我用过老师教的自己创建ajax的方法,也用过jquery中封装好的方法,下面我就将这两种方法都展示一下吧:
手动创建:var request;
function createRequest(){
// 支持IE浏览器
if(window.ActiveXObject){
request=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
request=new XMLHttpRequest();
}
else{
alert("no support!");
}
}
function send(){
createRequest();
request.onreadystatechange=process;
request.open("POST","ReNameServlet",true);
request.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=UTF-8");
request.send("userName="+document.getElementById("text").value);
}
function process(){
if(request.readyState==4&&request.status==200){
alert(request.responseText);
}
}
jquery封装好的方法:
function getGoodsMsg(){
$.ajax({
type : "POST",
url : "DetailsFirstServlet",
data: "goodsId="+$("#goodsId").value,
dataType : "json",
success : function(msg) {
if (null != msg) {
$("#goods-img").attr("src",msg.goodsImageUrl);;
$("#goodsPrice").html(msg.goodsPrice);
$("#saleNum").html(msg.goodsSNum);
$("#clickNum").html(msg.clicktimes);
$("#goodsName").html(msg.goodsName);
$("#goodsComments").html(msg.commentNum);
$("#userLocation").html(msg.address);
$("#goodsCnum").html(msg.goodsCNum);
$("#custName").html(msg.account);
}
}
});
}
function valtt(){
$("#comment-input").value=$("#comment-area").innerHTML;
// alert($("#comment-area").val());
$.ajax({
type : "POST",
url : "CreateCommentServlet",
data: "commentContent="+$("#comment-area").val(),
dataType : "json",
success : function(msg) {
if (null != msg) {
alert(msg);
}
}
});
}
在做这个练习项目的过程中,感觉自己学到了很多。不仅将知识点学透彻了,还收获了团队组员之间的友谊。做项目的过程中,我也是各种报错。但经过日积月累的过程,我不会第一时间去找老师解决,自己先解决,解决
不了再咨询指导老师。也感觉自己成长了很多,独立了不少。这也是一件大的收获吧!
相关文章推荐
- 贪心 Codeforces584C Marina and Vasya
- jstack和线程dump分析
- javascript设计模式-装饰着模式
- 探索A@1db9742
- Android Studio 1.3/1.4 无法更新下载Android NDK:install failed please check your network
- 百度搜索软件名称时提供的快速下载的软件可能有病毒或非官方
- 机器学习
- 往前往后推时间(排除工作日和节假日)
- C++ string操作汇总
- 自定义一个抽象类,用来计算圆的面积
- 【paper】KDD15 - Interpreting Advertiser Intent in Sponsored Search
- ————————————————————————2003————————————————————
- ————————————————————————————————————————————2002--------------------------------------------————————————————————
- CSS段落缩进
- POSTGRESQL 存储过程 select into 和 insert into select 两种表复制语句之间的差别
- svn执行上下文错误:由于目标计算机积极拒绝,无法连接 .
- 采用CXF+spring+restful创建一个web接口项目
- -----------------------------------------------------------------------2001——————————————————————————
- 如何解决putty登陆很慢才出现密码输入行
- ---------------------------2000---------------------------------