实验二 JDBC及Servlet西北农林科技Word文件下载.docx

上传人:b****4 文档编号:17268538 上传时间:2022-11-30 格式:DOCX 页数:21 大小:502.38KB
下载 相关 举报
实验二 JDBC及Servlet西北农林科技Word文件下载.docx_第1页
第1页 / 共21页
实验二 JDBC及Servlet西北农林科技Word文件下载.docx_第2页
第2页 / 共21页
实验二 JDBC及Servlet西北农林科技Word文件下载.docx_第3页
第3页 / 共21页
实验二 JDBC及Servlet西北农林科技Word文件下载.docx_第4页
第4页 / 共21页
实验二 JDBC及Servlet西北农林科技Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

实验二 JDBC及Servlet西北农林科技Word文件下载.docx

《实验二 JDBC及Servlet西北农林科技Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验二 JDBC及Servlet西北农林科技Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

实验二 JDBC及Servlet西北农林科技Word文件下载.docx

具体的类

/servlet>

Servlet的URL映射

servlet-mapping>

上面servlet的引用名

url-pattern>

/FirstServlet<

/url-pattern>

访问servlet的url地址

/servlet-mapping>

步骤四编写代码

打开刚建好的Java类,找到protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException

方法,在改变其中代码如下:

response.setCharacterEncoding("

UTF-8"

);

