JSP 部属Tomcat jsp嵌套Java代码 通过JDBC获取数据库表通过Java在JSP页面输出

2017年12月25日 20:32:11 上课


B/S 浏览器 服务器架构是主流

原理:用户 请求, 应用服务器 查询数据库服务器 返回相应。
Apache Tomcat 阿帕奇 的服务器
部署项目 发布到服务器上
新建一个Web项目 Java EE 6.0版本
window preference 搜索Tomcat 点Tomcat 7.x
enable browse选择到服务器目录E:\apache-tomcat-7.0.47
Apply OK


在浏览器 url栏  输入localhost:8080
无法访问此网站 是因为部署了 还没有启动服务器


右击建好的Web项目 Run As MyEclipse Server Application 或者在Servers栏启动Tomcat 7.x


在浏览器 url栏  输入localhost:8080
就可以看到阿帕奇Tomcat 网站


server startup in ? ms.多少后面后启动服务器成功.


怎么改端口号?
阿帕奇文件夹下
cof文件夹下
server.xml文件打开
<Connector port="8080" protocol="HTTP/1.1"
改这里就可以改端口号了
最好不要用1000以下的端口号,改了保存后记得重启服务器


怎么改编码格式呢?
打开.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
改成UTF-8




怎么改显示的主页面?
WbeRoot右击
新建.jsp文件 YourJsp.jsp改一下页面内容
打来lib文件夹下的Web.xml文件
Source
<welcome-file>index.jsp</welcome-file>
改成
<welcome-file>YourJsp.jsp</welcome-file>
保存 重启服务
右击 项目 Run As MyEclipse Server Application
看到URL地址 复制
结束服务 再用Tomcat 7.x 运行 外部浏览器访问 复制的地址就可以了




怎么删除一个项目?
Webapps文件夹下 停止服务,删除项目名.






out是内置对象 无需实力化即可使用
//输出
    <% out.println("哈哈");//输出%>
    <%="嘎嘎"//也是输出 后面不能要;分号但是=号前面不要有空格 %>
    <% out.println();%>
    <%
    for(int i=0; i<5; i++){
    out.print(i+"</br>");
    }
    %>
   <%
    for(int i=0; i<5; i++){
    %>
    </br>
    <%=i+5%>
    <%
    }
    %>
    <% }%>
    <p></p>
      <%="论\"走位\"的重要性,注意当中的转义符斜杠"%>
      <%int A=7; %>
      <%--没有感叹号的是局部变量 --%>
      <%!int A=8; %>
<%--有感叹号的是全局变量 --%>
<%!public int getInt(){
int num=A;
return num;
} %>
<%="这个方法有感叹号是全局的,使用不到局部变量,所以输出的是全局变量A:"+this.getInt() %>
<%--局部变量用不到 所以输出了8全局变量 --%>
<%="这个没感叹号是局部的,所以输出的是局部变量A,就近原则"+A %>
      <%//java注视%>
      <%/*java多行注视*/ %>
      <%--注视 --%>
      <!-- HTML注视 -->






404错误
url不对
页面没放在WEB-INF下
项目没部署在Tomcat


500错误
JSP页面代码有误 看哪个Java哪一个行报错 比如List<泛型> list=null;忘记list=new Arraylist<泛型>();


页面无法显示
未启动Tomcat服务器吧


server包 逻辑控制层

serverImpl包 实现逻辑控制层的接口 重写里面的代码


(1)dao包 的接口类写一个抽象方法

package com.dao;


import java.util.List;


import com.entity.Student;


public interface StudentDao {
int insert(Student student);
int update(Student student);
int delete(int sid);

//全查询
List<Student> selectAll();
//单查询
List<Student> select(int sid);
//模糊查询
List<Student> selectlike(String name);
//关联查询
List<Student> selectguanlian(int id);
//分页查询
List<Student> selectlimt(int num1,int num2);

List<Student> findAll();
}


(2)daoImpl包 的类重写抽象方法

package com.impl;


import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


import com.dao.DaseDao;
import com.dao.StudentDao;
import com.entity.Grade;
import com.entity.Student;


