JavaEE(二)

servlet
总结
1.< a >< form>发送请求
2.jsp或servlet接受请求
3.增删改查
4.请求转发回应
5.所有访问入口为servlet
注意:servlet中可以使用return来组织继续向下使用

创建使用
通常使用方法,javaee3.0以上版本
@WebServlet("/testservlet")//访问地址,一个项目地址唯一,否则报异常
public class testservlet extends HttpServlet {//继承
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//如果为GET请求
response.getWriter().append("Served at: ").append(request.getContextPath());//回应输出
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//如果是POST请求
doGet(request, response);
}

}

@WebServlet("/testservlet")
public class testservlet extends GenericServlet {//处理核心
@Override
有两种service,带http的基本不需处理细节
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {//请求已进入先执行
super.service(arg0, arg1);
}
}

通过web.xml设置指定访问地址,优点:发布了也可以设置

aaaaaa
servlet.ada

aaaaaa /bb

还有welcome标签,指定默认页面

基本使用

@WebServlet("/testservlet")//访问地址
public class testservlet extends HttpServlet {//继承
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//如果为GET请求
request.setCharacterEncoding(“utf-8”);
response.setContentType(“text/html;charset=utf-8”);
List list =DBHelper.executeQuery(“select*from Type”, Type.class);
request.setAttribute(“list”, list);//将查询结果加入request中,键值对
request.getRequestDispatcher(“a.jsp”).include(request, response);//请求转发,include方法是在输出的结果中附加
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//如果是POST请求	
	doGet(request, response);
}

}

获取servlet传过来的对象

MVC
回应方式,熟练
直接输出html
response.getWriter().append("html内容 ")
后端url重定向
response.sendRedirect(“index.jsp”);
直接删除json串,ajax可通过Jackson自动生成
response.getWriter().append(json字符串)
请求转发
forward方法:代替之前全部输出
include方法:在之前输出的结果中附加
request.getRequestDispatcher(“index.jsp”).include(request,response)
使用前端模板引擎,freemark

JSTL+EL 全面替代jsp脚本
jstl java通用标签库(重要性排名)
1.core库(核心库)
prefix别名
先设置标签库<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
循环遍历servlet传进来的list
varStatus:指定变量名称,作为行状态对象使用,index,count属性
var:指定变量名称,作为循环的个体
items:循环的内容,用el表达式
<c:forEach items="${list}" var=“row” varStates=“v”>

${v.index}${row.name}

这其实调用的get方法,所以封装要标准,变量名字大写字母之前一定要有两位小写字母

判断处理,没有else,内容时EL的boonlean表达式
<c:if test="${v.index%2==0&&v.count>10}"></c:if>

设置变量值
<c:set target="$(row)" property=“name” value=“123”></c:set>

url重定向
<c:redirect url=“a.jsp”></c:redirect>
2.functions函数库
<%@taglib prefix=“fun” uri=“http://java.sun.com/jsp/jstl/functions” %>
设置标签库
3.sql数据处理库

<%@taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql” %>
4.xml库
5.fmt地域库,地域处理,日期,小数点

EL 数据表达式,数据读取器,获取服务器上的各种值
用法:$(),如果不好用,加上isELIgnored=“false”;
$(值),EL只要语法不错就不报错,没有空指针错误,大小写敏感

内部访问对象:
requestScope
访问服务器值request的,request.setAttribute(“list”, list);,可以省略
l i s t 是 {list} 是 list{requestScope.list}的简写

sessionScope 服务器值session
applicationScope 服务器值application
pageScope 当前页变量,可省略
param 参数值获取
paramValues 同名参数获取,${paramValues.count[1]} ${paramValues.count}返回值开头Ljava,代表对象数组
header http协议头数据
headerValues
cookie 客户端临时存储数据
加入.value是取值;;否则获取cookie对象 ${cookie.username.value}
pageContext 当前页上下文
initParam 当前设置web.xml变量
< context-param >
< param-name>name</ param-name>
< param-value>wjx< /param-value>
< /context-param>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值