response.getWriter().println("

h1>

我的第一个Servlet!

/h1>

"

并在protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException

方法中其中代码如下:

doGet(request,response);

然后保存。

步骤五部署并访问

将该工程部署到Tomcat中,并启动。

然后浏览器的地址栏中输入:

http:

//localhost:

8080/myServlet/FirstServlet

二通过Servlet进行表单处理

建立三个文件:

login.jsp:

登录页面,显示登录表单;

Check.java:

Servlet进行登录验证,若通过跳转到ok.jsp,否则跳转到login.jsp并显示错误信息;

protect/Ok.jsp被保护页面,当通过验证后显示。

login.jsp代码:

%@pagelanguage="

java"

contentType="

text/html;

charset=UTF-8"

pageEncoding="

%>

!

DOCTYPEhtmlPUBLIC"

-//W3C//DTDHTML4.01Transitional//EN"

"

//www.w3.org/TR/html4/loose.dtd"

>

html>

head>

metahttp-equiv="

Content-Type"

content="

title>

Inserttitlehere<

/title>

/head>

body>

h2>

用户登录<

/h2>

h4style="

color:

red"

%

//显示错误信息

If(session.getAttribute("

errMsg"

)!

=null)

Out.println(session.getAttribute("

));

/h4>

formaction="

check"

method="

post"

用户名:

inputname="

loginName"

type="

text"

/>

br/>

口令:

passwd"

password"

inputvalue="

登录"

submit"

/form>

/body>

/html>

Check.java代码:

packagecn.servlet;

importjava.io.IOException;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

publicclassCheckextendsjavax.servlet.http.HttpServletimplementsjavax.servlet.Servlet{

staticfinallongserialVersionUID=1L;

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

request.getSession().setAttribute("

"

请通过正常方式登录"

response.sendRedirect("

login.jsp"

}

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

StringloginName=request.getParameter("

Stringpasswd=request.getParameter("

if("

Tom"

.equals(loginName)&

&

123456"

.equals(passwd)){

request.getSession().setAttribute("

loginName);

response.sendRedirect("

protect/ok.jsp"

}

else{

用户名或口令错误"

}

}

ok.jsp代码:

h1align="

center"

%=session.getAttribute("

)%>

欢迎你回来!

三过滤器——Filter

使用Filter对protect中的所有文件进行保护,只有登录的用户才能查看。

步骤一创建Filter

通过“New”菜单,在打开“New”对话框选择“Java”→“Class”,然后点击“Next”按钮,显示如下窗口:

按图中红框填写你的窗口内容;

然后点击“Add...”按钮添加该类要实现的接口(Filter接口)如下图,在“Chooseinterfaces:

”中输入“Filter”,在“Matchingitems”列表中选择“Filter-javax.servlet...”条目,然后点击“ok”,返回到“NewJavaClass”窗口,点击“Finish”按钮完成创建。

步骤二编写代码

packagecn.filter;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

publicclassProtectFilterimplementsFilter{

@Override

publicvoiddestroy(){

}

publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,

FilterChainarg2)throwsIOException,ServletException{

javax.servlet.http.HttpServletRequestreq=(javax.servlet.http.HttpServletRequest)arg0;

ObjectloginName=req.getSession().getAttribute("

if(loginName==null){

req.getSession().setAttribute("

你尚未登录,请登录..."

javax.servlet.http.HttpServletResponseres=(javax.servlet.http.HttpServletResponse)arg1;

res.sendRedirect("

../login.jsp"

arg2.doFilter(arg0,arg1);

publicvoidinit(FilterConfigarg0)throwsServletException{

步骤二配置Filter

打开web.xml,在“<

/web-app>

”之前插入如下内容

--注册过滤器-->

filter>

<

filter-name>

protect<

/filter-name>

filter-class>

cn.filter.ProtectFilter<

/filter-class>

/filter>

--过滤器映射-->

filter-mapping>

/protect/*<

--被保护URL-->

/filter-mapping>

步骤三验证过滤器功能

重启Tomcat,在浏览器地址栏中输入“http:

8080/myServlet/ok.jsp”,正确结果是会被重定向到登录页面,并显示错误信息。

内容二JDBC的使用

在上面的工程中添加代码,完成学生信息管理。

步骤一准备数据库

在mysql中的test数据库中添加表student,字段内容如下:

字段名

类型

长度

说明

id

int

自动增长

stuID

varchar

10

学号

stuName

20

姓名

stuClass

班级

homeAddress

200

家庭住址

步骤二添加mysql驱动

从作业管理系统下载mysql的驱动:

mysql-connector-java-5.1.13-bin.jar,并复制到工程的“WebCotent”→“WEB-INF”→“lib”目录中。

步骤三编写代码

共5个文件

connect.jsp:

被包含页面,存放数据的连接代码

%@pageimport="

java.sql.*"

%>

Class.forName("

com.mysql.jdbc.Driver"

Connectioncon=DriverManager.getConnection("

jdbc:

mysql:

3306/test"

"

root"

list.jsp:

显示学生列表;

%@includefile="

connect.jsp"

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery("

select*fromstudent"

学生信息管理系统<

h3align="

ahref="

edit.jsp"

添加学生信息<

/a>

/h3>

tableborder="

1"

width="

500"

align="

tr>

thwidth="

60"

学号<

/th>

80"

姓名<

100"

班级<

th>

家庭住址<

操作<

/tr>

while(rs.next()){

<

td>

%=rs.getString("

stuID"

/td>

stuName"

stuClass"

homeAddress"

<

ahref='

edit.jsp?

id=<

id"

'

编辑<

delete.jsp?

删除<

rs.close();

stmt.close();

con.close();

/table>

edit.jsp:

编辑或添加学生信息页面;

Stringid=request.getParameter("

StringstuID="

;

StringstuName="

StringstuClass="

StringhomeAddress="

if(id!

=null){

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery("

select*fromstudentwhereid="

+id+"

rs.next();

stuID=rs.getString("

stuName=rs.getString("

stuClass=rs.getString("

homeAddress=rs.getString("

编辑学生信息<

h2align="

添加/编辑学生信息<

save.jsp"

tablewidth="

300"

inputtype="

name="

value="

%=stuID%>

姓名:

%=stuName%>

/>

%=stuClass%>

%=homeAddress%>

tdcolspan="

2"

确定"

hidden"

%=id==null?

:

id%>

save.jsp:

保存编辑好的信息;

request.setCharacterEncoding("

StringstuID=request.getParameter("

StringstuName=request.getParameter("

StringstuClass=request.getParameter("

StringhomeAddress=request.getParameter("

Stringsql;

PreparedStatementpt;

if(id==null||id.equals("

)){

sql="

insertintostudent(stuID,stuName,stuClass,homeAddress)values(?

?

)"

pt=con.prepareStatement(sql);

else{

updatestudentsetstuID=?

stuName=?

stuClass=?

homeAddress=?

whereid=?

pt.setString(5,id);

pt.setString(1,stuID);

pt.setString(2,stuName);

pt.setString(3,stuClass);

pt.setString(4,homeAddress);

pt.executeUpdate();

pt.close();

response.sendRedirect("

list.jsp"

delete.jsp:

删除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1