public class StudentImpl extends DaseDao implements StudentDao{


@Override
public int insert(Student student) {
// TODO Auto-generated method stub
String sql="insert into student values(?,?,?,?,?)";
Object[] objects={student.getSid(),student.getSname(),student.getAge(),student.getShobby(),student.getGid()};
int num=this.update(sql, objects);
return num;
}


@Override
public int update(Student student) {
// TODO Auto-generated method stub
String sql="update student set sname=? where sid=?";
Object[] objects={student.getSname(),student.getSid()};
int num=this.update(sql, objects);
return num;
}


@Override
public int delete(int sid) {
// TODO Auto-generated method stub
String sql="delete from student where sid=?";
Object[] objects={sid};
int num=this.update(sql, objects);
return num;
}


@Override
public List<Student> selectAll() {
// TODO Auto-generated method stub
List<Student> list=null;
String sql="select * from student";
try {
ResultSet rSet=this.getResultSet(sql, null);
list=new ArrayList<Student>();
while (rSet.next()) {
int sid=rSet.getInt("sid");
String sname=rSet.getString("sname");
int sage=rSet.getInt("sage");
String shobby=rSet.getString("shobby");
int gid=rSet.getInt("gid");
Student student=new Student();
student.setSid(sid);
student.setSname(sname);
student.setAge(sage);
student.setShobby(shobby);
student.setGid(gid);
list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


@Override
public List<Student> select(int sid) {
// TODO Auto-generated method stub
List<Student> list=null;
String sql="select * from student where sid=?";
Object[] objects={sid};
try {
ResultSet rSet=this.getResultSet(sql, objects);
list=new ArrayList<Student>();
while (rSet.next()) {
int sid1=rSet.getInt("sid");
String sname=rSet.getString("sname");
int sage=rSet.getInt("sage");
String shobby=rSet.getString("shobby");
int gid=rSet.getInt("gid");
Student student=new Student();
student.setSid(sid1);
student.setSname(sname);
student.setAge(sage);
student.setShobby(shobby);
student.setGid(gid);
list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


@Override
public List<Student> selectlike(String name) {
// TODO Auto-generated method stub
//String sql="select * from student where sname like '\%?\%'";
String sql="select * from student where sname like \"%\"?\"%\"";

List<Student> list=new ArrayList<Student>();
Object[] objects={name};
try {
ResultSet rs=this.getResultSet(sql, objects);
while (rs.next()) {
String sname=rs.getString("sname");
Student student2=new Student();
student2.setSname(sname);
list.add(student2);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


@Override
public List<Student> selectguanlian(int id) {
// TODO Auto-generated method stub
List<Student> list=new ArrayList<Student>();
String sql="select sname from student where gid=(select gid from grade where gid=?)";
Object[] objects={id};
try {
ResultSet rSet=this.getResultSet(sql, objects);
while (rSet.next()) {
String sname=rSet.getString("sname");
Student student2=new Student();
student2.setSname(sname);
list.add(student2);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


@Override
public List<Student> selectlimt(int num1, int num2) {
// TODO Auto-generated method stub
List<Student> list=new ArrayList<Student>();
String sql="SELECT * FROM student LIMIT ?,?;";
Object[] objects={num1,num2};
try {
ResultSet rSet=this.getResultSet(sql, objects);
while (rSet.next()) {
int sid=rSet.getInt("sid");
String sname=rSet.getString("sname");
int sage=rSet.getInt("sage");
String shobby=rSet.getString("shobby");
int gid=rSet.getInt("gid");
Student student=new Student();
student.setSid(sid);
student.setSname(sname);
student.setAge(sage);
student.setShobby(shobby);
student.setGid(gid);
list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


@Override
public List<Student> findAll() {
// TODO Auto-generated method stub
List<Student> list= new ArrayList<Student>();
String sql="select * from student";
try {
ResultSet rs=this.getResultSet(sql, null);
while (rs.next()) {
int sid=rs.getInt("sid");
String sname=rs.getString("sname");
int sage=rs.getInt("sage");
String shobby=rs.getString("shobby");
int gid=rs.getInt("gid");
Student student=new Student();
student.setSid(sid);
student.setSname(sname);
student.setAge(sage);
student.setShobby(shobby);
student.setGid(gid);
list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}


}

(3)server逻辑层包 也是一个抽象方法

package com.server;


import java.util.List;


import com.entity.Student;


public interface StudentServer {
List<Student> findAll();
}


(4)serverImpl包 重写方法 实现接口

package com.serverImpl;


import java.util.ArrayList;
import java.util.List;


import com.dao.StudentDao;
import com.entity.Student;
import com.impl.StudentImpl;
import com.server.StudentServer;
import com.sun.org.apache.bcel.internal.generic.NEW;


public class StudentServerImpl implements StudentServer{
private StudentDao studentDao=new StudentImpl();
@Override
public List<Student> findAll() {
// TODO Auto-generated method stub
return studentDao.findAll();
}


}

(5)通过服务器发布 

<%@page import="com.entity.Student"%>
<%@page import="com.serverImpl.StudentServerImpl"%>
<%@page import="com.server.StudentServer"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <%
    StudentServer studentServer=new StudentServerImpl();
    List<Student> list= studentServer.findAll();
     %>
     <table border="2">
      <tr>
      <td>sid</td>
      <td>sname</td>
      <td>age</td>
      <td>shobby</td>
      <td>gid</td>
      </tr>
      <%
      for(int i=0; i<list.size();i++){
      %>
      <tr>
      <td><%=list.get(i).getSid() %></td>
      <td><%=list.get(i).getSname() %></td>
      <td><%=list.get(i).getAge() %></td>
      <td><%=list.get(i).getShobby() %></td>
      <td><%=list.get(i).getGid() %></td>
      </tr>
      <% }%>
      <p></p>
     </table>
  </body>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值