JSP 修改操作
- 格式:doc
- 大小:68.50 KB
- 文档页数:3
中南民族大学管理学院学生实验报告课程名称: JSP程序设计年级: 2010专业:姓名:学号:指导教师:实验地点:管理学院综合实验室学年至学年度第学期第一章 JSP简介实验 Tomcat服务器的安装与配置一、实验目的本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP 页面、怎样修改Tomcat服务器的端口号。
二、实验要求1、将下载的apache-tomcat-6.0.13.zip解压到硬盘某个分区,比如D。
2、在硬盘分区D下新建一个目录,名字为student,见stuent设置为Web服务目录,并为该Web服务目录指定名字为good的虚拟目录。
3、修改端口号为5678.在server.xml文件中找到修改端口号的部分,将端口号修改为5678.4、启动Tomcat服务器。
5、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录student中。
6、用浏览器访问Web服务目录student中的jsp页面biao.jsp。
三、实验内容1、Tomcat安装成功并运行2、编码实现乘法表3.代码四、实验结果biao.jsp页面五、实验结果分析1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。
2、设置虚拟目录。
在conf目录下的server.xml中</Host>前加入:<Context path=”/**” docBase=”路径” debug=”0” reloadable=”true/”>3、Tomcat服务器必须保持启动。
第二章 JSP页面与JSP标记实验1 JSP页面的基本结构一、实验目的本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。
二、实验要求本实验将用户输入的单词按字典顺序。
需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。
JSP员工管理系统1. 简介JSP员工管理系统是一个用于管理企业员工信息的系统,通过该系统可以方便地进行员工信息的录入、查询、更新和删除等操作。
该系统采用JSP(JavaServer Pages)作为前端开发技术,使用MySQL作为后端数据库存储员工信息。
2. 功能模块JSP员工管理系统主要包括以下几个功能模块:2.1 登录功能用户可以使用用户名和密码登录系统。
系统会验证用户名和密码的准确性,若验证通过,则跳转到首页;否则,提示用户重新输入。
2.2 首页登录成功后,用户将进入系统的首页。
首页主要展示系统的基本信息和各个功能模块的入口。
2.3 员工信息管理功能该功能模块实现了对员工信息的增删改查操作。
用户可以通过表单输入员工的基本信息,包括姓名、年龄、性别、职位等,并且可以对已有员工信息进行修改和删除。
用户还可以通过关键词查询员工信息,系统将返回匹配的员工列表。
2.4 统计功能系统提供了一些统计功能,包括员工人数统计、各个职位的人数统计、员工年龄段的分布统计等。
用户可以通过选择不同的统计维度和筛选条件来获取相应的统计结果。
2.5 权限管理功能该功能模块实现了对系统用户的权限管理。
系统管理员可以添加、删除和修改用户的权限,设置用户能够访问的功能模块和操作。
3. 技术架构JSP员工管理系统的技术架构如下:•前端采用JSP作为开发技术,使用HTML和CSS进行页面设计和样式布局。
•后端采用Java语言开发,使用Servlet作为控制器,处理用户的请求,并调用相应的服务层进行业务逻辑处理。
•数据库采用MySQL存储员工信息,通过JDBC(Java Database Connectivity)与后端进行交互。
•通过Tomcat作为应用服务器部署和运行系统。
4. 数据库设计系统的数据库设计如下:4.1 员工表(employee)列名数据类型主键描述id int是员工IDname varchar(50)员工姓名age int员工年龄gender varchar(10)员工性别position varchar(50)员工职位entry_date date入职日期4.2 用户表(user)列名数据类型主键描述id int是用户ID username varchar(50)用户名password varchar(50)密码role varchar(50)用户角色5. 系统部署系统的部署步骤如下:1.配置Java开发环境和Tomcat服务器环境。
JSP 设置HTTP响应报头当客户访问一个页面时,会发送一个HTTP报头到服务器。
这个HTTP请求包括请求行、HTTP头和信息行。
同样,HTTP响应也包括一些HTTP头,另外使用H TML中的META标签,也可以实现对HTTP报头的操作。
META标签是HTML语言HEAD部的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。
META标签通常用来为搜索引擎定义页面主题,或者是定义用户浏览器上的cookie、网站作者、设定页面格式、标注内容提要和关键字,还可以设置页面的自动刷新时间间隔级。
META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAM E)。
HTTP-EQUIV类似于HTTP的头部协议,用于回应给浏览器一些有用的信息,以帮助正确地显示网页内容。
表4-3列出了常用的HTTP-EQUIV类型。
的值用于指定所提供信息的类型。
有些值是已经定义好的。
例如description(说明)、keyword(关键字)、refresh(刷新)等。
还可以指定其他任意值,如:creationdate (创建日期)等。
NAME的COUNTENT为指定的实际内容,表4-5列出的NAME类型的作用。
表4-5 NAME类型的作用在JSP页面中,可以通过Response对象相应方法,动态地添加新的HTTP响应标题值,这些值会被发送到浏览器。
如果添加的HTTP报头已经存在,则新的值会覆盖原来的标题值。
下面是一些常用的修改报头方法:●控制缓存和有效期。
●定制HTTP报头。
●指定MIME类型。
用户的浏览器,以及浏览器与服务器之间的任一代理服务器,都可以缓存HTML 和JSP创建的网页。
当用户请求页面时,浏览器就发送一个“最新修改”的请求到服务器,询问服务器网页是否被修改。
若没有被修改,服务器的响应使用相应的状态码和消息,使浏览器使用缓存的内容而不需要通过网络重新下载页面。
JSP仓库管理系统的设计与实现一、引言随着电子商务的迅猛发展,仓库管理成为一个重要的环节。
传统的仓库管理主要依靠人工操作,效率低下且易出错。
为了提高仓库管理的效率和准确性,本文设计与实现了一套基于JSP技术的仓库管理系统。
二、需求分析1.仓库管理:用户可以进行仓库的增删改查操作,包括仓库信息的录入、修改和删除等。
2.库存管理:用户可以对仓库的库存进行管理,包括商品的入库和出库操作,以及库存的实时查询。
3.货物追踪:用户可以根据货物的编号查询货物的详细信息和相关操作记录。
4.用户管理:系统需要包含用户的登录和权限管理功能,管理员可以对用户进行增删改查操作。
三、系统设计1.数据库设计系统主要包括以下几个表:仓库信息表、货物信息表、入库记录表、出库记录表、用户表等。
其中,仓库和货物信息表是核心表,其他表与其有外键关联。
数据库采用MySQL进行设计和实现。
2.页面设计系统共包含以下页面:登录页面、主页、仓库管理页面、库存管理页面、货物追踪页面、用户管理页面等。
采用JSP技术进行页面的设计和开发,使用Bootstrap框架进行页面布局和样式美化。
3.功能实现(1)登录功能:用户输入用户名和密码进行登录,系统根据用户的权限跳转到相应的主页。
(2)仓库管理功能:用户可以对仓库信息进行增删改查操作,通过表格展示仓库信息,并提供表单进行录入和修改。
(3)库存管理功能:用户可以对库存进行操作,包括商品的入库和出库操作,以及查询库存信息。
用户输入商品编号和数量进行入库或出库操作,系统更新库存信息。
(4)货物追踪功能:用户可以根据货物编号查询货物的详细信息和相关操作记录,系统展示相关信息。
(5)用户管理功能:管理员可以对用户进行增删改查操作,包括用户的权限管理。
用户信息通过表格展示,并提供表单进行录入和修改。
四、系统实现1.环境准备系统开发环境为Windows,需安装Java开发环境、MySQL数据库、Tomcat服务器等。
JSP 更新、添加与删除操作更新数据库中的数据,可以使用SQL语句的UPDATE、INSERT和DELETE 操作,然后将包含UPDATE、INSERT、DELETE的SQL语句交给Statement对象的executeUpdate()方法执行。
Statement对象用于执行不带参数的简单SQL语句。
在J SP程序中,由于外部环境的变化,后台连接数据库中的数据每隔一段时间,就需要更新。
我们不可能直接打开MySQL数据库进行更新,一般情况下都是借助JSP程序进行更新。
1.数据添加案例现在创建一个案例,演示对数据库完成添加操作。
在JSP中,要完成数据库记录的添加操作,需要两个JSP页面,一个为数据输入页面,一个为处理数据页面。
参数值,并依据这些参数值创建sql添加语句。
变量name在获取name的参照值后,还需要进行编码转换,其语句为“name=new String(name.getBytes("iso-8859-1"))”。
下面使用对象stmt的方法executeUpdate执行相应的sql语句。
将上述两个文件复制到Tomcat服务器运行目录下。
打开IE浏览器,在地址栏中输入http://localhost:8080/JSPExample/MySQLInsert.jsp,单击【转到】,会显示如图6-10所示窗口:图6-10 数据添加输入页面在图6-10中的文本域中,分别输入要添加的信息。
然后单击【提交】按钮,会显示如图6-11所示窗口:图6-11 数据添加成功2.删除和修改数据执行删除与修改操作也非常简单,都可以通过向数据库发送sql语句来完成。
只不过执行的sql语句不同罢了。
下面创建一个案例,演示对MySQL数据库执行数据修改和删除。
打开记事本,创建MySQLGeng.jsp文件,完成数据的修改和删除操作。
其代码如下所示:将上述代码保存,并将文件复制到C:\Tomcat 6.0\webapps\JSPExample目录下。
示例数据库:数据库名:new数据库字段及属性:示例目录结构:src文件夹下:dao包:(1) BaseDao.java ——加载驱动,建立数据库连接,关闭操作对象(2)表名Dao.java ——Java处理程序,例如:增删改查这样的方法写在这个类中entity包:表名.java ——实体类,一个表是一个实体,把表中的列作为实体的属性、并生成get、set方法及带参数和无参数的构造方法WebRoot文件夹下:JSP页面示例代码:BaseDao.javapackage dao;//要导入Java.sql包,才可以应用Connection、PreparedStatement、ResultSetimport java.sql.*;public class BaseDao {/*** 静态块,加载驱动SQL Server 2005 驱动,前提需导入SQL Server 2005 的JAR包*/static{try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** 获得数据库连接* @return conn*/public static Connection getConnection(){Connection conn = null;try {conn =DriverManager.getConnection ("jdbc:sqlserver://localhost:1433;DatabaseName=new", "sa", "sa"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }//返回数据库连接对象 return conn;} /*** 关闭操作对象,需注意关闭顺序* @param rs ResultSet 对象,用来存储查询执行后的结果 * @param pStmt PreparedStatement 对象,用来执行SQL 命令 * @param conn Connection 对象,用来建立数据库连接 */ public static void closeAll(ResultSet rs,PreparedStatement pStmt,Connection conn){if(rs != null ){rs.close();}if(pStmt != null ){pStmt.close(); }if(conn != null ){conn.close(); }}}FirstTitleDao.java /*** 显示列表,查询时使用 */public static List getList(){ //创建Connection 对象 Connection conn=null;//定义PreparedStatement 对象 PreparedStatement stmt=null;//创建ResultSet 对象ResultSet rs=null;//创建列表List list=new ArrayList();try {//获得数据库连接conn=BaseDao.getConnection();//创建PreparedStatement对象stmt=conn.prepareStatement("select * from FirstTitle");//执行SQL语句,返回ResultSet对象rs=stmt.executeQuery();//操作结果集while(rs.next()){entity.FirstTitle title = new FirstTitle();//将结果集中的数据设置到对象中Array title.setId(rs.getInt(1));title.setTitleName(rs.getString(2));title.setCreator(rs.getString(3));title.setCreateTime(rs.getString(4));//将对象添加到列表中list.add(title);}} catch (SQLException e) {// TODO 自动生成 catch 块e.printStackTrace();}finally{//关闭操作对象BaseDao.closeAll(rs, stmt, conn);}//返回列表return list;}/***向数据库中插入数据*/public static void add(entity.FirstTitle title){Connection con = null;PreparedStatement pStmt = null;ResultSet rs = null;try {con = dao.BaseDao.getConnection();pStmt = con.prepareStatement("insert into FirstTitle(Id,TitleName,Creator,CreateTime) values(?,?,?,?)");pStmt.setInt(1, title.getId());pStmt.setString(2, title.getTitleName()); pStmt.setString(3, title.getCreator()); pStmt.setString(4, title.getCreateTime()); //执行SQL 语句,返回受影响的行数(int 类型) pStmt.executeUpdate(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace();}}/** * 删除 */public static void delete(int id){ Connection con = null ;PreparedStatement pStmt = null ; ResultSet rs = null ; try { con = dao.BaseDao.getConnection ();pStmt = con.prepareStatement("delete from FirstTitle where id=?"); pStmt.setInt(1, id); pStmt.executeUpdate(); } catch (SQLException e) {// TODO 自动生成 catch 块 e.printStackTrace();}finally { dao.BaseDao.closeAll (rs, pStmt, con); }} /*** 修改,根据ID 返回实体 */public static entity.FirstTitle getModel(int id){ //创建操作对象Connection con = null ;PreparedStatement pStmt = null ; ResultSet rs = null ; try { //获得数据库连接con = dao.BaseDao.getConnection();//创建prepareStatement对象pStmt = con.prepareStatement("select * from FirstTitle where id=?");//设置参数pStmt.setInt(1, id);//执行SQL语句返回结果集rs = pStmt.executeQuery();//操作结果集if(rs.next()){//创建实体类的对象,并赋值entity.FirstTitle title = new FirstTitle();title.setId(rs.getInt(1));title.setTitleName(rs.getString(2));title.setCreator(rs.getString(3));title.setCreateTime(rs.getString(4));}} catch (SQLException e) {// TODO自动生成 catch 块e.printStackTrace();}finally{dao.BaseDao.closeAll(rs, pStmt, con);}return title;}/***修改方法*/public static void update(entity.FirstTitle title){Connection con = null;PreparedStatement pStmt = null;ResultSet rs = null;try {con = dao.BaseDao.getConnection();pStmt = con.prepareStatement("update FirstTitle set ID=?,TitleName=?,Creator=?,CreateTime=? where id=?");pStmt.setInt(1, title.getId());pStmt.setString(2, title.getTitleName());pStmt.setString(3, title.getCreator());pStmt.setString(4, title.getCreateTime());pStmt.setInt(5, title.getId());pStmt.executeUpdate();} catch (SQLException e) {// TODO自动生成 catch 块e.printStackTrace();}finally{dao.BaseDao.closeAll(rs, pStmt, con);}}WebRoot文件夹下的页面:index.jsp中显示列表部分:<%//获得列表List list = FirstTitleDao.getList();//循环列表,并获得列表中的对象。
实训8-1 用户管理系统制作实验目的:了解JSP访问数据库的方法方法掌握使用JSP访问mysql数据库的基本方法掌握使用JSP完成数据库基本操作实验内容:实训项目一:使用mysql数据库客户端建库建表并利用JSP与之连接编写程序,完成用户登录的判断实验步骤:(一)建立如下页面,用来完成用户登录信息的输入与校验:index.jsp:用户名密码login.jsp: 处理用户输入信息request.getParameter("输入框名字");(二)利用mysql客户端SQLyog_Enterprise 8.1,点选SQLyogEnt.exe如果需要输入用户密码用户名root密码root端口号3306点"连接"(三)将mysql-connector-java-5.1.6-bin.jar 文件拷贝到工程目录下:工程名\WebRoot\WEB-INF\lib (四)将下面代码拷贝到login.jsp------------------<%//详见书p263,书写的时候一定要注意大小写^_^Connection con=null;Statement stmt=null;String sql=null;ResultSet rs;//加载驱动程式,下面的代码为加载mysql驱动程式Class.forName("com.mysql.jdbc.Driver");String dburl ="jdbc:mysql://localhost:3306/test?user=root&password=root&useunicode=true&characterencodi ng=UTF-8";con =DriverManager.getConnection(dburl);//创建一个jdbc声明stmt = con.createStatement();//增加新记录的示例,如果是其他的添加,删除,修改等功能,则此处用到的SQL语句不同//stmt.executeupdate("insert into (id,name,title,price) values (999,tom,tomcat bible,44.5)");//查询employee表中的记录rs = stmt.executeQuery("select * from usertable where name='"+username+"' and password='"+pwd+"'");//输出查询结果if(!rs.next()){out.println("您还没有注册");%><!-- <script language="javascript">alert('您的用户名密码有误或未注册!');location.href='index.jsp'</script> --><%}else{out.println("欢迎您!");// response.sendRedirect("queryuser.jsp?username="+username+"&pwd="+pwd);}//关闭数据库连接rs.close();stmt.close();con.close();%>------------------(五)建立数据库和表选择"test"数据库-->table,创建一个新的表,鼠标右键-->创建表两个字段name password类型varchar大小20设置完毕,选择"创建表"输入表名-->usertable接下来完成表的初始化: 输入一条或多条数据(六)打开tomcat,启动,测试程序是否可以完成正确的登录功能。
JSP 修改操作
在JSP中,可以用UPDA TE语句来实现数据的修改操作,UPDATE语句允许用户在已知的表中修改已经存在的一条或多条记录。
在UPDATE语句可以使用WHERE子句来选择更新特定的记录。
例如,将图书“Java实验指导”的价格更新为“48”,可以使用下面的SQL语
如果不提供WHERE子句,表中的所有记录都将被更新。
UPDATE语句也可以同时更新多个字段。
例如,下面的UPDATE语句同时更新
SQL可以忽略语句中多余的空格,程序员可以把SQL语句写成任何最容易读的格式。
下面是一个简单的数据修改实例,代码如下所示。
首先加载驱动程序与数据库建立连接,然后执行SQL语句实现数据的更新操作,最后查询数据库全部显示修改后的数据。
执行上述代码,结果如图10-13所示。
图10-13 更新数据。