Jsp实习作业
一.实现两个数求和
1.实现过程描述:
写一个界面在这个界面中我们输入要计算的两个数据,如果输入错误的话就是用清零来清除原来的数据然后在重新输入,然后通过求和按钮将数据提交到指定的界面也就是servlet中通过request.getParameter(“name”)来取得输入的数据然后进行类型的转化在进行求和最后将所求的和输出到客户端,这时是一个标准的html文档,再通过浏览器将标准的html文档转化为一个可视化界面,也就是我们所看到的界面。
2.访问过程:
上面写的额这个也就是一个小的项目,所以我们想知道上面的提交的过程是怎么一回事,怎么把输入的数据传到servlet中,在WEB-INF 中我们要建立一个class文件夹lib文件夹和web.xml文件,其中classes文件夹中存放的是servlet被javac编译器编译后的.class文件在使用的过程中tomcat会调用这个文件的,而web.xml 中我们进行配置就是将访问的路劲进行配置,通过这个配置找到前面的class文件并把提交的数据获取进行相应的操作在输出: 也就是执行浏览器中输入的地址:localhost:8080/first/test1.jsp ;
3.实现代码:
(1)数据输入提交代码:
<%@page language ="java" contentType="text/html;chatset=GBK"%>
<html>
<head><title>hello first</title></head>
<body text="green">
<form action ="tess" method="get">
<center>
<h1>
两个数求和
</h1>
</center>
<h2>
请输入数据:<input type ="text" name="username">
+<input type ="text" name="password">
</h2>
<center>
<h3><input type ="submit" value="求和">
<input type ="reset" value="清零">
</h3>
</center>
<hr>
</form>
<img src="D:\u=3514610321,2163395432&fm=23&gp=0.jpg.gif">
</body>
</html>
(2)配置文件代码:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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">
<servlet>
<servlet-name>firstname</servlet-name>
<servlet-class>servlett1</servlet-class>
</servlet>
<!--这里的名称就是要一样不然的话就找不到这个类在url中访问的时候就是将这个要访问的服务器的ip地址要访问的项目以及配置文件里的 <url-pattern>/test</url-pattern>>
这里就是进行了映射-->
<servlet-mapping>
<servlet-name>firstname</servlet-name>
<url-pattern>/tess</url-pattern>
</servlet-mapping>
</web-app>
(3)计算过程代码:
sevlet.java文件即.class文件的源码:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class servlett1 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
String username=request.getParameter("username");
String passsword= request.getParameter("password");
int num1=0;
int num2=0;
num1=Integer.parseInt(username);
num2=Integer.parseInt(passsword);
int sum=num1+num2;
response.setContentType("text/html ;charset=GBK");
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>");
response.getWriter().println("新界面!");
response.getWriter().println("</title>");
response.getWriter().println("</head>");
response.getWriter().println("<body>");
response.getWriter().println("<h1>");
response.getWriter().println(num1+"+"+ num2+"="+ sum);
response.getWriter().println("</h1>");
response.getWriter().println("<hr>");
response.getWriter().println("<br>");
response.getWriter().println("</body>");
response.getWriter().println("</html>");
}
}
4 运行界面:
(1)数据输入界面:
(2)求得结果界面:
二.留言板:
1.实现过程:
实现过程的实质和上面的是相同的所以只是简单的描述一下;
首先我们要建议一个留言板页面,在文本框中输入留言(使用了<textarea name="doc" row="10" clos="40"></textarea>)这个标签来实现,然后点击提交就将留言提交到servlet中,然后再通过服务器输出到客户端。
2.实现代码:
(1)留言板界面:
<%@page language ="java" contentType="text/html;charset=GBK"%>
<html>
<head><title>留言板</title></head>
<body>
<form action ="three" method="">
留言:<br>
<textarea name="username" row="10" clos="40"></textarea>
<input type="submit" value="提交">
<input type="reset" value="清空">
</form>
</body>
</html>
(2)配置文件代码:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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">
<servlet>
<servlet-name>firstname</servlet-name>
<servlet-class>servlett3</servlet-class>
</servlet>
<!--这里的名称就是要一样不然的话就找不到这个类在url中访问的时候就是将这个要访问的服务器的ip地址要访问的项目以及配置文件里的 <url-pattern>/test</url-pattern>>
这里就是进行了映射-->
<servlet-mapping>
<servlet-name>firstname</servlet-name>
<url-pattern>/three</url-pattern>
</servlet-mapping>
</web-app>
(3)servlet 代码:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class servlett3 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
String username=request.getParameter("username");
response.setContentType("text/html ;charset=GBK");
response.getWriter().println("<html>");
response.getWriter().println("<head>");
response.getWriter().println("<title>");
response.getWriter().println("新界面!");
response.getWriter().println("</title>");
response.getWriter().println("</head>");
response.getWriter().println("<body>");
response.getWriter().println("<h3>");
response.getWriter().println("留言内容:");
//response.getWriter().println("<br>");
response.getWriter().println("<");
response.getWriter().println(username);
response.getWriter().println(">");
response.getWriter().println("</h3>");
response.getWriter().println("<hr>");
response.getWriter().println("<br>");
response.getWriter().println("<h1>");
response.getWriter().println("</body>");
response.getWriter().println("</html>");
}
}
3 运行界面:
(1)留言界面:
(2)浏览界面:
三.如果登陆成功跳转到success.jsp页面如果登录失败跳转到fault界面。
1.实现过程:
首先写一个登陆界面输入登录名和密码,然后点击登陆按钮,提交登录名和密码到servlet中,通过reques.getParameter() 来获得数据并进行判断如果相同则跳转到success界面( request.getRequestDispatcher("success.jsp").forward(request,response);)否则跳转到fault界面(request.getRequestDispatcher("fault.jsp").forward(request,response);)
2 实现代码:
(1)界面代码:
<%@page language ="java" contentType="html/text;charset=GBK"%>
<html>
<head><title>界面</title></head>
<body text="green">
<form action ="tess" method="get">
<center>
<h3>
温馨提示:首次访问要进行注册!
<h3>
<br>
<h1>
欢迎更多的朋友前来注册访问!
</h1>
<h2>
<tr><td>
用户名:<input type ="text" name="username">
</td></tr>
<br>
<tr><td>
密码:<input type ="password" name="password">
</h2>
</td></tr>
<h1>
<tr><td><input type ="submit" value="登陆">
</td></tr>
<tr><td>
<input type ="reset" value="重置">
</td></tr>
</h1>
</center>
<hr>
</form>
<img src="D:\u=3514610321,2163395432&fm=23&gp=0.jpg.gif">
</body>
</html>
(2)servlet代码:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class servlett6 extends HttpServlet{
public void doGet(HttpServletRequest request ,HttpServletResponse response)
throws ServletException,IOException {
String username= request.getParameter("username");
String password= request.getParameter("password");
response.setContentType("text/html;charset=GBK");
if(username.equals("admin")&&password.equals("000")){
request.getRequestDispatcher("success.jsp").forward(request,response);
}
else request.getRequestDispatcher("fault.jsp").forward(request,response);
}
}
(3)登陆成功跳转界面:
<%@ page language ="java" contentType="text/html;charset=gbk"%>
<html>
<head><title>登陆成功</title></head>
<body text="green">
<form >
<hr>
<center>
<h3>注册成功!</h3>
<hr>
</center>
<h1>
你已经是我们这个大家庭的一员了所以我们希望你们常来支持!
</h1>
</form>
</body>
</html>
(4)登陆失败后跳转的界面:
<%@ page language ="java" contentType="text/html;charset=gbk"%>
<html>
<head><title>注册失败</title></head>
<body text="green">
<form >
<hr>
<center>
<h3>你注册失败!</h3>
<hr>
</center>
<h1>
请重新填写!
</h1>
</form>
</body>
</html>
3:运行结果:
(1)登陆界面:
(2)登陆成功界面:
(3)登陆失败界面: