Web程序开发ProgrammingWord文件下载.docx
《Web程序开发ProgrammingWord文件下载.docx》由会员分享,可在线阅读,更多相关《Web程序开发ProgrammingWord文件下载.docx(24页珍藏版)》请在冰点文库上搜索。
![Web程序开发ProgrammingWord文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/28/345a43dc-ba2a-4b15-876f-5e67a4e0dc86/345a43dc-ba2a-4b15-876f-5e67a4e0dc861.gif)
sa"
"
123"
//
}catch(SQLExceptione){
returnconn;
}
}
加载后的jsp文件内所需要用到sql数据库的连接,都要用<
js:
useBeanid=”dbc”class=”edu.hzvtc.dbconn.DataConn”>
<
/jsp:
useBean>
的形式加载数据库驱动,才可以让该页面连接sql数据库,进行相关的增删查改。
-下面提到的2个包可能不需要用到,因为只是做简单的增删查改,可以用rs来获取。
下面2个包做的是一个b的自定义方法,便于直接使用。
-
其他的包edu.hzvtc.eentity:
(用于定义格式,直接引用包里定义的方法,在Jsp项目内快速提取)
edu.hzvtc.eentity)完成创建-右键新创建的包-New-选择Class(Name:
Book)完成创建:
packageedu.hzvtc.eentity;
publicclassBook{
privateintid;
privateStringtitle;
privateStringauthor;
privateStringsource;
privateStringatcontent;
publicvoidsetId(intid){
this.id=id;
publicintgetId(){
returnid;
publicvoidsettitle(Stringtitle){
this.title=title;
publicStringgettitle(){
returntitle;
publicvoidsetauthor(Stringauthor){
this.author=author;
publicStringgetauthor(){
returnauthor;
publicvoidsetsource(Stringsource){
this.source=source;
publicStringgetsource(){
returnsource;
publicvoidsetatcontent(Stringatcontent){
this.atcontent=atcontent;
publicStringgetatcontent(){
returnatcontent;
}
右键新创建的包-New-选择Class(Name:
CartItem)完成创建:
publicclassCartItem{
privateBookbook;
privateintamount;
publicBookgetBook(){
returnbook;
publicvoidsetBook(Bookbook){
this.book=book;
publicintgetAmount(){
returnamount;
publicvoidsetAmount(intamount){
this.amount=amount;
其他的包edu.hzvtc.dao:
edu.hzvtc.dao)完成创建-右键新创建的包-New-选择Class(Name:
BookDao)完成创建:
packageedu.hzvtc.dao;
importedu.hzvtc.eentity.Book;
importedu.hzvtc.dbconn.DataConn;
importjava.sql.*;
publicclassBookDao{
publicBookgetBookById(intid){
Bookb=newBook();
Stringsql="
select*fromarticleinfowhereid=?
"
;
DataConndbc=newDataConn();
Connectionconn=dbc.getConn();
try{
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setInt(1,id);
ResultSetrs=pstmt.executeQuery();
if(rs.next()){
b.setId(id);
b.settitle(rs.getString("
title"
));
b.setauthor(rs.getString("
author"
b.setsource(rs.getString("
source"
b.setatcontent(rs.getString("
atcontent"
rs.close();
pstmt.close();
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
System.out.print("
数据查询错误"
e.printStackTrace();
returnb;
三、创建Jsp项目
按上述步骤创建好的Jsp项目拥有SRC文件夹(用于加载数据包)、JRESystemLibrary(JDK文件)、JavaEE5Library(Java2EE5.0文件)、和WebRoot文件夹。
页面的编辑在WebRoot文件夹内进行。
增删查改:
Index.jsp(Jsp项目默认路径下显示的第一个页面,可以用于跳转)
在<
body>
/body>
中间加入代码,因为加入的为java语言,需要加入<
%%>
格式在中间可以输入java语言,response.sendRedirect("
login.jsp"
将页面跳转到login.jsp页面,进行用户登陆。
Login.jsp(用户登陆页面)
在body内编辑:
formaction="
checkuser.jsp"
method="
post"
>
登录名:
inputtype="
text"
name="
username"
br/>
密码:
password"
br>
<
submit"
登陆"
value="
退出"
form>
为网页表单,它的必须元素为action(表单内的数据要传送到哪里去),method(意思是当前的数据用post方法传递,在服务器端可用response.post("
表单域名"
)来获得数据,而get方法传递的数据是可以在浏览器的地址栏明文传递的,很容易泄漏信息,并且传递的信息量不是很大(1024字节IE),而post方法可以传递更大信息量的数据)当前页面的登录名和密码会传递到checkuser.jsp这张页面,进行登陆的验证。
Checkuser.jsp(验证用户页面)
%@pagelanguage="
java"
import="
java.sql.*"
pageEncoding="
GBK"
%>
%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"
:
//"
+request.getServerName()+"
+request.getServerPort()+path+"
/"
!
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
html>
head>
basehref="
%=basePath%>
title>
MyJSP'
chuckuser.jsp'
startingpage<
/title>
metahttp-equiv="
pragma"
content="
no-cache"
cache-control"
expires"
0"
keywords"
keyword1,keyword2,keyword3"
description"
Thisismypage"
--
linkrel="
stylesheet"
type="
text/css"
href="
styles.css"
-->
/head>
<
jsp:
useBeanid="
dbc"
class="
edu.hzvtc.dbconn.DataConn"
request.setCharacterEncoding("
//这里定义为GBK;
Stringusername=request.getParameter("
Stringpassword=request.getParameter("
//用get方法得到前张页面中传来的数据
}catch(ClassNotFoundExceptione){
}
try{
Connectionconn=dbc.getConn();
Stringsql="
select*fromuserinfowhereusername=?
andpassword=?
//sql语句得到的为单条数据,用pstmt
pstmt.setString(1,username);
pstmt.setString(2,password);
//为上面sql语句中的2个问号赋值
ResultSetrs=pstmt.executeQuery();
session.setAttribute("
USERNAME"
username);
USERID"
newInteger(rs.getInt("
id"
)));
response.sendRedirect("
welcome.jsp"
//登陆成功跳转到欢迎页面
else{
out.println("
登陆失败"
//登陆失败在当前页面显示登陆失败
}%>
/html>
Welcome.jsp(欢迎用户页面)
可以在<
中自己编辑用户登陆成功后所显示的内容,也可以显示一个连接,点击后可以进入下个页面。
(连接代码为<
ahref="
addbook.jsp"
欢迎登陆,点击进入图书贴加<
/a>
)<
ahrerf=””>
为超链接代码,””中为点击后跳转的页面,比如addbook.jsp(图书贴加页面),<
a>
中间为显示的字段,点击该字段后会进行跳转。
menu.jsp(菜单页面)
操作都可以在该页面选择,菜单页面还可以往下继续增加选项,格式一样。
-(因为是简单的增删查改,所以没有做mainFrame的模板划分)-
java.util.*"
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
htmlxmlns="
//www.w3.org/1999/xhtml"
Content-Type"
text/html;
charset=gb2312"
/>
无标题文档<
divid="
menu"
h1>
图书列表系统<
/h1>
div>
span>
欢迎,
%=(String)session.getAttribute("
)%>
//session方法取得当前登陆的username
logout.jsp"
>
注销<
/span>
//用于注销的页面,代码很简单(
session.removeAttribute("
response.sendRedirect("
)
/div>
class"
h2>
#"
onclick="
javascript:
collapse('
class'
分类管理<
/h2>
ul>
li>
addclass.jsp"
添加分类<
/li>
listclass.jsp"
分类列表<
/ul>
book"
book'
文章管理<
添加文章<
listbook.jsp"
文章列表<
comment"
user'
评论管理<
listcomment.jsp"
评论列表<
增
Addbook.jsp(贴加图书页面)
贴加图书的页面,
css/form-style.css"
/>
Stringsql="
select*fromClassInfo"
Connectionconn=dbc.getConn();
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery(sql);
%>
addbookaction.jsp"
类别<
selectname="
typeid"
%while(rs.next()){%>
optionvalue="
%=rs.getInt("
%=rs.getString("
classname"
/option>
%}%>
/select>
/br>
标题:
作者:
来源:
内容:
textarearows="
5"
cols="
40"
/textarea>
添加"
Addbookaction.jsp(贴加图书的响应页面)
该页面是对addbook.jsp这个页面所提交的form做出一个响应,也就是将传递过来的数据加入SQLServer数据库。
%@pageimport="
%@pageimport="
java.io.*"
+request.getServer