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>