jsp+javaBean+Servlet

由于毕业设计需要展示搜索的结果,原本是使用PHP做的界面,但是php不好和java交互(或者我不知道怎样交互),逐采用jsp做前台界面,使用MVC模式,通过jsp+javaBean+Servlet来实现相应功能(暂时是这样计划的,可能后面需要改动)。

由于从来没有接触过java Web开发,就从图书馆借了基本相关的书籍,自学相关内容,照着书上的例子,做了一个简单的demo,在一番小心翼翼下,终于写好了前台的jsp和Servlet,以及javaBean,下面是相关代码:

1、jsp:其中cha.jsp是搜索主界面

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>视频搜索主界面</title>
</head>

<body bgcolor="#999999">
<center>
<h1>请输入要搜索的视频名称</h1>
<form action="/Servlet/Book1" method="post">
请输入:<input type="text" name="videoname">
<input type="submit" name="submit" value=" 提交 ">
</form>
</center>
</body>
</html>

 

xian.jsp是展示结果界面:

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="test.BookCo" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body bgcolor="#999999">
<jsp:useBean id="Co" class="test.BookCo" scope="page"></jsp:useBean>
<center>
<h1>视频信息</h1>
<table border="1" width="80%">
<th>名称</th><th>描述</th><th>图片</th><th>时长</th><th>上传时间</th><th>播放地址</th>
<%
String str=(String)session.getAttribute("s1");
String keyword=Co.setKeyword(str);
out.print(keyword);
ResultSet rs=Co.Boo();
while(rs.next()){
%> 
<tr>
<td><%=rs.getString("title")%></td>
<td><%=rs.getString("desc")%></td>
<td><%=rs.getString("picPath")%></td>
<td><%=rs.getString("videoTime")%></td>
<td><%=rs.getString("uploadTime")%></td>
<td><%=rs.getString("videoURL")%></td>
</tr> 
<%}
rs.close();
%>

</table>

</center>
</body>
</html>

 

2、servlet代码如下:

package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class Book1 extends HttpServlet{
 public void init(ServletConfig config)throws ServletException{
  super.init(config);
 }
 public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
  response.setContentType("text/html;charset=utf-8");
  request.setCharacterEncoding("UTF-8");
  String name1=request.getParameter("videoname");
  //name1="11";
  System.out.println(name1);
  if(name1.equals("")){
   response.sendRedirect("cha.jsp");
  }
  else{
   HttpSession session=request.getSession(true);
   session.setAttribute("s1",name1);
   response.sendRedirect("xian.jsp");
  }
 }
 public void destroy(){};

}

 

这个主要是用来接受用户的查询输入,判断并传递参数;

3、javaBean的代码如下:

package test;
import java.sql.*;
public class BookCo{
String str="";
 public String keyword;
 public BookCo(){
  keyword="";  
 }
 public String setKeyword(String s){
  keyword=s;
  //try{byte b[]=keyword.getBytes("ISO-8859-1");
   //keyword=new String(b);
  //}
  //catch(Exception e){}
  return keyword;
 }
 public ResultSet Boo(){
  Connection con=null;
  Statement sql=null;
  ResultSet rs=null;
  try{String url="jdbc:mysql://localhost/try_java";
         String user="root";
         String pwd="123";
         try{//加载驱动
           Class.forName("com.mysql.jdbc.Driver");}
   catch(ClassNotFoundException e){}
         //建立到MySQL的连接
         con = DriverManager.getConnection(url,user, pwd);       
         //执行SQL语句
         sql = con.createStatement();//创建语句对象,用以执行sql语言    
         String condition="select * from cid117";
         //String kw="%"+keyword+"%";
         condition="select * from cid117 where title like '%"+keyword+"%' limit 10";
         rs=sql.executeQuery(condition);        
  }
  catch(SQLException e){}
  return rs;
  }
}

这个主要是连接数据库,咋数据库中检索用户的输入请求。

至此,完成了代码的书写。相关的文件位置必须说明一下。如下图:这是tomcat的文件目录,里面的webapps就是我们需要的目录,进入webapps:

里面的Servlet就是我做的demo所在的文件夹。进入servlet:

看到cha.jsp和xian.jsp文件了吧,就在该目录下。进入WEB-INF:里面是classe和web.xml;现在介绍一下web.xml,这个是配置文件,内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

<servlet>
<servlet-name>Book1</servlet-name>
<servlet-class>test.Book1</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Book1</servlet-name>
<url-pattern>/Book1</url-pattern>
</servlet-mapping>


</web-app>

 

主要是Servlet的相关说明。classes文件夹下是test包,test包里面是:

是servlet和javaBean的编译好的类。至此我以为总该能运行了吧,但是总是通过不了,也不知道何处出错,就一直找啊找,最后通过配置classpath路径解决了;

classpath  .;d:\j2sdk\lib\dt.jar;d:\j2sdk\lib\tools.jar;d:\mysqlforjdbc\mysql-connector-java-3.1.14-bin.jar;d:\j2sdk\lib\mysql-connector-java-3.1.14-bin.jar;d:\mysqlforjdbc\msbase.jar;d:\mysqlforjdbc\mssqlserver.jar;d:\mysqlforjdbc\msutil.jar;%CATALINA_HOME%\common\lib\servlet.jar

如下图,是运行结果:

至此就完成了jsp+servlet+javaBean的demo。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值