JSP学习笔记之Servlet


老师在教JSP,我也正要学,老师布置了一个作业,让用Servlet实现星座的测试,努力了一天,终于搞定了,写下学习笔记吧。

首先当然是安装JDKTomcat了,不说了。

打开新建web应用下的WEB-INF文件夹下的web.xml文件,加入如下代码:

 <servlet> 
 
<servlet-name>augury </servlet-name> 
 
<display-name>augury </display-name> 
 
<servlet-class>augury </servlet-class> 
 
</servlet> 
 
<servlet-mapping> 
 
<servlet-name>augury </servlet-name> 
 
<url-pattern>/augury </url-pattern> 
 
</servlet-mapping>
 
<span><span>
</span></span>

用来声明Servlet程序,auguryServlet类名,这个类用Java语言写,生成类后存放在WEB-INF文件夹下classes文件夹中。

jsp文件夹下新建jsp.html文件,用记事本打开,输入如下代码:

<%@ page contentType="text/html;charset=GB2312"%>
<html>
<body bgcolor=#3300ff>
<center>
<br>
<br>
<img src="image/title.jpg">
<br>
 
<FORM METHOD=GET ACTION="augury">
<SELECT NAME="month">
<%for(int i = 1;i<=12;i++)
{%>
<OPTION VALUE="<%= i%>" ><%= i%>月
<%}%>
</SELECT>
<SELECT NAME="day">
<%for(int i = 1;i<=31;i++)
{%>
<OPTION VALUE="<%= i%>" SELECTED><%= i%>日
 
<%}%>
</SELECT><br>
<br>
<INPUT TYPE="submit" value=查询>
 
</FORM>
</body>
</html>

编写java程序,代码如下;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class xingzuo extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException
{
res.setContentType("text/html");
res.setCharacterEncoding("GB2312");
PrintWriter out = res.getWriter();
String getmonth = req.getParameter("month");
int month = new Integer(getmonth).intValue();
String getday = req.getParameter("day");
int day = new Integer(getday).intValue();
String test=req.getParameter("T1");
 
boolean err=false;
int xingzuonumber=0;
int fenjie[]={21,19,21,21,22,22,23,24,24,24,23,22};
int zuida[]={31,29,31,30,31,30,31,31,30,31,30,31};
String xingzuo[]={"水平座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","人马座","山羊座"};
String xingge[]=new String[12];
xingge[0]="这个星座常被称为'天才星座'或'未来星座'。";
xingge[1]="双鱼座是古老轮回的结束,这种古老轮回後的灵魂,是一种透澈。……";
xingge[2]="白羊座是十二星座中的第一个星座,代表著初生的原始灵魂和感觉。    ";
xingge[3]="金牛座是黄道的第二个星座,是'土象星座'的第一个星座,";
xingge[4]="基本上,双子座人的意志一直都是一体两面的积极与消极,";
xingge[5]="巨蟹座的人天生具有旺盛的精力和敏锐的感觉,";
xingge[6]="在十二星座中,狮子座是最具有权威感与支配能力的星座。";
xingge[7]="处女座的特色是有丰富的知性,做事一丝不苟,";
xingge[8]="天秤座的人爱好美与和谐,也相当仁慈并富有同情心,";
xingge[9]="这个星座的人有著强烈的第六感、神秘的探视能力及吸引力,";
xingge[10]="这个星座出生的人崇尚自由、无拘无束及追求速度的感觉,";
xingge[11]="就像是只走在高山绝壁的山羊一样稳健踏实,";
out.print("&lt;html&gt;");
out.print("&lt;body bgcolor=#3300ff&gt;");
out.print("&lt;center&gt;");
if(zuida[month-1]&lt;day)
{
err=true;
};
if(day&gt;= fenjie[month-1])
{
xingzuonumber=(month%12)+1;
}else{xingzuonumber=month;};
if (err)
{
out.print("您输入的生日有错误,请重新输入");
}else{
out.print("&lt;table border=1&gt;"+"&lt;tr&gt;");
 
out.print("&lt;td&gt;");
out.print("&lt;img src = 'image/"+ xingzuonumber + ".jpg'&gt;&lt;/td&gt;");
out.print("&lt;td&gt;");
out.print("您的生日是"+month+"月"+day+"日&lt;br&gt;"+"您的星座是"+xingzuo[(xingzuonumber+10)%12]+"&lt;br&gt;这个星座的特点是:"+xingge[(xingzuonumber+10)%12]+"&lt;font color=red&gt;&lt;a href = xingzuo.jsp&gt;点击返回首页");
}
 
//out.print(xingzuo[0]);
 
out.print("&lt;/tr&gt;&lt;/table&gt;&lt;/center&gt;");
out.print("&lt;/body&gt;");
out.print("&lt;/html&gt;");
}
}

中间输出省略。

如果显示无法加载servlet类,则需要设置在classpath中加入

%TOMCAT_HOME%\lib\servlet-api.jar;6.0以前的版本在common文件夹下。

res.setCharacterEncoding(“GB2312″);很重要,否则可能无法显示中文。

如果输出的字符串中有双引号,则需要把双引号改为单引号,否则,会报错。


版权信息:本文来自老杨个人网站,作者老杨原文地址,转载请注明出处。

如果喜欢本站,敬请订阅:老杨个人网站。谢谢惠顾!


分类: 信息技术
标签: , , ,

我要抢沙发

:emotion58 :emotion57 :emotion563 :emotion562 :emotion561 :emotion560 :emotion56 :emotion559 :emotion558 :emotion557 :emotion556 :emotion554 :emotion552 :emotion551 :emotion550 :emotion55 :emotion547 :emotion546 :emotion544 :emotion543 :emotion542 :emotion541 :emotion540 :emotion54 :emotion539 :emotion538 :emotion537 :emotion536 :emotion535 :emotion534 :emotion533 :emotion532 :emotion531 :emotion530 :emotion53 :emotion529 :emotion526 :emotion525 :emotion524 :emotion523 :emotion522 :emotion521 :emotion520 :emotion52 :emotion519 :emotion518 :emotion517 :emotion516 :emotion515 :emotion514 :emotion513 :emotion512 :emotion511 :emotion510 :emotion51 :emotion119 :emotion113