working webapp

This commit is contained in:
foo
2016-12-18 07:43:01 +00:00
parent 865b8df406
commit f35ea4c246
6 changed files with 114 additions and 97 deletions

13
war/WEB-INF/web.xml Executable file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Wordsearch creator</display-name>
<description>
Wordsearch building app
</description>
</web-app>

52
war/build.jsp Executable file
View File

@@ -0,0 +1,52 @@
<html>
<head>
<title>Wordsearch builder</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
padding: 2px 4px;
}
</style>
</head>
<%@ page import="uk.org.mafoo.wordsearch.*" %>
<%@ page import="java.util.*" %>
<%@ page errorPage="error.jsp" %>
<%
int height = Integer.parseInt(request.getParameter("height"));
int width = Integer.parseInt(request.getParameter("width"));
if (request.getParameter("words").length() > 2048) { throw new Exception("Input too large"); }
List<String> words = new ArrayList<String>();
for ( String line : request.getParameter("words").split("\r\n")) {
words.add(line.trim());
}
char[][] grid = GridFactory.makeGrid(words, height, width);
%>
<body>
<h1>Wordsearch builder</h1>
<h2>Words</h2>
<ul>
<% for (String word : words) { %>
<li><%= word.trim() %></li>
<% } %>
</ul>
<h2>Grid</h2>
<table style="font-family: monospace;">
<% for(char[] row : grid) { %>
<tr>
<% for(char c : row) { %>
<td><%= c %></td>
<% } %>
</tr>
<% } %>
</table>
<footer>
Generated
</footer>
</body>
</html>

6
war/error.jsp Executable file
View File

@@ -0,0 +1,6 @@
<HTML>
<BODY>
<%@ page isErrorPage="true" %>
Error: <%= exception %>
</BODY>
</HTML>

26
war/index.jsp Executable file
View File

@@ -0,0 +1,26 @@
<html>
<head><title>Wordsearch builder</title></head>
<body>
<h1>Wordsearch builder</h1>
<h2>Words</h2>
<form action="build.jsp">
<textarea name="words" rows="10">
Kitchen
Lounge
Study
Ballroom
Conservatory
Billiard Room
Library
Hall
Dining Room
</textarea>
<br />
<input type="number" name="height" min="3" max="50" value="5" />
<input type="number" name="width" min="3" max="50" value="5" />
<input type="submit" value="Build!" />
</form>
</body>
</html>