jsp基础(针对新手入门)

重点:掌握小脚本

掌握表达式

 

JSP (Java Server Pages)是指

 · 在HTML中嵌入Java脚本代码

 ·由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码

 ·然后将生成的整个页面信息返回给客户端

 

 

注意:新建jsp的时候jsp一般存放在webRoot目录下,千万不要放在WEB-INF下边,不然页面无法访问(用户无法直接访问WEB-INF下的资源

常见的页面访问错误

404  路径url 错误

500  页面代码有错

 

Jsp执行

Jsp—>翻译成java文件(servlet)à编译成class文件 然后运行

 

JSP注释

小脚本内可以使用  //单行注释   /*注释内容 */

html中可使用  <!--html注释--> 在浏览器访问时会在源代码中显示

          <%--jsp注释--%> 在浏览器访问时会在源代码中不显示

 

 

小脚本  

用来在jsp中插入java代码(同一页面中小脚本中变量名不能重复)

格式:<%java代码】 %>    

eg:<% String s="hello world"; %>

注:小脚本中不能声明方法 ,其中代码会原封不动的放到Servlet_jspSerivce方法中

Eg:输出一个104列的表格

<table border="1" width="400px" height="300px">

<% for(int i=0;i<10;i++){  %>

  <tr>

    <td></td>

    <td></td>

    <td></td>

    <td></td>

      </tr>

<%  }  %>

</table>


 

表达式 (在html中输出java中的值)

格式: <%=java 表达式】 %>

eg:<%=new java.util.Date() %>

注:小脚本后边不能有分号(;) 表达式中最后会翻译成out.print(...)

 

    <% String s="hello world"; %>

      <%=s  %>       <!--  在页面输出java代码中的值 -->

<%  

           out.print(s);     //在页面输出

         system.out.print(s);  //在控制台输出

             %>

Eg:99乘法表

 

<%  

        for(int i=1;i<=9;i++){

   out.print("<tr>");

    for(int j=1;j<=i;j++){

%><td><%=i+"*"+j+"="+i*j %> </td><%

  }

out.print("</tr>");

  }

        %>

 

声明

格式:<%!JAVA代码】%>

声明中的代码会放在翻译后的Servlet类中(声明中可以写静态代码块,成员变量和方法)

 

<%!

       int b=10;

      public void a(){   system.out.print("aaa");

        %>

 

使用小脚本和表达式链接数据库输出emp表的数据

1、 在项目中配置oracle的驱动jar

jar包拷贝到项目中的lib文件夹下

然后把jar包部署在项目上边

2、 创建数据库工具类(提供数据库的链接、关闭链接、查询、更新的方法)DBOperation

3、 emp表进行封装

新建Emp

public class Emp {

private int empno;

private String ename;

private String job;

private int mgr;

private Date hiredate;

private int sal;

private int comm;

private int deptno;

public int getEmpno() {

return empno;

}

public void setEmpno(int empno) {

this.empno = empno;

}

public String getEname() {

return ename;

}

public void setEname(String ename) {

this.ename = ename;

}

public String getJob() {

return job;

}

public void setJob(String job) {

this.job = job;

}

public int getMgr() {

return mgr;

}

public void setMgr(int mgr) {

this.mgr = mgr;

}

public Date getHiredate() {

return hiredate;

}

public void setHiredate(Date hiredate) {

this.hiredate = hiredate;

}

public int getSal() {

return sal;

}

public void setSal(int sal) {

this.sal = sal;

}

public int getComm() {

return comm;

}

public void setComm(int comm) {

this.comm = comm;

}

public int getDeptno() {

return deptno;

}

public void setDeptno(int deptno) {

this.deptno = deptno;

}

}

4、 新建EmpDaoemp表进行数据库操作

public class EmpDao extends  DbOperation{

//查询emp表数据

public ArrayList select(){

//集合对象用于保存查询到的数据

ArrayList al=new ArrayList();

//链接数据库

getConn();

//sql语句

String sql="select * from emp";

//执行查询

extQuery(sql);

//处理结果集

try {

while(rs.next()){

Emp e=new Emp();

e.setEmpno(rs.getInt("empno"));

e.setEname(rs.getString("ename"));

e.setJob(rs.getString("job"));

e.setMgr(rs.getInt("mgr"));

e.setComm(rs.getInt("comm"));

e.setSal(rs.getInt("sal"));

e.setDeptno(rs.getInt("deptno"));

e.setHiredate(rs.getDate("hiredate"));

al.add(e);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//关闭链接

closeAll();

return al;

}

}

5、 新建jsp来显示查询出的数据

<%@page import="myjsp.vo.Emp"%>

<%@page import="myjsp.dao.EmpDao"%>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

//获得emp表数据

EmpDao ed=new EmpDao();

ArrayList al=ed.select();

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>My JSP 'emp.jsp' starting page</title>

  </head>

  <body>

     <table>

     <tr>

     <td>员工编号</td><td>员工姓名</td>

     <td>职位</td><td>上级编号</td>

     <td>入职日期</td><td>薪资</td>

     <td>奖金</td><td>部门编号</td>

     </tr>

     <%for(int i=0;i<al.size();i++){

     Emp e=(Emp)al.get(i);

     out.print("<tr>");

     out.print("<td>"+e.getEmpno()+"</td>");

     out.print("<td>"+e.getEname()+"</td>");

     out.print("<td>"+e.getJob()+"</td>");

     out.print("<td>"+e.getMgr()+"</td>");

     out.print("<td>"+e.getHiredate()+"</td>");

     out.print("<td>"+e.getSal()+"</td>");

     out.print("<td>"+e.getComm()+"</td>");

     out.print("<td>"+e.getDeptno()+"</td>");

     out.print("</tr>");

     }%>

     </table>

  </body>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值