IT虾米网

servlet+jsp+java实现Web应用详解

leader 2019年07月17日 编程语言 138 0

servlet+jsp+java实现Web应用

环境:

1,eclipse
2,tomcat
3,eclipse tomcat 插件

开发过程:

1,建立一个Dynamic Web Project

2,创建一个欢迎页面

页面可以是jsp/html,我们选择一个jsp页面(放在WebContent内)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<h1>Do you come in?</h1> 
<form method="post" action="hello.do"> 
    Select:<br> 
    <select> 
        <option>yes 
        <option>no 
    </select> 
    <center> 
        <input type="submit"> 
    </center> 
</form> 
</body> 
</html>

3,向工程添加一个servlet文件

package com.example; 
 
import java.io.IOException; 
import java.io.PrintWriter; 
 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
/** 
 * Servlet implementation class Welcome 
 */ 
@WebServlet("/Welcome") 
public class Welcome extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
 
    /** 
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
     */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
        // TODO Auto-generated method stub 
        response.setContentType("text/html"); 
        PrintWriter out = response.getWriter(); 
        String c = request.getParameter("select"); 
        if(c.equals("yes")) 
            out.print("Welcome!"); 
        else 
            out.print("I don't like you!"); 
         //带参跳到另一个页面 
         request.setAttribute("token", token); 
         request.getRequestDispatcher("welcome.jsp").forward(request,response); 
 
    } 
 
}

4,创建welcome.jsp页面,并接受参数值

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
 
<% 
String token = request.getParameter("token");//用request得到  
%> 
<style>   
        #ifr_fr{   
            width: 84%;   
            height: 700px;   
        }   
    </style>   
</head> 
<body > 
welcome to rzzx1. 
<iframe id="ifr_fr" name="ifr_fr" frameborder="0"  src=""></iframe> 
</body> 
</html>

5,创建一个web.xml

      web.xml用来建立servlet与jsp的关系(需要放在WEB-INF内)。

   根据不同的url来调用不同的servlet来进行处理。

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
  <display-name></display-name> 
  <servlet> 
    <servlet-name>Welcome</servlet-name>//要与下面的名称相同 
    <servlet-class>com.example.Welcome</servlet-class>//调用的类的位置 
   </servlet> 
   <servlet-mapping> 
    <servlet-name>Welcome</servlet-name> 
    <url-pattern>/hello.do</url-pattern>//url标识 
  </servlet-mapping> 
</web-app>

6,测试地址:http://localhost:8080/webtest/hello.do

7,可能会提示:HTTP method GET is not supported by this URL

解决方案:

public void doPost(HttpServletR…… 
改成: 
public void service(HttpServletR……

 

 

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Linux系统安装telnet以及xinetd服务详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。