实验六 servlet
- 格式:docx
- 大小:135.62 KB
- 文档页数:9
一、实验目的1.掌握jsp的javabean相关知识2.能熟练使用javabean编写程序实现对数据库的访问(增、删、改、查操作)二、主要仪器设备微型计算机、Windows操作系统,MyEclipse软件。
三、实验原理与方法运行一个Servlet时,首先要将编写好的.java文件打包成一个.class文件,然后将打包好的文件添加到Tomcat容器中,启动容器,通过已经设置好的地址就可以访问对应的Servlet。
而且可以运用转发和重定向的方法来向服务器发送请求。
四、实验主要内容1.新建一个login.html文件,实现登录的页面。
2.打开数据库,在数据库里面新建一个登录信息表,然后再新建一个login.html文件,通过连接数据库获取表中的信息,来登录tedu系统。
五、实验主要步骤与实验结果1、实验主要操作过程登录界面主要步骤如下:(1)打开MyEclipse软件,新建一个web project,命名为“MyWeb_04”,在“sr c”下新建包“web”,并且在里面新建HelloServlet.java、LoginWeb.java、User.java 三个文件。
(2)在LoginWeb.java文件中编写代码,实现对用户输入数据的判断,如果用户名和密码都匹配的话,就调用success.html文件,输出“欢迎小主回来”,否则,就调用error.html文件,输出“小主的网页走丢了”。
(3)在WebRoot的WEB_INF目录下添加web.xml文件,并配置访问路径。
(4)在WebRoot的根目录下新建error.html、success.html、login.html、userlist.jsp等文件,实现网页的登陆。
(5)打开浏览器,在地址栏中输入地址:localhost:8080/WebRoot/login.html,即可实现登录页面。
Tedu系统的登陆:(1)将项目名为oa_01的web project中的部分文件导入到MyEclipse中,打开数据库软件的命令窗口,在里面输入以下命令:create database tedu;use tedu;create table user(id int primary key auto_increment,uname varchar(40),password varchar(20),age int(11),sex varchar(15),salary int);insert into user values(null,'jack','1234',16,'man',1000);(2)在数据库创建成功后,在“sr c”下新建包“web”,并且在里面新建DBUtis.java、LoginWeb.java、User.java三个文件。
实验一Servlet的使用一、实验目的1.掌握Servlet的创建与配置;2.熟悉过滤器的应用范围;3.掌握创建和配置过滤器的基本步骤二、实验仪器1.需配备安装有Windows7操作系统、IE浏览器的计算机,每人一台台。
三、实验原理1.Servlet是一种服务器端的Java Web技术,可以用来生成动态的Web页面,其对Web 请求的处理能力非常强大。
Servlet实质上就是按Servlet规范编写的Java类,与Java普通程序不同的是,Servlet的运行需要Servlet容器的支持。
通常所说的Servlet就是指HttpServlet,在开发Servlet时,可以直接继承javax.servlet.http.HttpServlet。
用于处理Http请求的方法有doGet()、doPost()、service()等。
2.Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。
Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。
3.在标准的MVC模式中,Servlet仅作为控制器(Control)使用。
Java EE应用框架也正是遵循了MVC模式,对其而言,JSP仅作为表现层(View)技术。
Model通常由JavaBean来充当,所有业务逻辑、数据访问逻辑都在Model中实现,实际上隐藏在Model层中还有很多丰富的组件,例如DAO组件、领域对象等。
MVC的工作模式简要概述为:所有用户请求都发送给Servlet, Servlet调用Model来处理用户请求,并调用JSP来呈现处理结果;或者Servlet直接调用JSP将应用的状态数据呈现给用户。
四、实验内容1.熟悉MVC模式,利用Servlet作为控制器实现一个简单的登录验证。
2.本项目共需要3个程序文件:1)视图层:登录页面,Login.jsp, welcome.jsp2)控制层:控制器,LoginServlet.java3)模型层:DAO组件,DbDao.java五、实验步骤1.创建MYSQL数据库名为“liuyan”,并创建表“user_inf”,如下图所示,将记录加入表中。
实验二 Servlet基础一、实验目的1、理解Servlet的作用、生命周期及相应接口所包含的方法。
2、掌握通过继承HttpServlet类来创建Servlet的方法。
二、实验类型设计型三、实验内容首先运行教材或实验指导书上的一些例子程序,然后自己编写Servlet,能够接收客户端输入的两个整数,并将这两个数相加的结果显示出来。
四、预备知识1、示例项目1打开实验室计算机上的NetBeans6.8或者MyEclipse,选择菜单的“文件”——>“新建项目…”——>“Web应用程序”,然后给项目取一个名字,一路默认下去(同时注意观察编译器每一步做出了什么设置),并注意在此过程中,在“配置servlet部署”这一步时,在“将信息添加到部署描述符(web.xml)”前面的方框打勾。
最后一步选择“完成”。
会发现在NetBeans左边的“项目”窗口中生成了所创建的项目。
右键点击项目名,选择“新建”——>“servlet…”,根据提示,一步一步创建一个servlet。
Servlet 的代码为:import java.io.*;import .*;import javax.servlet.*;import javax.servlet.http.*;public class First extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();out.println("<html>");out.println("<head>");out.println("<title>Servlet First</title>");out.println("</head>");out.println("<body>");out.println("<h1>Hello World</h1>");out.println("</body>");out.println("</html>");out.close();}protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {processRequest(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {processRequest(request, response);}public String getServletInfo() {return "Short description";}}打开项目中的“Web页”目录下的“WEB-INF”目录,然后打开其中的web.xml文件,观察该文件是如何配置servlet及其URL映射信息的。
软件学院设计性实验报告一、实验目的1.掌握Servlet应用,熟悉web开发的MVC模式。
2.了解servlet工作的流程,servlet的作用。
3.掌握servlet的方法init(),destory(),doget(),dopost();二、实验仪器或设备1.计算机一台2.MyEclipse软件三、总体设计(设计原理、设计方案及流程等)A:设计原理:1.servlet相当于MVC模式中的C控制器。
2.作为服务器或监听程序并响应客户请求。
3.后台业务逻辑处理,对后台数据的操作、对组件模型的操作。
4.servlet有专有的方法init(),destory(),doget(),dopost();B:设计方案及流程:设计一个登陆页面,用户提交后,将数据提交给action,Servlet来控制处理,判断用户名、密码是否正确,根据不同的结果返回不同的信息。
再进行部署测试,运行。
四、实验步骤(包括主要步骤、代码分析等)1.创建一个web项目命名为myproject。
2.创建登陆页面index.jsp代码如下:注:由于css是写在页面里面的,此处省略不写,css代码见电子稿。
<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%><%String errormessage=(String)request.getAttribute("errormessage");if(errormessage==null){errormessage= "";}%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pa th+"/";%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Insert title here</title><script language="javascript">function sub(){// alert('欢迎使用网新商业银行');document.mainframe.submit();//window.location.href="mainframe.jsp";}</script></head><body class="main"><form name="mainframe"action="<%=basePath%>LoginServlet"method="post"><div class="middel"><div class="login"><div class="login_up"><div class="logo_top"></div><div class="logo_right"></div></div><div class="login_down"><div class="login_left"><table cellpadding="0"cellspacing="0"height="149px"width="258px"> <tr height="30px"><td width="158"><div align="right">机构编码:</div></td><td width="100"><input type="text"name="orgno"/></td></tr><tr><td><div align="right">用户编号:</div></td><td><input type="text"name="userid"/></td></tr><tr><td width="158"><div align="right">密码:</div></td><td><input type="text"name="psw"/></td></tr><tr height="10px"><td colspan="2"><divalign="center"><%=errormessage %></div></td></tr><tr height="20px"><td colspan="2"><divalign="right">*************************</div></td></tr></table></div><div class="lofin_right2"><a href="javascript:sub()"><img src="<%=basePath%>img/submit.gif" width="71"height="24"border="0"style="margin-left:25px; margin-top:35px;"/></a><br/><a href=""><img src="<%=basePath%>img/quit.gif"width="71"height="24"border="0"style="margin-top:15px; margin-left:25px;"/></a> </div></div></div></div></form></body></html>3.创建action命名为LoginAction,file-new-servlet代码如下:package com.insigma.myproject.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.insigma.myproject.dao.LoginDao;public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html");String orgno=request.getParameter("orgno");String userid=request.getParameter("userid");String passwd=request.getParameter("passwd");//LoginDao logindao=new LoginDao();//boolean isok =logindao.isLogin(userid, orgno, passwd);if (orgno.equals("1")&&userid.equals("1")&&passwd.equals("1")){System.out.println("登陆成功了");//response.sendRedirect("../mainframe.jsp");request.getRequestDispatcher("/mainframe.jsp").forward(request, response);}else {System.out.println("登陆失败了");//response.sendRedirect("../index.jsp");request.setAttribute("errormessage","用户名或密码失效");request.getRequestDispatcher("/index.jsp").forward(request, response);}}}4.创建mainframe.jsp页面,如果用户名、密码正确则跳转到此页面。
实验三Servlet编程20085154 杨阳一、实验内容(1)架设服务器端运行环境。
Servlet只能运行在Servlet容器上,Servlet容器负责处理客户请求,并把请求传递给servlet,同时把结果返回给客户。
选用了Tomcat4.0作为服务器。
安装Tomcat4.0之后,具体步骤为:→JCreator→Configure →Options→JDK Profiles→JDK version 1.6.0_07→add Archive,之后找到C:\Program Files\Apache Tomcat 4.0\common\lib,选中所用jar文件添加。
之后就可以编写代码并进行编译处理了。
如果没有上面的操作,一些在Servlet中用到的包、方法(如javax.servlet)无法被编译,会显示出许多错误。
程序编译没有错误后,复制生成的同名class文件放在C:\Program Files\Apache Tomcat 4.0\classes中,并启动Tomcat,在浏览器中输入http://localhost:8080/servlet/xxxxxxx,其中“xxxxxx”为具体文件名,将会生成客户端网页。
(2)编程思想:A、HelloWorldServlet.java导入javax.servlet包和javax.servlet.http包,因为其提供了servlet编程相关的类和接口。
然后程序涉及输入输出,导入java.io包。
所有的servlet都必须使用Servlet接口,该接口采用了生命周期的方法进行管理。
在这个程序里,使用了HttpServlet接口,实现了其接口定义的init()、service()、destroy()方法:public void init(ServletConfig config)throws ServletException{},这个方法返回实现ServletConfig接口的对象的引用。
servlet实验报告Servlet 实验报告一、实验目的本次实验旨在深入了解和掌握 Servlet 的基本概念、工作原理及开发方法。
通过实际编写和运行 Servlet 程序,熟悉 Servlet 的生命周期,掌握如何处理 HTTP 请求和响应,以及如何与 Web 页面进行交互,从而提高对 Java Web 开发的理解和实践能力。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java EE Developers3、服务器:Apache Tomcat 904、 JDK 版本:JDK 18三、实验内容(一)简单的 Servlet 程序编写1、创建一个名为`HelloServlet` 的 Java 类,继承自`javaxservlethttpHttpServlet` 类。
2、重写`doGet` 和`doPost` 方法,在方法中实现输出一段简单的问候语到客户端浏览器。
```javaimport javaioIOException;import javaioPrintWriter;import javaxservletServletException;import javaxservlethttpHttpServlet;import javaxservlethttpHttpServletRequest;import javaxservlethttpHttpServletResponse;public class HelloServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {responsesetContentType("text/html");PrintWriter out = responsegetWriter();outprintln("<html><body>");outprintln("<h2>Hello, Servlet GET Method!</h2>");outprintln("</body></html>");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {responsesetContentType("text/html");PrintWriter out = responsegetWriter();outprintln("<html><body>");outprintln("<h2>Hello, Servlet POST Method!</h2>");outprintln("</body></html>");}}```(二)Servlet 配置1、在`webxml` 文件中配置`HelloServlet` ,指定 Servlet 的名称、类路径和访问路径。
成绩:实验报告课程名称:Java EE 案例教程实验项目:编写Servlet姓名:专业:计算机科学与技术班级:学号:计算机科学与技术学院年月日实验项目名称:编写Servlet一、实验目的1、掌握编写Serlet完成响应,掌握如何使用Serlet访问数据库。
二、实验内容1、在Eclispe中创建JAVAEE项目2、编写完成如下功能的代码进行测试代码功能:往客户端返回一个html文档,内容是输出“我的第一个Servlet程序““当前时间是://这里应该用Java类的对象输出时间“三、实验原理Servlet是用Java编写的Server端程序。
Servlet运行于Java-enabled Web Server 中。
Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。
最早支持Servlet技术的是JavaSoft的Java Web Server。
此后,一些其它的基于Java的Web Server开始支持标准的Servlet API。
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
四、实验步骤及截图1、在Eclispe中创建JAVAEE项目1.点击Eclipse的文件菜单->新建->MyEclipse Web Project->下一步->输入项目名为servletTest->点击完成。
右键单击servletTest项目->新建->Servlet->输入Servlet名称为FirstServlet->完成。
《J2EE程序设计与应用开发》实验报告实验序号:06 实验项目名称:Servlet学号姓名专业、班20网络工程实验地点指导教师实验时间2022一、实验目的及要求1、Servlet基本基础2、Filter过滤器基础二、实验设备(环境)及要求一台Windows XP、JDK1.6、MyEclipse 8.5三、实验内容与步骤四、实验结果与数据处理附源程序清单:1.WelcomeServlet及其配置Web.xmlpackage servlets;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class WelcomeServlet extends HttpServlet{public WelcomeServlet(){System.out.println("WelcomeServlet构造函数");}protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { System.out.println("WelcomeServlet.doGet函数");}}2.过滤器(1)EncodingFilterpackage filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class EncodingFilter implements Filter {public void init(FilterConfig config) throws ServletException {}public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("gb2312");chain.doFilter(request, response);}}(2)filterForm .jsp文件<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <html><body><form action="servlets/DealWithServlet" method="post">请输入学生信息的模糊资料:<input type="text" name="stuname"><br><input type="submit" value="查询"></form></body></html>(3)DealWithServletpackage servlets;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DealWithServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String stuname = request.getParameter("stuname");System.out.println("学生姓名:" + stuname);}}。
实验六servlet一、实验目的在eclipse中学会使用servlet二、实验内容用传统的servlet实现表单内容的输出,传统的servlet需要配置web.xml文件。
使用servlet3.0实现文件上传。
三、实验步骤(一)使用传统的servlet1、在eclipse中创建一个WEB动态工程,工程名称为:sev。
如下图所示:注意,web.xml需要自动生成。
2、创建一个index.jsp文件,该文件的运行结果如下:文件代码:<%@page language="java"contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GB18030"> <title>用户注册</title></head><body><form action="RegServlet"method="post"><table align="center"width="450"><tr><td align="center"colspan="2"><h2>用户注册</h2><hr></td></tr><tr><td align="right">用户名:</td><td><input type="text"name="name"/></td></tr><tr><td align="right">密码:</td><td><input type="password"name="password"/></td> </tr><tr><td align="right">性别:</td><td><input type="radio"name="sex"value="男"checked="checked">男<input type="radio"name="sex"value="女">女</td></tr><tr><td align="right">QQ号码:</td><td><input type="text"name="qq"/></td></tr><tr><td align="right">E-Mail地址:</td><td><input type="text"name="mail"/></td></tr><tr><td align="center"colspan="2"><input type="submit"value="注册"></td></tr></table></form></body></html>3、创建一个包,包名为:com.lyq.servlet。
在该包中创建一个名为RegServlet 的servlet文件。
该文件代码如下:package com.lyq.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.PrintWriter;/*** Servlet implementation class RegServlet*///@WebServlet("/RegServlet")public class RegServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** Default constructor.*/public RegServlet() {// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setCharacterEncoding("GB18030");// 获取PrintWriterPrintWriter out = response.getWriter();// 设置request的编码request.setCharacterEncoding("GB18030");// 获取用户名String name = request.getParameter("name");// 获取密码String password = request.getParameter("password");// 获取性别String sex = request.getParameter("sex");// 获取qq号码String qq = request.getParameter("qq");// 获取邮箱地址String mail = request.getParameter("mail");// 输出用户名out.println("用户名:" + name + "<br>");// 输出密码out.println("密码:" + password + "<br>");// 输出性别out.println("性别:" + sex + "<br>");// 输出qq号码out.println("qq号码:" + qq + "<br>");// 输出E-Mail地址out.println("E-Mail地址:" + mail + "<br>");out.flush();out.close();}}4、修改配置web.xml文件修改后的配置文件如下,下面红色的代码是我们要加的代码。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>sev</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><servlet><description></description><display-name>RegServlet</display-name><servlet-name>RegServlet</servlet-name><servlet-class>com.lyq.servlet.RegServlet</servlet-class></servlet><servlet-mapping><servlet-name>RegServlet</servlet-name><url-pattern>/servlet/RegServlet</url-pattern></servlet-mapping></web-app>作业:把提交的数据保存到数据库中(二)使用servlet3.0,servlet3.0中新增了新的功能,使用servlet3.0不必配置web.xml,因此使用更加方便。