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

来源:互联网 发布:小甲鱼零基础c语言视频 编辑:程序博客网 时间:2024/06/17 14:40

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 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两只老虎乐谱 月落荒寺乐谱 乐谱基础知识 两只老虎乐谱简谱 乐谱大全儿歌大全 生日快乐乐谱 两只老虎的乐谱 计算机乐谱大全 小星星乐谱简谱 小星星的乐谱 简单乐谱儿歌 生日快乐乐谱简谱 尤克里里乐谱 孤芳自赏乐谱 吉他乐谱怎么看 儿歌乐谱大全 简单乐谱电子琴 吉他乐谱小星星 八音敲琴乐谱 二胡乐谱入门 架子鼓乐谱基础知识 口风琴乐谱大全 乐谱两只老虎 曲谱网 曲谱歌谱大全简谱 简谱知识 歌谱简谱网 基础知识 找歌谱 钢琴知识 简谱网 找歌谱网 简谱歌谱大全 歌谱网 弹唱 thetruththatyouleave简谱 moonriver简谱 赛吾里麦简谱 紫菱洲歌简谱 计算机弹歌曲乐谱大全